Status: Early prototype phase
The tools supports various tasks (e.g. reproduce a crash locally) needed by ClusterFuzz's users.
pip install clusterfuzz
See clusterfuzz --help.
Currently, it supports reproducing a crash locally. In the future, it will support uploading a fuzzer, tailing fuzzer log, and uploading a testcase.
- Install virtualenv.
- Setting up virtualenv by running
virtualenv ENVandsource ENV/bin/activate. - Install dependencies by running
pip install -r requirements.txt. - Build "the development mode" binary by running
pip install -e .. - Run the binary by running
clusterfuzz --help. - Run the tests
python test.py --help. - Run the tests with coverage
coverage run test.py. - Generate the report with
coverage html -d /tmp/coverageand see/tmp/coverage/index.html.
Please note that we need to run pip install -e . before running clusterfuzz if the code has been changed.
- Create and merge a pull request to increase the version number.
- Clear previously built artifacts with
rm -rf dist. - Build artifact by running
python setup.py sdist bdist_wheel. - Upload to pypi.python.org by running
twine upload dist/*. - Tag the current version with
git tag -a <version> -m "Version <version>". - Push the tag
git push --tags.