aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/bisector.py
Commit message (Collapse)AuthorAge
* [infra] Add different messages depending on bisection type (#6547)Gravatar hanyoungYoo2021-10-04
| | | A printed message after bisection should be different depending on the bisection type
* [CIFuzz] Add support for external projects to helper.py (#6141)Gravatar jonathanmetzman2021-08-04
| | | | | | | | Add support to helper.py for external projects for all subcommands except `download_corpora`. External users just need to specify `build_integration_path`, `project_src_path` and `external`. Also do a big refactor to pass a project object as part of args instead of a string containing the name of the project or its path. Related: #6125
* [infra][NFC] Use "testcase" instead of test_case for consistency. (#6159)Gravatar jonathanmetzman2021-08-03
|
* [helper] Fix build_image --pull and refactor (#5642)Gravatar jonathanmetzman2021-04-21
| | | | | | | | | | | Fix behavior of build_image --pull (Fixes #5640) Also refactor helper.py: 1. Change behavior of functions so that most return True on success and False on failure. 2. Only main will return 1 on failure and 0 on success now. Previous behavior was very error prone. 3. Rename _get_output_dir to _get_out_dir. 4. Make function docstrings use descriptive tense. 5. Make helper.py print help when no argument is specified.
* Fix bisection when the original checkout is for a single branch. (#5478)Gravatar Oliver Chang2021-03-23
| | | | | | | | | Repos cloned with `--branch BRANCH` will only track that branch, even when we unshallow. If we provide a git SHA from another branch, it will not be recognized. To fix, this, we update the remote tracking config and fetch them. For google/osv#88.
* Rename BaseRepoManager -> RepoManager. (#4800)Gravatar Oliver Chang2020-12-08
| | | This was renamed in b0b99d5ccdf5e2e49cfe3138fbcf64e6fef6ea7f
* bisector: early exit when old_commit == new_commit. (#4458)Gravatar Oliver Chang2020-09-18
| | | But do this after computing repo_url as that's still useful information.
* bisector: try older commits if old_commit has the same result as new_commit ↵Gravatar Oliver Chang2020-07-09
| | | | (#4096)
* build_specified_commit: Handle build.sh which are part of upstream repo. (#3932)Gravatar Oliver Chang2020-06-10
| | | | | | | | This is a best effort attempt to parse the relevant copy command from the Dockerfile. Also add a main function to build_specified_commit to make it easier to test.
* Include repo URL in bisection error. (#3795)Gravatar Oliver Chang2020-05-13
|
* bisector: always reset projects/ even when we exception out. (#3769)Gravatar Oliver Chang2020-05-07
|
* Use dedup_token_length in bisector. (#3764)Gravatar Oliver Chang2020-05-06
| | | | Using whether or not the target crashed is not sufficient. There are numerous cases where the state changes.
* bisector: Properly detect MSan issues as well. (#3762)Gravatar Oliver Chang2020-05-06
| | | Adopt a similar start/end marker approach to CF.
* Add a better check for crash during bisection. (#3758)Gravatar Oliver Chang2020-05-04
|
* Raise exception if old_commit has the same behaviour as new_commit. (#3749)Gravatar Oliver Chang2020-05-01
| | | | Ignoring it and trying to bisect the entire range up to new_commit is too slow and does not work well in practice.
* bisector: Sort by timestamp order when getting base-builder tags. (#3740)Gravatar Oliver Chang2020-04-30
|
* Use base-builder close to commit date. (#3715)Gravatar Oliver Chang2020-04-28
|
* bisector: ignore old_commit if it's inaccurate. (#3708)Gravatar Oliver Chang2020-04-27
|
* Fix bisector commandline invocation. (#3692)Gravatar Oliver Chang2020-04-22
|
* Bisector: Be a bit smarter about picking which OSS-Fuzz commit to build ↵Gravatar Oliver Chang2020-04-21
| | | | | | | | | | | | | | | 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).
* Return main repo URL in bisector result. (#3672)Gravatar Oliver Chang2020-04-21
|
* bisector: raise exceptions when building new or old commit fails. (#3653)Gravatar Oliver Chang2020-04-15
| | | | | 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.
* Allow bisecting with no old commit. (#3641)Gravatar Oliver Chang2020-04-15
| | | Fixes #3598.
* Bisector fixes. (#3601)Gravatar Oliver Chang2020-04-14
| | | | | - Copy /src from host instead of checking out repo on host. This fixes issues with dependencies in the main repo. - Add some more logging.
* Fix incorrect variable name in bisector.py (#3581)Gravatar Oliver Chang2020-04-06
|
* [infra] unit/integration test updates (#3300)Gravatar Leo Neat2020-01-30
| | | | | | | | | | | | | | | | | | | | | | * 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
* [Infra] Update print statements (#3305)Gravatar Leo Neat2020-01-29
|
* [Infra] CIFuzz pipeline complete. (#3281)Gravatar Leo Neat2020-01-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* [cifuzz][bisection] Make BuildData a namedtuple (#3282)Gravatar jonathanmetzman2020-01-23
|
* [infra] Scripts for building fuzzers with CIFuzz (#3207)Gravatar Leo Neat2020-01-15
|
* [infra] Fixing bisection to work with more OSS-Fuzz projects (#3152)Gravatar Leo Neat2020-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* [infra] Add support for Bisecting Git Commits Introducing Crashes(#3119)Gravatar Leo Neat2019-12-16