diff options
author | 2022-03-14 18:41:42 +0100 | |
---|---|---|
committer | 2022-03-14 13:41:42 -0400 | |
commit | 4e962ea940ea0e160c23e9b9f331609a5417c6cc (patch) | |
tree | 281e416d1fffdda7fd11337bdfa7d5d0ce280b7e | |
parent | aa99b6f760304d602fa42922e594397aaaef4d27 (diff) |
Modernize a bit the pygments fuzzer (#7382)
- Use atheris.instrument_all(), since pygments uses a custom importer
- Get rid of the useless main(), to make the two fuzzers similar
- Narrow an expected exception type
Co-authored-by: Julien Voisin <jvoisin@google.com>
-rw-r--r-- | projects/pygments/fuzz_guesser.py | 22 | ||||
-rw-r--r-- | projects/pygments/fuzz_lexers.py | 11 |
2 files changed, 15 insertions, 18 deletions
diff --git a/projects/pygments/fuzz_guesser.py b/projects/pygments/fuzz_guesser.py index ecc2411c..30348c79 100644 --- a/projects/pygments/fuzz_guesser.py +++ b/projects/pygments/fuzz_guesser.py @@ -15,24 +15,20 @@ # limitations under the License. import atheris -with atheris.instrument_imports(): - import sys - import pygments - import pygments.lexers -@atheris.instrument_func +import sys +import pygments +import pygments.lexers +import pygments.util + def TestOneInput(data: bytes) -> int: try: lexer = pygments.lexers.guess_lexer(str(data)) - except ValueError: + except pygments.util.ClassNotFound: return 0 return 0 -def main(): - atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True) - atheris.Fuzz() - - -if __name__ == "__main__": - main() +atheris.instrument_all() +atheris.Setup(sys.argv, TestOneInput) +atheris.Fuzz() diff --git a/projects/pygments/fuzz_lexers.py b/projects/pygments/fuzz_lexers.py index 0d610c10..3c0b5bfe 100644 --- a/projects/pygments/fuzz_lexers.py +++ b/projects/pygments/fuzz_lexers.py @@ -15,11 +15,11 @@ # limitations under the License. import atheris -with atheris.instrument_imports(): - import sys - import pygments - import pygments.formatters.html - import pygments.lexers + +import sys +import pygments +import pygments.formatters.html +import pygments.lexers formatter = pygments.formatters.html.HtmlFormatter() # pygments.LEXERS.values() is a list of tuples like this, with some of then empty: @@ -36,5 +36,6 @@ def TestOneInput(data: bytes) -> int: return 0 +atheris.instrument_all() atheris.Setup(sys.argv, TestOneInput) atheris.Fuzz() |