Coverage for /pythoncovmergedfiles/medio/medio/src/django-fuzzers/basic_fuzzer.py: 41%
29 statements
« prev ^ index » next coverage.py v7.0.5, created at 2023-01-17 06:13 +0000
« prev ^ index » next coverage.py v7.0.5, created at 2023-01-17 06:13 +0000
1###### Coverage stub
2import atexit
3import coverage
4cov = coverage.coverage(data_file='.coverage', cover_pylib=True)
5cov.start()
6# Register an exist handler that will print coverage
7def exit_handler():
8 cov.stop()
9 cov.save()
10atexit.register(exit_handler)
11####### End of coverage stub
12import sys
14import atheris
16with atheris.instrument_imports():
17 import fuzzers
20def TestOneInput(data):
21 fdp = atheris.FuzzedDataProvider(data)
22 choice = fdp.ConsumeIntInRange(0, len(fuzzers.tests) - 1)
23 func, data_type = fuzzers.tests[choice]
25 if data_type == str:
26 data = fdp.ConsumeUnicodeNoSurrogates(sys.maxsize)
27 elif data_type == bytes:
28 data = fdp.ConsumeBytes(sys.maxsize)
29 elif data_type == int:
30 data = fdp.ConsumeInt(sys.maxsize)
32 try:
33 func(data)
34 except Exception:
35 print(func, data_type, repr(data))
36 raise
39atheris.Setup(sys.argv, TestOneInput)
40atheris.Fuzz()