Commit Graph

80 Commits

Author SHA1 Message Date
Max Moroz f1e7093d22
[infra] profile command: do not fail hard if some fuzz targets have no corpus. (#1719)
* [infra] profile command: do not fail hard if some fuzz targets have no corpus.

* Change listing to corpus_listing to be more explicit.

* Address review comment from Abhishek
2018-08-16 11:41:39 -07:00
Max Moroz dc8b440fe9
[infra] Follow-up for the incorrect extraction of WORKDIR from a Dockerfile (#1699). (#1702)
* [infra] Follow-up for the incorrect extraction of WORKDIR from a Dockerfile (#1699).

* Return an error if local checkout used with "WORKDIR /src".
2018-08-09 18:04:37 -07:00
Max Moroz 8d3e462bd6
[infra] Prevent mounting local checkout to $SRC + clean up Dockerfiles (#1699). (#1700) 2018-08-09 12:29:31 -07:00
Max Moroz 645a0375fe
[infra] Support extra arguments for llvm-cov + update the binaries. (#1629)
* [infra] Support extra arguments for llvm-cov + update the binaries.

* Slightly change the doc to be less confusing.
2018-07-19 15:58:58 -07:00
Oliver Chang 621cb43076
helper: Better support for building from local source (#1589). (#1595)
Parse WORKDIR from the Dockerfile and use that to mount in the local
source.
2018-07-04 14:23:23 +10:00
Abhishek Arya 4e87bd622d
Revert "Add support for running perffuzz in infra/helper.py (#1540)" (#1578)
This reverts commit 7f26e2fd92.
2018-06-28 06:11:32 -07:00
Abhishek Arya 7f26e2fd92
Add support for running perffuzz in infra/helper.py (#1540)
* Add support for running perffuzz in infra/helper.py
https://github.com/carolemieux/perffuzz

* Update compile_perffuzz

* Update run_fuzzer
2018-06-19 15:02:00 -07:00
Max Moroz 9874e09f53
[infra] helper.py: support "profile" command for a single fuzz target with arbitrary corpus location. (#1535)
* [infra] helper.py: support "profile" command for a single fuzz target with arbitrary corpus location.

* Address review feedback.

* Update code_coverage.md page.
2018-06-18 14:19:48 -07:00
Alex Gaynor d48b11f529 [infra] helper.py: rewrite conditional to be more readable and idiomatic (#1534)
* Rewerite conditional to be more readable and idiomatic

* In fact, simplify further
2018-06-18 11:13:36 -07:00
Max Moroz 6d72d18132 [infra] helper.py profile: do not append project name prefix to fuzz target name if it is there. 2018-06-18 10:57:09 -07:00
Max Moroz 95a3d83a69 [infra] profile: do not run fuzz targets if corpus downloading has failed. 2018-06-18 10:44:42 -07:00
Max Moroz 883cdcf3b0
[infra] Fix helper.py as per feedback from @evverx + fix issues from #1519. (#1520)
* [infra] Fix helper.py as per feedback from @evverx + fix issues from #1519.

* Remove stuff from local testing

* Suppress unnecessary output from GSUtil.
2018-06-15 10:44:18 -07:00
Alex Gaynor 82108f6083 Refs #799 -- use python to listdir instead of shelling out to find (#1519) 2018-06-15 08:20:27 -07:00
Max Moroz 20e55ce3b1
[infra] Enable clange code coverage reports generation for local runs. (#1494)
* [infra] Enable clange code coverage reports generation for local runs.

* Use runner image and move corpus management to the helper.py
.

* Clean up, delete unnecessary stuff, add comments.

* Run fuzz targets in parallel. Do not exit in case of an error.

* Address review feedback, except of the threading thing.

* Fix a typo.

* Use ThreadPool implementatino available in standard python2.7 package.

* Add dry run support + no corpus download option.

* Fix flags handling + add log output in case of an error.

* Append arguments for fuzz target instead of replacing them.

* Remove dry run functionality as it currently errors out after two runs.

* Fix some spacing in the code.

* Update documentation regarding new code coverage script.
2018-06-14 15:00:46 -07:00
Alex Gaynor 1bfe76536e Some small cleanups for helper.py + a py3k fix (#1513) 2018-06-13 09:26:08 +10:00
Abhishek Arya f70beebef4
Don't allow project names longer than 26 characters. (#1507)
This is required to have service accounts with name of the form
bot-<project_name> which needs to be within 30 characters.
2018-06-12 08:21:58 -07:00
Oliver Chang 59c32cdca0
Add MSAn instrumented libraries steps to build_fuzzers (#1419). (#1482) 2018-06-05 09:12:53 +10:00
Max Moroz 65ac8a3ba8 [infra] Bring 'profile' configuration back to helper.py for testing coverage. 2018-05-23 11:34:07 -07:00
Abhishek Arya 8b756828bc
Remove prompts in build_fuzzers, keep no clean as default. (#1403) 2018-05-08 07:24:57 -07:00
Abhishek Arya 04395afc00
Clean artifacts in /out as part of build_fuzzers (#1384) (#1389)
* Clean artifacts in /out as part of build_fuzzers.

* Add prompt before build directory clean, also --no-clean option.
2018-04-30 21:01:48 -07:00
Abhishek Arya 43fd25f26a
Add check_build command to infra/helper.py (Fix #1356) (#1379)
* Add check_build command to infra/helper.py

* Add exit message.
2018-04-29 18:44:22 -07:00
fenner 37c4a2c8e5 Allow passing environment variables to reproducer (#1312) 2018-04-11 10:12:13 -07:00
Oliver Chang 52f5934785 helper: use return code from docker run for reproduce, run_fuzzer.
Fixes #1246.
2018-03-16 09:51:52 +11:00
htuch 9761e6519d Revert "infra/helper: persist /root directory via bind mount." (#1133)
* Revert "[Envoy] Add project. (#1130)"

This reverts commit d0fc0203d2.

* Revert "Fix Skia compile (#1132)"

This reverts commit 4bf9e7f8fc.

* Revert "Propose graphics magick for inclusion in OSS-Fuzz (#1131)"

This reverts commit cb277ccb68.

* Revert "[json-c] Add project (#1123)"

This reverts commit 31b00466ff.

* Revert "[infra] Update upload URL timeout to be the same as build timeout (#1112)"

This reverts commit 92152969c5.

* Revert "infra/helper: persist /root directory via bind mount. (#1125)"

This reverts commit b77745ab6c.
2018-02-02 12:51:22 -08:00
htuch b77745ab6c infra/helper: persist /root directory via bind mount. (#1125)
For Bazel builds, this preserves the Bazel cache across multiple
invocations of build_fuzzers, which significantly speeds up the build
and reduces the debug cycle for new projects.

Signed-off-by: Harvey Tuch <htuch@google.com>
2018-02-01 13:32:49 +11:00
htuch e4a484aabe coverage: docs and infra/helper.py fix. (#1126)
While trying to get a coverage report for a new project (Envoy),
building with the coverage sanitizer seemed necessary to get the
coverage files dumped.

Signed-off-by: Harvey Tuch <htuch@google.com>
2018-01-30 11:35:32 -08:00
Jonathan Rudenberg b382e89867 [infra] Allow passing environment variables to run_fuzzer (#1075)
This allows setting additional sanitizer options, for example:

    run_fuzzer -e ASAN_OPTIONS=-allocator_may_return_null=0
2018-01-15 10:42:16 -08:00
Max Moroz d2805976a2 [infra] Increase copyright year in the templates automatically. 2018-01-12 12:49:40 -08:00
Max Moroz c069a7c780 Revert of "[infra] Reland profile configuration needed for new code coverage.".
See more information in comments for PR #1050.
2017-12-28 15:10:53 -08:00
Max Moroz add7bbbb2d
[infra] Reland profile configuration needed for new code coverage. (#1050) 2017-12-28 11:10:47 -08:00
Oliver Chang f0a2aec376
Update helper.py 2017-12-08 12:45:59 -08:00
Oliver Chang 312cd47208 Add priliminary support for "engine-less" builds.
Needed for #925.
2017-10-31 15:22:58 +11:00
Max Moroz 55c0ea6d97 [infra] Temporarily disable sanitizer=profile build configuration. 2017-10-20 20:34:01 -07:00
Oliver Chang fa41e6a949 Add script for testing sandbox. 2017-10-16 15:54:58 -07:00
Max Moroz 6a6163110a [infra] Add another coverage build using Clang Source-based Code Coverage. (#804)
* [infra] Add another coverage build using Clang Source-based Code Coverage.

* [infra] Remove redundant compile_coverage script.
2017-08-31 13:43:06 -07:00
Oliver Chang 59ce244d97 [infra] helper: don't set BUILD_UID. 2017-07-17 19:07:27 -07:00
robertswiecki 268d8052a2 Support honggfuzz as a FUZZING_ENGINE (#636) 2017-06-01 17:55:01 -07:00
Oliver Chang c093b7101d [infra] Make coverage run with dict and options. 2017-05-31 12:44:25 -07:00
Oliver Chang f576b352b4 [helper] Add a check for valid project name when generating files. 2017-05-12 15:58:13 -07:00
Abhishek Arya 43838854c1 Add valgrind support in reproduce command (#596)
* Add valgrind support in infra/helper.py, fixes #592.

* Fix spacing.
2017-05-10 14:32:01 -07:00
Oliver Chang cfba9598d7 [helper] Add a prompt to build_image command for pulling base images. (#595) 2017-05-10 13:49:09 -07:00
Oliver Chang 75b9282e83 Add --pull argument to build_image. 2017-05-09 12:34:59 -07:00
Alex Gaynor 9db317d3b5 Added environment and sanitizer flag support to shell command (#519) 2017-04-05 18:13:20 -07:00
David Tardon 0f66138ef4 fix param name (#516) 2017-04-05 08:56:39 -07:00
Oliver Chang 649ab84a2f [infra] Remove --no-pull-base-images.
This is redundant. We can just call `build_image` directly to bypass
cache and not pull.
2017-03-30 14:00:22 -07:00
Oliver Chang f4716b0c1e [infra] helper.py: Bypass docker cache if build_image is called explicitly.
Fixes #479 and #487.
2017-03-30 13:53:19 -07:00
Oliver Chang 5a0b81b644 [infra] Clean up helper.py and don't pull project images (#487)
We still pull base-images by default, but this can be overriden by
passing `--no-pull-base-images`. e.g.

`python helper.py --no-pull-base-images build_image project`.
2017-03-30 13:32:56 -07:00
Oliver Chang 435e03555d [infra] helper: Actually fix base image name 2017-03-28 14:14:10 -07:00
Oliver Chang 1cf792d9b1 [infra] Fix helper base image project. 2017-03-28 14:04:34 -07:00
Oliver Chang 60835ac420 oss-fuzz/BASE_IMAGE -> oss-fuzz-base/BASE_IMAGE 2017-03-22 12:12:51 -07:00