Commit Graph

795 Commits

Author SHA1 Message Date
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
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 137bc2c9de
[infra] Add UBSAN_OPTIONS=\"silence_unsigned_overflow=1\" to base-builder image (#1715). (#1717) 2018-08-15 15:36:37 -07:00
Max Moroz e1aa07c491
[infra] Add script for downloading a batch of corpus backups (for #1547). (#1713)
* [infra] Add script for downloading a batch of corpus backups (for #1547).

* Add missing wget dependency and replace a tab with spaces.

* Convert more tabs to spaces.
2018-08-15 06:34:10 -07:00
Max Moroz e6bf26c8dd
[infra] Bump LLVM revision to r338452. (#1708) 2018-08-13 07:44:21 -07:00
Max Moroz d747892866
[infra] Update coverage script to support sources white listing. (#1707) 2018-08-12 10:19:40 -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 b8a87a862e
[infra] Coverage: always exclude libFuzzer source from the report. (#1697) 2018-08-09 10:45:05 -07:00
Max Moroz 0fe45f59a7
[infra] Re-enable UIO for UBSan in a non-faulting mode (#910). (#1690) 2018-08-07 10:04:25 -07:00
Evgeny Vereshchagin d2d9860ecd [infra] skip the rest of check_instrumentation if grep hasn't found anything (#1689)
When a fuzzer is seriously broken (which happens occasionally during debug),
it's unlikely to start properly let alone provide some meaningful
output. In this case, it seems reasonable to skip some checks and prevent bash
from encountering the following syntax error:
```
/usr/local/bin/bad_build_check: line 68: ((: < 100 : syntax error: operand expected (error token is "< 100 ")
```
2018-08-04 18:14:29 -07:00
Max Moroz 815727b0b3
[infra] Add retry wrapper to LLVM checkout commands. (#1668)
* [infra] Add retry wrapper to LLVM checkout commands.

* Fix a typo.

* Clean up the retry wrapper as per discussion with Abhishek.

* Fix disabling / enabling exit-on-error mode, bash is hard!

* Fix a comment.
2018-07-27 14:19:32 -07:00
Max Moroz dbe2731d93
[infra] Print logs URL for base images and msan libs. (#1666) 2018-07-27 10:07:54 -07:00
Max Moroz 6b761f3826
[infra] Export coverage data in JSON format for picking up by CF. (#1665) 2018-07-27 07:34:02 -07:00
Oliver Chang 180c87f194 gcb: add env to targets_list step 2018-07-27 15:34:24 +10:00
Oliver Chang 2ef8e32bfa Move targets_list to base-runner. 2018-07-27 14:59:02 +10:00
Oliver Chang bf75778262 pyformat python code in gcb dir. 2018-07-27 13:32:39 +10:00