| 1 | # |
| 2 | # This example shows the bisect tests (git bisect and config bisect) |
| 3 | # |
| 4 | |
| 5 | |
| 6 | # The config that includes this file may define a RUN_TEST |
| 7 | # variable that will tell this config what test to run. |
| 8 | # (what to set the TEST option to). |
| 9 | # |
| 10 | DEFAULTS IF NOT DEFINED RUN_TEST |
| 11 | # Requires that hackbench is in the PATH |
| 12 | RUN_TEST := ${SSH} hackbench 50 |
| 13 | |
| 14 | |
| 15 | # Set TEST to 'bisect' to do a normal git bisect. You need |
| 16 | # to modify the options below to make it bisect the exact |
| 17 | # commits you are interested in. |
| 18 | # |
| 19 | TEST_START IF ${TEST} == bisect |
| 20 | TEST_TYPE = bisect |
| 21 | # You must set the commit that was considered good (git bisect good) |
| 22 | BISECT_GOOD = v3.3 |
| 23 | # You must set the commit that was considered bad (git bisect bad) |
| 24 | BISECT_BAD = HEAD |
| 25 | # It's best to specify the branch to checkout before starting the bisect. |
| 26 | CHECKOUT = origin/master |
| 27 | # This can be build, boot, or test. Here we are doing a bisect |
| 28 | # that requires to run a test to know if the bisect was good or bad. |
| 29 | # The test should exit with 0 on good, non-zero for bad. But see |
| 30 | # the BISECT_RET_* options in samples.conf to override this. |
| 31 | BISECT_TYPE = test |
| 32 | TEST = ${RUN_TEST} |
| 33 | # It is usually a good idea to confirm that the GOOD and the BAD |
| 34 | # commits are truly good and bad respectively. Having BISECT_CHECK |
| 35 | # set to 1 will check both that the good commit works and the bad |
| 36 | # commit fails. If you only want to check one or the other, |
| 37 | # set BISECT_CHECK to 'good' or to 'bad'. |
| 38 | BISECT_CHECK = 1 |
| 39 | #BISECT_CHECK = good |
| 40 | #BISECT_CHECK = bad |
| 41 | |
| 42 | # Usually it's a good idea to specify the exact config you |
| 43 | # want to use throughout the entire bisect. Here we placed |
| 44 | # it in the directory we called ktest.pl from and named it |
| 45 | # 'config-bisect'. |
| 46 | MIN_CONFIG = ${THIS_DIR}/config-bisect |
| 47 | # By default, if we are doing a BISECT_TYPE = test run but the |
| 48 | # build or boot fails, ktest.pl will do a 'git bisect skip'. |
| 49 | # Uncomment the below option to make ktest stop testing on such |
| 50 | # an error. |
| 51 | #BISECT_SKIP = 0 |
| 52 | # Now if you had BISECT_SKIP = 0 and the test fails, you can |
| 53 | # examine what happened and then do 'git bisect log > /tmp/replay' |
| 54 | # Set BISECT_REPLAY to /tmp/replay and ktest.pl will run the |
| 55 | # 'git bisect replay /tmp/replay' before continuing the bisect test. |
| 56 | #BISECT_REPLAY = /tmp/replay |
| 57 | # If you used BISECT_REPLAY after the bisect test failed, you may |
| 58 | # not want to continue the bisect on that commit that failed. |
| 59 | # By setting BISECT_START to a new commit. ktest.pl will checkout |
| 60 | # that commit after it has performed the 'git bisect replay' but |
| 61 | # before it continues running the bisect test. |
| 62 | #BISECT_START = 2545eb6198e7e1ec50daa0cfc64a4cdfecf24ec9 |
| 63 | |
| 64 | # Now if you don't trust ktest.pl to make the decisions for you, then |
| 65 | # set BISECT_MANUAL to 1. This will cause ktest.pl not to decide |
| 66 | # if the commit was good or bad. Instead, it will ask you to tell |
| 67 | # it if the current commit was good. In the mean time, you could |
| 68 | # take the result, load it on any machine you want. Run several tests, |
| 69 | # or whatever you feel like. Then, when you are happy, you can tell |
| 70 | # ktest if you think it was good or not and ktest.pl will continue |
| 71 | # the git bisect. You can even change what commit it is currently at. |
| 72 | #BISECT_MANUAL = 1 |
| 73 | |
| 74 | |
| 75 | # One of the unique tests that ktest does is the config bisect. |
| 76 | # Currently (which hopefully will be fixed soon), the bad config |
| 77 | # must be a superset of the good config. This is because it only |
| 78 | # searches for a config that causes the target to fail. If the |
| 79 | # good config is not a subset of the bad config, or if the target |
| 80 | # fails because of a lack of a config, then it will not find |
| 81 | # the config for you. |
| 82 | TEST_START IF ${TEST} == config-bisect |
| 83 | TEST_TYPE = config_bisect |
| 84 | # set to build, boot, test |
| 85 | CONFIG_BISECT_TYPE = boot |
| 86 | # Set the config that is considered bad. |
| 87 | CONFIG_BISECT = ${THIS_DIR}/config-bad |
| 88 | # This config is optional. By default it uses the |
| 89 | # MIN_CONFIG as the good config. |
| 90 | CONFIG_BISECT_GOOD = ${THIS_DIR}/config-good |