Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tidy up, and add harness for examples #27

Merged
merged 4 commits into from Jan 13, 2020
Commits on Jan 12, 2020
  1. Fix the zipfile example for Python 2; and rename it.

    gerph committed Jan 11, 2020
    The examples/csv/fuzz.py is actually testing the zipfile module,
    so it has been renamed to reflect this. There are slight differences
    in the Python 2 usage, which I've harmonised in the module.
  2. Update the xml and htmlparser examples to work on Python 2.

    gerph committed Jan 11, 2020
    Some simple checks for the behaviour of the modules under Python
    2 compared to Python 3.
  3. Add a harness to run all the example fuzzers.

    gerph committed Jan 11, 2020
    The example fuzzers provide a useful way to see how you might use
    the pythonfuzz package. However, they're no use if they don't work.
    Adding a tool that is able to run them all, and report on their
    status will ensure that these do not get broken in the future.
    
    The tool is able to be configured with the number of runs that it
    expects to execute, and whether it will keep any crash or timeout
    files that are generated. At the end of the run of each example,
    it will report the collected information from the run. This should
    be useful for checking the performance in the future, as well.
    
    If any of the examples fails to function - ie it reports an error
    itself, then the runner will exit with a non-0 return code. This
    will allow it to be used as a gate for the examples being functional.
  4. Update the executable used to run the examples to be the same as harn…

    gerph committed Jan 12, 2020
    …ess.
    
    In order to have an easy way to control which python runs the examples,
    make the python version used into the one used by the harness itself.
    That way if you invoke it with Python 3, it'll test with Python 3.
You can’t perform that action at this time.