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
Oliver Chang
60fb6a8d7b
Generate and upload targets list during build. ( #1660 )
2018-07-27 13:29:51 +10:00
Abhishek Arya
c328ff7518
Speculative fix for firefox build fix. ( #1661 )
...
* Speculative fix for firefox build fix.
* Use a yaml attribute.
2018-07-26 19:49:56 -07:00
Max Moroz
704da2ddac
[infra] Do not force our LLVM revision. ( #1653 )
2018-07-26 10:01:41 -07:00
Max Moroz
218f5dc3cf
[infra] Add an option to disable serving coverage report over HTTP (needed for #1547 ). ( #1635 )
2018-07-20 15:43:08 -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
40326f9520
Add libcap2 to base-runner image.
2018-07-09 17:22:15 +10: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
12982882b8
Fix #1591
2018-07-03 09:26:51 -07:00
Abhishek Arya
3af21b0252
Don't check for LLVMFuzzerTestOneInput when there is no fuzzing engine. ( #1579 )
2018-06-28 07:08:57 -07:00