mirror of https://github.com/google/oss-fuzz.git
0fe8dae146
## Description This will make it easier to debug coverage failures that are not reproducible locally. The failure that I am trying to debug: - https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=62231 - https://oss-fuzz-build-logs.storage.googleapis.com/log-c420cf0c-f073-4c42-b75c-422971ef272e.txt ``` Step #5: Already have image (with digest): gcr.io/oss-fuzz-base/base-runner Step #5: Entering python fuzzing Step #5: Error happened getting coverage of fuzz_parse Step #5: This is likely because Atheris did not exit gracefully ``` Similar log data is displayed in other blocks: |
||
---|---|---|
.. | ||
gocoverage | ||
Dockerfile | ||
README.md | ||
bad_build_check | ||
coverage | ||
coverage_helper | ||
download_corpus | ||
generate_differential_cov_report.py | ||
install_deps.sh | ||
install_go.sh | ||
install_java.sh | ||
install_javascript.sh | ||
jacoco_report_converter.py | ||
nyc_report_converter.py | ||
parse_options.py | ||
profraw_update.py | ||
python_coverage_runner_help.py | ||
rcfilt | ||
reproduce | ||
run_fuzzer | ||
ruzzy | ||
targets_list | ||
test_all.py | ||
test_all_test.py | ||
test_one.py |
README.md
base-runner
Base image for fuzzer runners.
docker run -ti gcr.io/oss-fuzz-base/base-runner <command> <args>
Commands
Command | Description |
---|---|
reproduce <fuzzer_name> <fuzzer_options> |
build all fuzz targets and run specified one with testcase /testcase and given options. |
run_fuzzer <fuzzer_name> <fuzzer_options> |
runs specified fuzzer combining options with .options file |
test_all.py |
runs every binary in /out as a fuzzer for a while to ensure it works. |
coverage <fuzzer_name> |
generate a coverage report for the given fuzzer. |
Examples
- Reproduce using latest OSS-Fuzz build:
docker run --rm -ti -v <testcase_path>:/testcase gcr.io/oss-fuzz/$PROJECT_NAME reproduce <fuzzer_name>
- Reproduce using local source checkout:
docker run --rm -ti -v <source_path>:/src/$PROJECT_NAME \ -v <testcase_path>:/testcase gcr.io/oss-fuzz/$PROJECT_NAME \ reproduce <fuzzer_name>