[docs] Clean up the conflicts in reproducing.md. (#1428)

* [docs] Clean up the conflicts in reproducing.md.

* Add engine arg everywhere + move bad build checks instruction back to the bottom

* Remove enginge argument from instructions not related to build checks
This commit is contained in:
Max Moroz 2018-05-18 15:03:45 -07:00 committed by GitHub
parent 9cf647f1f4
commit 6428bf6611
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 16 deletions

View File

@ -29,6 +29,8 @@ If you are not sure how to build the fuzzer using the project's build system,
you may also use Docker ([how?](installing_docker.md), [why?](faq.md#why-do-you-use-docker)) commands you may also use Docker ([how?](installing_docker.md), [why?](faq.md#why-do-you-use-docker)) commands
to replicate the exact build steps used by OSS-Fuzz and then feed the reproducer input to the fuzz target. to replicate the exact build steps used by OSS-Fuzz and then feed the reproducer input to the fuzz target.
## Building using Docker
### Pull the latest Docker images ### Pull the latest Docker images
```bash ```bash
@ -39,23 +41,13 @@ $ python infra/helper.py pull_images
configurations, scripts, and other changes. In some cases, a particular issue configurations, scripts, and other changes. In some cases, a particular issue
can be reproduced only with a fresh image being used. can be reproduced only with a fresh image being used.
### Reproduce crashes with Docker ### Build the image and the fuzzers
- *Reproduce using latest OSS-Fuzz build:*
## Building using Docker
```bash ```bash
$ python infra/helper.py build_image $PROJECT_NAME $ python infra/helper.py build_image $PROJECT_NAME
$ python infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> $PROJECT_NAME $ python infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> $PROJECT_NAME
``` ```
## Reproducing build checks
Our infrastructure runs some sanity tests to make sure that your build was correctly configured, even if it succeeded. To reproduce these locally, run:
```bash
$ python infra/helper.py check_build --sanitizer <address/memory/undefined> $PROJECT_NAME <fuzz_target_name>
```
## Reproducing bugs ## Reproducing bugs
```bash ```bash
$ python infra/helper.py reproduce $PROJECT_NAME <fuzz_target_name> <testcase_path> $ python infra/helper.py reproduce $PROJECT_NAME <fuzz_target_name> <testcase_path>
@ -84,11 +76,10 @@ $ python infra/helper.py reproduce $PROJECT_NAME <fuzz_target_name> <testcase_pa
- *Submit fix*. Submit the fix in the project's repository. ClusterFuzz will automatically pick up the changes, recheck the testcase and will close the issue (in &lt; 1 day). - *Submit fix*. Submit the fix in the project's repository. ClusterFuzz will automatically pick up the changes, recheck the testcase and will close the issue (in &lt; 1 day).
- *Improve fuzzing support*. Consider [improving fuzzing support](ideal_integration.md) in your project's build and test system. - *Improve fuzzing support*. Consider [improving fuzzing support](ideal_integration.md) in your project's build and test system.
## Reproducing build checks
### Reproducing OSS-Fuzz bad build failures Our infrastructure runs some sanity tests to make sure that your build was correctly configured, even if it succeeded. To reproduce these locally, run:
```bash ```bash
$ python infra/helper.py build_image $PROJECT_NAME $ python infra/helper.py build_image $PROJECT_NAME
$ python infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> $PROJECT_NAME $ python infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> --engine <libfuzzer/afl/hongfuzz> $PROJECT_NAME
$ python infra/helper.py check_build $PROJECT_NAME <fuzz_target_name> $ python infra/helper.py check_build --sanitizer <address/memory/undefined> --engine <libfuzzer/afl/hongfuzz> $PROJECT_NAME <fuzz_target_name>```
```