Commit Graph

23 Commits

Author SHA1 Message Date
Oliver Chang 15289d2bc2
Include repo URL in bisection error. (#3795) 2020-05-13 14:38:46 +10:00
Oliver Chang af766f3f2c
bisector: always reset projects/ even when we exception out. (#3769) 2020-05-07 17:19:57 +10:00
Oliver Chang 434109ab61
Use dedup_token_length in bisector. (#3764)
Using whether or not the target crashed is not sufficient. There are
numerous cases where the state changes.
2020-05-06 15:30:16 +10:00
Oliver Chang b16fcfc903
bisector: Properly detect MSan issues as well. (#3762)
Adopt a similar start/end marker approach to CF.
2020-05-06 12:09:51 +10:00
Oliver Chang 2d972c9162
Add a better check for crash during bisection. (#3758) 2020-05-04 16:50:25 +10:00
Oliver Chang 2f1fc1e94f
Raise exception if old_commit has the same behaviour as new_commit. (#3749)
Ignoring it and trying to bisect the entire range up to new_commit is
too slow and does not work well in practice.
2020-05-01 14:01:12 +10:00
Oliver Chang 3a23496fcd
bisector: Sort by timestamp order when getting base-builder tags. (#3740) 2020-04-30 15:50:33 +10:00
Oliver Chang 47068dff0a
Use base-builder close to commit date. (#3715) 2020-04-28 11:31:02 +10:00
Oliver Chang 05f7678e54
bisector: ignore old_commit if it's inaccurate. (#3708) 2020-04-27 10:56:17 +10:00
Oliver Chang 2e20541502
Fix bisector commandline invocation. (#3692) 2020-04-22 17:16:00 +10:00
Oliver Chang ed292c0b40
Bisector: Be a bit smarter about picking which OSS-Fuzz commit to build with. (#3665)
When the build fails against HEAD OSS-Fuzz, we find the date of the
commit for the project, and use the latest revision of OSS-Fuzz before
it to rebuild the project builder container.

Subsequent runs will use the last built container, and if that fails
that will again find the closest revision of OSS-Fuzz.

Also factor BaseRepoManager out of RepoManager to provide a generic repo
manager class for dealing with existing checkouts (which don't need a
clone).
2020-04-21 10:11:29 +10:00
Oliver Chang d5ad37e692
Return main repo URL in bisector result. (#3672) 2020-04-21 08:05:45 +10:00
Oliver Chang 0f22065c16
bisector: raise exceptions when building new or old commit fails. (#3653)
Let build failures continue during the actual bisection for now to keep
the bisection going. A future PR can improve the logic of that when it
happens.
2020-04-15 16:03:52 +10:00
Oliver Chang 0399965d7e
Allow bisecting with no old commit. (#3641)
Fixes #3598.
2020-04-15 08:59:33 +10:00
Oliver Chang aa045b9b37
Bisector fixes. (#3601)
- Copy /src from host instead of checking out repo on host. This fixes
  issues with dependencies in the main repo.
- Add some more logging.
2020-04-14 11:38:23 +10:00
Oliver Chang 1992503e5c
Fix incorrect variable name in bisector.py (#3581) 2020-04-06 11:28:46 +10:00
Leo Neat 007226e5cc
[infra] unit/integration test updates (#3300)
* Merging build_specified_commit.py and utils.py

* undo dataflow change

* Updating RepoManager tests

* Updated detect_repo_tests

* Build specified commit updated

* Updated test_repos

* updating bisector tests

* formatting updates

* Switch inversions

* Rebase master
2020-01-30 10:27:56 -08:00
Leo Neat 4d5e5016c0
[Infra] Update print statements (#3305) 2020-01-29 14:10:04 -08:00
Leo Neat 8ffc6db00c
[Infra] CIFuzz pipeline complete. (#3281)
* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Testing action build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working build

* Working fuzzers with out error surface

* Working fuzzers with out error surface

* Working fuzzers with out error surface

* Printing std err

* Adding fuzzer timeout

* Adding fuzzer timeout

* Changing fuzzer timeout to fuzz time

* Formatting and refactoring

* Spelling in fuzz_target.py

* Spelling in fuzz_target.py

* Spelling in fuzz_target.py

* Upload artifact fix

* Upload artifact fix

* Upload artifact fix

* Upload artifact fix

* Upload artifact fix

* Upload artifact fix

* Upload artifact fix

* Refactoring error codes.

* reverting helper.py

* reverting helper.py

* reverting helper.py

* chaning method to static

* moving cifuzz file

* Jonathan changes

* Oliver and Jonathan comments

* Oliver and Jonathan comments

* Oliver and Jonathan comments

* Utils unit tests

* Test formatting and documentation

* Build fuzzer test added

* Changed repo manager errors

* Unit and integration tests complete

* Jonathan comments pt.1

* Jonathan comments pt.1

* Jonathan comments pt.1

* adding cifuzz_test

* Build fuzzer test completed

* Run fuzzers test finished.

* Removed SRC dependency

* Jonathan comments pt.2

* Max comments pt.1

* Max comments pt.2

* removing log specified out stream

* Max comments pt.3

* Adding OSS_FUZZ_HOME env var

* Jonathan comments pt.3

* Formatting

* Olivers comments

* Jonathan comments
2020-01-29 11:03:43 -08:00
jonathanmetzman 2bcc2bfe2b
[cifuzz][bisection] Make BuildData a namedtuple (#3282) 2020-01-23 09:48:09 -08:00
Leo Neat 14582175d0 [infra] Scripts for building fuzzers with CIFuzz (#3207) 2020-01-15 13:30:57 -08:00
Leo Neat 9532d4781a [infra] Fixing bisection to work with more OSS-Fuzz projects (#3152)
* Max comments

* Added bisection tests

* Added test cases

* Docker run command added to build_specific commit

* Infer main repo uses docker image rather than docker file

* Added mores tests for repo infer

* With verbosity

* Formatting

* Bisection fixed

* Formatting updates

* Oliver small comments.

* Script infer main repo

* Detect repo and test module finished

* Detect main repo from script

* Regex searching

* Regex searching

* Max comments + bisector test script

* Oliver comments

* Max's comments

* String concat update

* Jonathan comments
2020-01-06 12:17:26 -08:00
Leo Neat 2c05fb229f [infra] Add support for Bisecting Git Commits Introducing Crashes(#3119) 2019-12-16 16:48:49 -08:00