0001 #
0002 # This example shows the bisect tests (git bisect and config bisect)
0003 #
0004
0005
0006 # The config that includes this file may define a RUN_TEST
0007 # variable that will tell this config what test to run.
0008 # (what to set the TEST option to).
0009 #
0010 DEFAULTS IF NOT DEFINED RUN_TEST
0011 # Requires that hackbench is in the PATH
0012 RUN_TEST := ${SSH} hackbench 50
0013
0014
0015 # Set TEST to 'bisect' to do a normal git bisect. You need
0016 # to modify the options below to make it bisect the exact
0017 # commits you are interested in.
0018 #
0019 TEST_START IF ${TEST} == bisect
0020 TEST_TYPE = bisect
0021 # You must set the commit that was considered good (git bisect good)
0022 BISECT_GOOD = v3.3
0023 # You must set the commit that was considered bad (git bisect bad)
0024 BISECT_BAD = HEAD
0025 # It's best to specify the branch to checkout before starting the bisect.
0026 CHECKOUT = origin/master
0027 # This can be build, boot, or test. Here we are doing a bisect
0028 # that requires to run a test to know if the bisect was good or bad.
0029 # The test should exit with 0 on good, non-zero for bad. But see
0030 # the BISECT_RET_* options in samples.conf to override this.
0031 BISECT_TYPE = test
0032 TEST = ${RUN_TEST}
0033 # It is usually a good idea to confirm that the GOOD and the BAD
0034 # commits are truly good and bad respectively. Having BISECT_CHECK
0035 # set to 1 will check both that the good commit works and the bad
0036 # commit fails. If you only want to check one or the other,
0037 # set BISECT_CHECK to 'good' or to 'bad'.
0038 BISECT_CHECK = 1
0039 #BISECT_CHECK = good
0040 #BISECT_CHECK = bad
0041
0042 # Usually it's a good idea to specify the exact config you
0043 # want to use throughout the entire bisect. Here we placed
0044 # it in the directory we called ktest.pl from and named it
0045 # 'config-bisect'.
0046 MIN_CONFIG = ${THIS_DIR}/config-bisect
0047 # By default, if we are doing a BISECT_TYPE = test run but the
0048 # build or boot fails, ktest.pl will do a 'git bisect skip'.
0049 # Uncomment the below option to make ktest stop testing on such
0050 # an error.
0051 #BISECT_SKIP = 0
0052 # Now if you had BISECT_SKIP = 0 and the test fails, you can
0053 # examine what happened and then do 'git bisect log > /tmp/replay'
0054 # Set BISECT_REPLAY to /tmp/replay and ktest.pl will run the
0055 # 'git bisect replay /tmp/replay' before continuing the bisect test.
0056 #BISECT_REPLAY = /tmp/replay
0057 # If you used BISECT_REPLAY after the bisect test failed, you may
0058 # not want to continue the bisect on that commit that failed.
0059 # By setting BISECT_START to a new commit. ktest.pl will checkout
0060 # that commit after it has performed the 'git bisect replay' but
0061 # before it continues running the bisect test.
0062 #BISECT_START = 2545eb6198e7e1ec50daa0cfc64a4cdfecf24ec9
0063
0064 # Now if you don't trust ktest.pl to make the decisions for you, then
0065 # set BISECT_MANUAL to 1. This will cause ktest.pl not to decide
0066 # if the commit was good or bad. Instead, it will ask you to tell
0067 # it if the current commit was good. In the mean time, you could
0068 # take the result, load it on any machine you want. Run several tests,
0069 # or whatever you feel like. Then, when you are happy, you can tell
0070 # ktest if you think it was good or not and ktest.pl will continue
0071 # the git bisect. You can even change what commit it is currently at.
0072 #BISECT_MANUAL = 1
0073
0074
0075 # One of the unique tests that ktest does is the config bisect.
0076 # Currently (which hopefully will be fixed soon), the bad config
0077 # must be a superset of the good config. This is because it only
0078 # searches for a config that causes the target to fail. If the
0079 # good config is not a subset of the bad config, or if the target
0080 # fails because of a lack of a config, then it will not find
0081 # the config for you.
0082 TEST_START IF ${TEST} == config-bisect
0083 TEST_TYPE = config_bisect
0084 # set to build, boot, test
0085 CONFIG_BISECT_TYPE = boot
0086 # Set the config that is considered bad.
0087 CONFIG_BISECT = ${THIS_DIR}/config-bad
0088 # This config is optional. By default it uses the
0089 # MIN_CONFIG as the good config.
0090 CONFIG_BISECT_GOOD = ${THIS_DIR}/config-good