# This file holds defaults for most the tests. It defines the options that # are most common to tests that are likely to be shared. # # Note, after including this file, a config file may override any option # with a DEFAULTS OVERRIDE section. # # For those cases that use the same machine to boot a 64 bit # and a 32 bit version. The MACHINE is the DNS name to get to the # box (usually different if it was 64 bit or 32 bit) but the # BOX here is defined as a variable that will be the name of the box # itself. It is useful for calling scripts that will power cycle # the box, as only one script needs to be created to power cycle # even though the box itself has multiple operating systems on it. # By default, BOX and MACHINE are the same. DEFAULTS IF NOT DEFINED BOX BOX := ${MACHINE} # Consider each box as 64 bit box, unless the config including this file # has defined BITS = 32 DEFAULTS IF NOT DEFINED BITS BITS := 64 DEFAULTS # THIS_DIR is used through out the configs and defaults to ${PWD} which # is the directory that ktest.pl was called from. THIS_DIR := ${PWD} # to organize your configs, having each machine save their configs # into a separate directly is useful. CONFIG_DIR := ${THIS_DIR}/configs/${MACHINE} # Reset the log before running each test. CLEAR_LOG = 1 # As installing kernels usually requires root privilege, default the # user on the target as root. It is also required that the target # allows ssh to root from the host without asking for a password. SSH_USER = root # For accesing the machine, we will ssh to root@machine. SSH := ssh ${SSH_USER}@${MACHINE} # Update this. The default here is ktest will ssh to the target box # and run a script called 'run-test' located on that box. TEST = ${SSH} run-test # Point build dir to the git repo you use BUILD_DIR = ${THIS_DIR}/linux.git # Each machine will have its own output build directory. OUTPUT_DIR = ${THIS_DIR}/build/${MACHINE} # Yes this config is focused on x86 (but ktest works for other archs too) BUILD_TARGET = arch/x86/boot/bzImage TARGET_IMAGE = /boot/vmlinuz-test # have directory for the scripts to reboot and power cycle the boxes SCRIPTS_DIR := ${THIS_DIR}/scripts # You can have each box/machine have a script to power cycle it. # Name your script <box>-cycle. POWER_CYCLE = ${SCRIPTS_DIR}/${BOX}-cycle # This script is used to power off the box. POWER_OFF = ${SCRIPTS_DIR}/${BOX}-poweroff # Keep your test kernels separate from your other kernels. LOCALVERSION = -test # The /boot/grub/menu.lst is searched for the line: # title Test Kernel # and ktest will use that kernel to reboot into. # For grub2 or other boot loaders, you need to set BOOT_TYPE # to 'script' and define other ways to load the kernel. # See snowball.conf example. # GRUB_MENU = Test Kernel # The kernel build will use this option. BUILD_OPTIONS = -j8 # Keeping the log file with the output dir is convenient. LOG_FILE = ${OUTPUT_DIR}/${MACHINE}.log # Each box should have their own minum configuration # See min-config.conf MIN_CONFIG = ${CONFIG_DIR}/config-min # For things like randconfigs, there may be configs you find that # are already broken, or there may be some configs that you always # want set. Uncomment ADD_CONFIG and point it to the make config files # that set the configs you want to keep on (or off) in your build. # ADD_CONFIG is usually something to add configs to all machines, # where as, MIN_CONFIG is specific per machine. #ADD_CONFIG = ${THIS_DIR}/config-broken ${THIS_DIR}/config-general # To speed up reboots for bisects and patchcheck, instead of # waiting 60 seconds for the console to be idle, if this line is # seen in the console output, ktest will know the good kernel has # finished rebooting and it will be able to continue the tests. REBOOT_SUCCESS_LINE = ${MACHINE} login: # The following is different ways to end the test. # by setting the variable REBOOT to: none, error, fail or # something else, ktest will power cycle or reboot the target box # at the end of the tests. # # REBOOT := none # Don't do anything at the end of the test. # # REBOOT := error # Reboot the box if ktest detects an error # # REBOOT := fail # Do not stop on failure, and after all tests are complete # power off the box (for both success and error) # This is good to run over a weekend and you don't want to waste # electricity. # DEFAULTS IF ${REBOOT} == none REBOOT_ON_SUCCESS = 0 REBOOT_ON_ERROR = 0 POWEROFF_ON_ERROR = 0 POWEROFF_ON_SUCCESS = 0 DEFAULTS ELSE IF ${REBOOT} == error REBOOT_ON_SUCCESS = 0 REBOOT_ON_ERROR = 1 POWEROFF_ON_ERROR = 0 POWEROFF_ON_SUCCESS = 0 DEFAULTS ELSE IF ${REBOOT} == fail REBOOT_ON_SUCCESS = 0 POWEROFF_ON_ERROR = 1 POWEROFF_ON_SUCCESS = 1 POWEROFF_AFTER_HALT = 120 DIE_ON_FAILURE = 0 # Store the failure information into this directory # such as the .config, dmesg, and build log. STORE_FAILURES = ${THIS_DIR}/failures DEFAULTS ELSE REBOOT_ON_SUCCESS = 1 REBOOT_ON_ERROR = 1 POWEROFF_ON_ERROR = 0 POWEROFF_ON_SUCCESS = 0