X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/cd3a93a14689f046468ece2a5b1f78863c3c4cd2..71117e730c4f62458b30af820f51890487b458e4:/fuzz.py diff --git a/fuzz.py b/fuzz.py index fdd4917..6330c58 100644 --- a/fuzz.py +++ b/fuzz.py @@ -42,8 +42,8 @@ def test_idempotent_any_syntatically_valid_python( try: dst_contents = black.format_str(src_contents, mode=mode) except black.InvalidInput: - # This is a bug - if it's valid Python code, as above, black should be - # able to code with it. See issues #970, #1012, #1358, and #1557. + # This is a bug - if it's valid Python code, as above, Black should be + # able to cope with it. See issues #970, #1012, #1358, and #1557. # TODO: remove this try-except block when issues are resolved. return @@ -56,4 +56,17 @@ def test_idempotent_any_syntatically_valid_python( if __name__ == "__main__": + # Run tests, including shrinking and reporting any known failures. test_idempotent_any_syntatically_valid_python() + + # If Atheris is available, run coverage-guided fuzzing. + # (if you want only bounded fuzzing, just use `pytest fuzz.py`) + try: + import sys + import atheris + except ImportError: + pass + else: + test = test_idempotent_any_syntatically_valid_python + atheris.Setup(sys.argv, test.hypothesis.fuzz_one_input) + atheris.Fuzz()