91 lines
		
	
	
	
		
			3.8 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			91 lines
		
	
	
	
		
			3.8 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# This example shows the bisect tests (git bisect and config bisect)
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# The config that includes this file may define a RUN_TEST
							 | 
						||
| 
								 | 
							
								# variable that will tell this config what test to run.
							 | 
						||
| 
								 | 
							
								# (what to set the TEST option to).
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								DEFAULTS IF NOT DEFINED RUN_TEST
							 | 
						||
| 
								 | 
							
								# Requires that hackbench is in the PATH
							 | 
						||
| 
								 | 
							
								RUN_TEST := ${SSH} hackbench 50
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Set TEST to 'bisect' to do a normal git bisect. You need
							 | 
						||
| 
								 | 
							
								# to modify the options below to make it bisect the exact
							 | 
						||
| 
								 | 
							
								# commits you are interested in.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								TEST_START IF ${TEST} == bisect
							 | 
						||
| 
								 | 
							
								TEST_TYPE = bisect
							 | 
						||
| 
								 | 
							
								# You must set the commit that was considered good (git bisect good)
							 | 
						||
| 
								 | 
							
								BISECT_GOOD = v3.3
							 | 
						||
| 
								 | 
							
								# You must set the commit that was considered bad (git bisect bad)
							 | 
						||
| 
								 | 
							
								BISECT_BAD = HEAD
							 | 
						||
| 
								 | 
							
								# It's best to specify the branch to checkout before starting the bisect.
							 | 
						||
| 
								 | 
							
								CHECKOUT = origin/master
							 | 
						||
| 
								 | 
							
								# This can be build, boot, or test. Here we are doing a bisect
							 | 
						||
| 
								 | 
							
								# that requires to run a test to know if the bisect was good or bad.
							 | 
						||
| 
								 | 
							
								# The test should exit with 0 on good, non-zero for bad. But see
							 | 
						||
| 
								 | 
							
								# the BISECT_RET_* options in samples.conf to override this.
							 | 
						||
| 
								 | 
							
								BISECT_TYPE = test
							 | 
						||
| 
								 | 
							
								TEST = ${RUN_TEST}
							 | 
						||
| 
								 | 
							
								# It is usually a good idea to confirm that the GOOD and the BAD
							 | 
						||
| 
								 | 
							
								# commits are truly good and bad respectively. Having BISECT_CHECK
							 | 
						||
| 
								 | 
							
								# set to 1 will check both that the good commit works and the bad
							 | 
						||
| 
								 | 
							
								# commit fails. If you only want to check one or the other,
							 | 
						||
| 
								 | 
							
								# set BISECT_CHECK to 'good' or to 'bad'.
							 | 
						||
| 
								 | 
							
								BISECT_CHECK = 1
							 | 
						||
| 
								 | 
							
								#BISECT_CHECK = good
							 | 
						||
| 
								 | 
							
								#BISECT_CHECK = bad
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Usually it's a good idea to specify the exact config you
							 | 
						||
| 
								 | 
							
								# want to use throughout the entire bisect. Here we placed
							 | 
						||
| 
								 | 
							
								# it in the directory we called ktest.pl from and named it
							 | 
						||
| 
								 | 
							
								# 'config-bisect'.
							 | 
						||
| 
								 | 
							
								MIN_CONFIG = ${THIS_DIR}/config-bisect
							 | 
						||
| 
								 | 
							
								# By default, if we are doing a BISECT_TYPE = test run but the
							 | 
						||
| 
								 | 
							
								# build or boot fails, ktest.pl will do a 'git bisect skip'.
							 | 
						||
| 
								 | 
							
								# Uncomment the below option to make ktest stop testing on such
							 | 
						||
| 
								 | 
							
								# an error.
							 | 
						||
| 
								 | 
							
								#BISECT_SKIP = 0
							 | 
						||
| 
								 | 
							
								# Now if you had BISECT_SKIP = 0 and the test fails, you can
							 | 
						||
| 
								 | 
							
								# examine what happened and then do 'git bisect log > /tmp/replay'
							 | 
						||
| 
								 | 
							
								# Set BISECT_REPLAY to /tmp/replay and ktest.pl will run the
							 | 
						||
| 
								 | 
							
								# 'git bisect replay /tmp/replay' before continuing the bisect test.
							 | 
						||
| 
								 | 
							
								#BISECT_REPLAY = /tmp/replay
							 | 
						||
| 
								 | 
							
								# If you used BISECT_REPLAY after the bisect test failed, you may
							 | 
						||
| 
								 | 
							
								# not want to continue the bisect on that commit that failed.
							 | 
						||
| 
								 | 
							
								# By setting BISECT_START to a new commit. ktest.pl will checkout
							 | 
						||
| 
								 | 
							
								# that commit after it has performed the 'git bisect replay' but
							 | 
						||
| 
								 | 
							
								# before it continues running the bisect test.
							 | 
						||
| 
								 | 
							
								#BISECT_START = 2545eb6198e7e1ec50daa0cfc64a4cdfecf24ec9
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Now if you don't trust ktest.pl to make the decisions for you, then
							 | 
						||
| 
								 | 
							
								# set BISECT_MANUAL to 1. This will cause ktest.pl not to decide
							 | 
						||
| 
								 | 
							
								# if the commit was good or bad. Instead, it will ask you to tell
							 | 
						||
| 
								 | 
							
								# it if the current commit was good. In the mean time, you could
							 | 
						||
| 
								 | 
							
								# take the result, load it on any machine you want. Run several tests,
							 | 
						||
| 
								 | 
							
								# or whatever you feel like. Then, when you are happy, you can tell
							 | 
						||
| 
								 | 
							
								# ktest if you think it was good or not and ktest.pl will continue
							 | 
						||
| 
								 | 
							
								# the git bisect. You can even change what commit it is currently at.
							 | 
						||
| 
								 | 
							
								#BISECT_MANUAL = 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# One of the unique tests that ktest does is the config bisect.
							 | 
						||
| 
								 | 
							
								# Currently (which hopefully will be fixed soon), the bad config
							 | 
						||
| 
								 | 
							
								# must be a superset of the good config. This is because it only
							 | 
						||
| 
								 | 
							
								# searches for a config that causes the target to fail. If the
							 | 
						||
| 
								 | 
							
								# good config is not a subset of the bad config, or if the target
							 | 
						||
| 
								 | 
							
								# fails because of a lack of a config, then it will not find
							 | 
						||
| 
								 | 
							
								# the config for you.
							 | 
						||
| 
								 | 
							
								TEST_START IF ${TEST} == config-bisect
							 | 
						||
| 
								 | 
							
								TEST_TYPE = config_bisect
							 | 
						||
| 
								 | 
							
								# set to build, boot, test
							 | 
						||
| 
								 | 
							
								CONFIG_BISECT_TYPE = boot
							 | 
						||
| 
								 | 
							
								# Set the config that is considered bad.
							 | 
						||
| 
								 | 
							
								CONFIG_BISECT = ${THIS_DIR}/config-bad
							 | 
						||
| 
								 | 
							
								# This config is optional. By default it uses the
							 | 
						||
| 
								 | 
							
								# MIN_CONFIG as the good config.
							 | 
						||
| 
								 | 
							
								CONFIG_BISECT_GOOD = ${THIS_DIR}/config-good
							 |