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 ENV
andsource 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/coverage
and 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
.