cime_bisectΒΆ
cime_bisect is a script in CIMEROOT/scripts/Tools.
$ ./cime_bisect --help
usage:
cime_bisect <testargs> <last-known-good-commit> [--bad=<bad>] [--compare=<baseline-id>] [--no-batch] [--verbose]
OR
cime_bisect --help
[1mEXAMPLES:[0m
[1;32m# Bisect ERS.f45_g37.B1850C5 which got broken in the last 4 commits [0m
> cd <root-of-broken-cime-repo>
> cime_bisect HEAD~4 ERS.f45_g37.B1850C5
[1;32m# Bisect ERS.f45_g37.B1850C5 which started to DIFF in the last 4 commits [0m
> cd <root-of-broken-cime-repo>
> cime_bisect HEAD~4 'ERS.f45_g37.B1850C5 -c -b master'
[1;32m# Bisect a build error for ERS.f45_g37.B1850C5 which got broken in the last 4 commits [0m
> cd <root-of-broken-cime-repo>
> cime_bisect HEAD~4 'ERS.f45_g37.B1850C5 --no-run'
[1;32m# Bisect two different failing tests which got broken in the last 4 commits [0m
> cd <root-of-broken-cime-repo>
> cime_bisect HEAD~4 'ERS.f45_g37.B1850C5 --no-run' 'SMS.f45_g37.F'
A script to help track down the commit that caused tests to fail.
positional arguments:
good Name of most recent known good commit.
optional arguments:
-h, --help show this help message and exit
-d, --debug Print debug information (very verbose) to file
/Users/sacks/cime/scripts/Tools/cime_bisect.log
(default: False)
-v, --verbose Add additional context (time and file) to log messages
(default: False)
-s, --silent Print only warnings and error messages (default:
False)
-B BAD, --bad BAD Name of bad commit, default is current HEAD. (default:
HEAD)
-a, --all-commits Test all commits, not just merges (default: False)
-C, --cime-integration
Bisect CIME instead of the whole code. Useful for
finding errors after CIME merges (default: False)
-S SCRIPT, --script SCRIPT
Use your own custom script instead (default: None)
create_test:
flags for modifying create_test call to be bisected
testargs String to pass to create_test. Combine with single
quotes if it includes multiple args. (default: None)
-r TEST_ROOT, --test-root TEST_ROOT
Path to testroot to use for testcases for bisect.
WARNING. This will be cleared by this script.
(default: None)
-n, --check-namelists
Consider a commit to be broken if namelist check fails
(default: False)
-t, --check-throughput
Consider a commit to be broken if throughput check
fails (fail if tests slow down) (default: False)
-m, --check-memory Consider a commit to be broken if memory check fails
(fail if tests footprint grows) (default: False)
-l, --check-memleak Consider a commit to be broken if a memleak is
detected (default: False)