Commit Graph

811 Commits

Author SHA1 Message Date
Evgeny Vereshchagin 8f5657fae3 infra: add a command for downloading all corpora for a project from GCS (#2010)
This partly addresses https://github.com/google/oss-fuzz/issues/2006.
2018-12-11 14:30:54 +11:00
Max Moroz 2d1a956fcf [infra] Enable debugging mode for srcmap script to make its failures more obvious. 2018-12-10 10:11:40 -08:00
Max Moroz 9eb9f3bb63 [infra] Follow-up fix for bad_build_check script (#1990). 2018-11-30 12:38:08 -08:00
Max Moroz 7c2f32f748
[infra] Add return value to bad_build_checks script. (#1993) 2018-11-30 11:15:51 -08:00
Oliver Chang 3d662e1bec
Add support for tags field in project.yaml (#1974) (#1980)
* Add support for tags field in project.yaml (#1974)

Also add "sundew" label to libxml2_xml_reader_for_file_fuzzer.

These add additional labels in filed bugs.
2018-11-27 16:46:26 +11:00
Evgeny Vereshchagin 3740c751fd [infra] base-runner: remove strict_string_check from ASAN_OPTIONS (#1972)
Whether string_string_checks will be turned on or not is
being discussed in https://github.com/google/oss-fuzz/issues/542.
Until it's settled, it'd probably be better to remove the option
from ASAN_OPTIONS altogether so as not to confuse anybody.
2018-11-26 09:57:09 -08:00
Abhishek Arya 7de7a3afad
Add checksum_fuzzer to bad build check exclusions
This is due to small number of edges in the fuzz target
2018-11-11 07:16:34 -08:00
Max Moroz 6def182595
[infra] Clarify "run_fuzzer" and "shell" commands and remove "profile". (#1939) 2018-11-09 09:24:54 -08:00
Evgeny Vereshchagin 3358b336be [infra]: place the findings of fuzzers run with `helper.py run_fuzzer` in $OUT (#1922)
When `libFuzzer` is used as a fuzzing engine it conveniently puts
everything it finds into its working directory, which happens to
be $OUT. When any other engine is used, the output is sent to /tmp,
which disappears as soon as the container stops. That makes it
unnecessarily hard to extract reproducers found by afl for further analysis
without joining the mount namespace of a running container and
almost impossible with `honggfuzz`, that exits immediately after a crash.
2018-11-08 09:27:46 +11:00
Luca Berton b05d5d8b26 Fix typos in docs (#1934) 2018-11-07 06:20:13 -08:00
Abhishek Arya bbac75cdef
Revert "Revert "[infra] also pass dictionaries when `afl` or `honggfuzz` is used as a fuzzing engine (#1925)" (#1927)" (#1928)
This reverts commit 6c6934dc8b.
2018-11-06 08:30:58 -08:00
Max Moroz 6c6934dc8b
Revert "[infra] also pass dictionaries when `afl` or `honggfuzz` is used as a fuzzing engine (#1925)" (#1927)
This reverts commit 56fc756fc9.
2018-11-06 08:00:43 -08:00
Evgeny Vereshchagin 56fc756fc9 [infra] also pass dictionaries when `afl` or `honggfuzz` is used as a fuzzing engine (#1925)
Currently, dictionaries are taken into account only when `libfuzzer` is
used as a fuzzing engine (and also apparently `none` but I'm not sure what it is).
This patch makes it possible to make use of dictionaries with other fuzzing
engines too. I didn't touch the code handling options passed to libFuzzer
so as not to break anything :-)
2018-11-06 07:52:24 -08:00
Abhishek Arya d29c322809
Revert "Update requests version 2.2.0" (#1921)
* Revert "Update requests version (#1913)"

This reverts commit 96fce46d4a.
2018-11-03 07:40:30 -07:00
jonathanmetzman 96fce46d4a
Update requests version (#1913) 2018-10-30 13:16:15 -07:00
Max Moroz 66f8069ff1 [infra] Use -pthread instead of -Wl,-lpthread (fixes #1886). 2018-10-22 07:24:42 -07:00
Max Moroz fdd28c42e9
[infra] Add srcmap step to code coverage job (follow-up #1547). (#1868) 2018-10-11 13:52:49 -07:00
Max Moroz 5c263869ae
[infra] Fix missing linking dependencies for coverage build (#1858). (#1863) 2018-10-09 11:04:03 -07:00
pdknsk 7b179a4a24 fix hg revision with uncomitted changes (#1849) 2018-10-02 10:52:49 -07:00
Max Moroz d39e0f7ea0 [infra] Restore srcmap binary back to base-builder image (follow-up #1848). 2018-10-01 23:13:59 -07:00
Abhishek Arya 4afcfab869
Revert "[infra] Remove srcmap related commands from gcb script (follow-up #1839)." (#1848)
This reverts commit f132eaf19c.
2018-10-01 22:34:05 -07:00
Max Moroz f132eaf19c [infra] Remove srcmap related commands from gcb script (follow-up #1839). 2018-10-01 08:02:38 -07:00
Max Moroz 7703e360de
[infra] Remove sancov and rename "profile" to "coverage". (#1839)
* [infra] Remove sancov and rename "profile" to "coverage".

* Bring coverage flags back.

* Update projects files that rely on SANITIZER="profile".
2018-10-01 06:43:21 -07:00
Max Moroz 2331c308cd [infra] Use -merge=1 instead of -runs=0 for coverage (#1743, follow-up #1547). 2018-09-25 17:22:07 -07:00
Max Moroz e348738942 [infra] Bump LLVM revision to r342582 to fix MSan issues. 2018-09-19 13:23:42 -07:00
Max Moroz 4867091719 [infra] Code Coverage: fix build_and_run_coverage.py. 2018-09-12 07:01:21 -07:00
Max Moroz 8f687dfdad [infra] Code Coverage: update download_corpus script and revert #1798. 2018-09-11 12:26:59 -07:00
Max Moroz e6e71d0a92 [infra] Do not fail coverage job if corpus download failed (#1798, follow-up #1547). 2018-09-06 13:19:20 -07:00
Max Moroz 60f9023008
[infra] Add report date to the latest report info + fix format strings (follow-up #1547). (#1791) 2018-09-04 18:13:18 -07:00
pdknsk 6ed5fe8ed5 allow folded style for coverage_extra_args (#1786) 2018-09-05 09:27:57 +10:00
Max Moroz 2d09a7e80f
[infra] Code Coverage latest report info to be picked up by CF (follow-up #1547). (#1781)
* [infra] Code Coverage latest report info to be picked up by CF (follow-up #1547).

* Remove unintentional change.

* Remove unnecessary empty lines.
2018-09-03 10:40:23 -07:00
Max Moroz 72b82ee08f [infra] Code Coverage: use -close_fd_mask=3 to speed up noisy fuzz targets. 2018-08-31 15:43:07 -07:00
Max Moroz 733c896ce5
[infra] Support extra coverage args in project.yaml (fix #1726, follow-up #1547). (#1774)
* [infra] Support extra coverage args in project.yaml (fix #1726, follow-up #1547).

* Update the documentation page.

* Fix review comments by Jonathan.
2018-08-30 09:46:14 -07:00
Max Moroz c5a9204ae7
[infra] Code Coverage: copy /usr/include headers and upload logs to GCS (follow-up #1547). (#1764) 2018-08-27 08:25:29 -07:00
Max Moroz 1bc9bb0b65
[infra] Update build_status to support two build types + cleanup (#1743, #1547). (#1758)
* [infra] Update build_status to support two build types + cleanup (#1743, #1547).

* Minor fixes.

* Remove default value for status_filename argument.
2018-08-27 06:46:17 -07:00
Max Moroz 23a04ab280
[infra] Use 'coverage' and 'fuzzing' tags to filter builds (follow-up #1547). (#1751)
* [infra] Use 'coverage' and 'fuzzing' tags to filter builds (follow-up #1547).

* Remove unintentional print call.

* Remove a variable that is not used anympre.
2018-08-23 19:14:09 -07:00
Max Moroz 649d3a7708
[infra] use -src-root-dir=/ and fail hard on errors (follow-up #1547). (#1746) 2018-08-23 08:09:52 -07:00
Max Moroz 7c476809f3
[infra] Skip code coverage job for projects that are disabled (#1743, #1547). (#1745)
* [infra] Skip code coverage job for projects that are disabled.

* Remove unintentional change.

* Address review feedback.
2018-08-22 14:14:02 -07:00
Max Moroz 204110f6bb
[infra] Skip coverage job for projects w/o fuzz targets (fix #1743, follow-up #1547). (#1744)
* [infra] Skip coverage job for projects w/o fuzz targets (fix #1743, follow-up #1547).

* Use build_id=0 and a more generic message.
2018-08-22 08:55:59 -07:00
Max Moroz d22e0cb352 [infra] Suppress errors from $COPY_SOURCES_CMD (follow-up #1741, #1547). 2018-08-22 07:20:09 -07:00
Max Moroz 17a6cfbd40
[infra] Use coverage utils from Chromium and other fixes (follow-up #1547). (#1741)
* [infra] Use coverage utils from Chromium and other fixes (follow-up #1547).

* Sort dependencies in an alpha order plus make more readable.

* Re-order arguments passed to coverage_helper script.

* Rename REPORT_DIR variable and put summary.json into platform specific dir.

* Fix -src-root-dir value.
2018-08-21 14:02:48 -07:00
Max Moroz e4d8b665f5 [infra] Add missing targets_list_filename calculation in build_project.py (follow-up #1547). 2018-08-20 12:29:35 -07:00
Max Moroz 3c6e2bc79a [infra] Bring -ldl flag back and suppress warning messages (follow-up #1547). 2018-08-20 10:56:51 -07:00
Max Moroz 113274a890 [infra] Fix check for qualified target name: include "_" (follow-up #1547). 2018-08-20 10:35:10 -07:00
Max Moroz ab17c5f915 [infra] Do not mark coverage job as failed when there are no targets list (follow-up for #1547). 2018-08-20 10:26:27 -07:00
Max Moroz 696c46cedd [infra] Use correct directory name for coverage jobs (follow-up for #1738). 2018-08-20 07:22:24 -07:00
Max Moroz 903c07ae69
[infra] Set up project dir for coverage job properly. (#1738)
* [infra] Set up project dir for coverage job properly.

* Fix weird typo.
2018-08-20 07:15:54 -07:00
Max Moroz 4574ff8bdb
[infra] Add the build configuration and other pieces for clang code coverage. (#1547)
* [infra] Add the build configuration and other pieces for clang code coverage.

* Address the initial feedback, still a draft with some pieces missing.

* Trying to test things locally.

* Work in progress, now able to test the build process.

* Rebase and fix a comment.

* Figure out how to upload report, but still have issues with GCS access.

* Remove unnecessary debug prints.

* WIP: adding targets list reading + minor clean up.

* WIP

* WIP: now it works end to end but is very dirty and has limitations.

* WIP: use rsync -r -d to overwrite older reports (if any)

* WIP: trying to use a helper script for bulk corpus download.

* WIP: download corpus in batches passed via args.

* WIP: testing corpus downloading in batches.

* WIP: woohoo, now it works!

* Some cleanup for a high level review.

* Address review comments and add FAQ entry.

* Update FAQ.md as per comments by Oliver.
2018-08-20 06:42:45 -07:00
Max Moroz 80ea4a427a
[infra] Coverage: handle shared libraries via coverage_helper script. (#1727)
* [infra] Coverage: handle shared libraries and provide per directory view.

* Add coverage_helper script for detecting shared libraries.

* Address review feedback.
2018-08-17 15:15:08 -07:00
Max Moroz f021e50a21
[infra] Coverage: export stats for individual fuzzers (to be uploaded in #1547). (#1722) 2018-08-16 21:23:56 -07:00