0001 # This file holds defaults for most the tests. It defines the options that
0002 # are most common to tests that are likely to be shared.
0003 #
0004 # Note, after including this file, a config file may override any option
0005 # with a DEFAULTS OVERRIDE section.
0006 #
0007
0008 # For those cases that use the same machine to boot a 64 bit
0009 # and a 32 bit version. The MACHINE is the DNS name to get to the
0010 # box (usually different if it was 64 bit or 32 bit) but the
0011 # BOX here is defined as a variable that will be the name of the box
0012 # itself. It is useful for calling scripts that will power cycle
0013 # the box, as only one script needs to be created to power cycle
0014 # even though the box itself has multiple operating systems on it.
0015 # By default, BOX and MACHINE are the same.
0016
0017 DEFAULTS IF NOT DEFINED BOX
0018 BOX := ${MACHINE}
0019
0020
0021 # Consider each box as 64 bit box, unless the config including this file
0022 # has defined BITS = 32
0023
0024 DEFAULTS IF NOT DEFINED BITS
0025 BITS := 64
0026
0027
0028 DEFAULTS
0029
0030 # THIS_DIR is used through out the configs and defaults to ${PWD} which
0031 # is the directory that ktest.pl was called from.
0032
0033 THIS_DIR := ${PWD}
0034
0035
0036 # to organize your configs, having each machine save their configs
0037 # into a separate directly is useful.
0038 CONFIG_DIR := ${THIS_DIR}/configs/${MACHINE}
0039
0040 # Reset the log before running each test.
0041 CLEAR_LOG = 1
0042
0043 # As installing kernels usually requires root privilege, default the
0044 # user on the target as root. It is also required that the target
0045 # allows ssh to root from the host without asking for a password.
0046
0047 SSH_USER = root
0048
0049 # For accesing the machine, we will ssh to root@machine.
0050 SSH := ssh ${SSH_USER}@${MACHINE}
0051
0052 # Update this. The default here is ktest will ssh to the target box
0053 # and run a script called 'run-test' located on that box.
0054 TEST = ${SSH} run-test
0055
0056 # Point build dir to the git repo you use
0057 BUILD_DIR = ${THIS_DIR}/linux.git
0058
0059 # Each machine will have its own output build directory.
0060 OUTPUT_DIR = ${THIS_DIR}/build/${MACHINE}
0061
0062 # Yes this config is focused on x86 (but ktest works for other archs too)
0063 BUILD_TARGET = arch/x86/boot/bzImage
0064 TARGET_IMAGE = /boot/vmlinuz-test
0065
0066 # have directory for the scripts to reboot and power cycle the boxes
0067 SCRIPTS_DIR := ${THIS_DIR}/scripts
0068
0069 # You can have each box/machine have a script to power cycle it.
0070 # Name your script <box>-cycle.
0071 POWER_CYCLE = ${SCRIPTS_DIR}/${BOX}-cycle
0072
0073 # This script is used to power off the box.
0074 POWER_OFF = ${SCRIPTS_DIR}/${BOX}-poweroff
0075
0076 # Keep your test kernels separate from your other kernels.
0077 LOCALVERSION = -test
0078
0079 # The /boot/grub/menu.lst is searched for the line:
0080 # title Test Kernel
0081 # and ktest will use that kernel to reboot into.
0082 # For grub2 or other boot loaders, you need to set BOOT_TYPE
0083 # to 'script' and define other ways to load the kernel.
0084 # See snowball.conf example.
0085 #
0086 GRUB_MENU = Test Kernel
0087
0088 # The kernel build will use this option.
0089 BUILD_OPTIONS = -j8
0090
0091 # Keeping the log file with the output dir is convenient.
0092 LOG_FILE = ${OUTPUT_DIR}/${MACHINE}.log
0093
0094 # Each box should have their own minum configuration
0095 # See min-config.conf
0096 MIN_CONFIG = ${CONFIG_DIR}/config-min
0097
0098 # For things like randconfigs, there may be configs you find that
0099 # are already broken, or there may be some configs that you always
0100 # want set. Uncomment ADD_CONFIG and point it to the make config files
0101 # that set the configs you want to keep on (or off) in your build.
0102 # ADD_CONFIG is usually something to add configs to all machines,
0103 # where as, MIN_CONFIG is specific per machine.
0104 #ADD_CONFIG = ${THIS_DIR}/config-broken ${THIS_DIR}/config-general
0105
0106 # To speed up reboots for bisects and patchcheck, instead of
0107 # waiting 60 seconds for the console to be idle, if this line is
0108 # seen in the console output, ktest will know the good kernel has
0109 # finished rebooting and it will be able to continue the tests.
0110 REBOOT_SUCCESS_LINE = ${MACHINE} login:
0111
0112 # The following is different ways to end the test.
0113 # by setting the variable REBOOT to: none, error, fail or
0114 # something else, ktest will power cycle or reboot the target box
0115 # at the end of the tests.
0116 #
0117 # REBOOT := none
0118 # Don't do anything at the end of the test.
0119 #
0120 # REBOOT := error
0121 # Reboot the box if ktest detects an error
0122 #
0123 # REBOOT := fail
0124 # Do not stop on failure, and after all tests are complete
0125 # power off the box (for both success and error)
0126 # This is good to run over a weekend and you don't want to waste
0127 # electricity.
0128 #
0129
0130 DEFAULTS IF ${REBOOT} == none
0131 REBOOT_ON_SUCCESS = 0
0132 REBOOT_ON_ERROR = 0
0133 POWEROFF_ON_ERROR = 0
0134 POWEROFF_ON_SUCCESS = 0
0135
0136 DEFAULTS ELSE IF ${REBOOT} == error
0137 REBOOT_ON_SUCCESS = 0
0138 REBOOT_ON_ERROR = 1
0139 POWEROFF_ON_ERROR = 0
0140 POWEROFF_ON_SUCCESS = 0
0141
0142 DEFAULTS ELSE IF ${REBOOT} == fail
0143 REBOOT_ON_SUCCESS = 0
0144 POWEROFF_ON_ERROR = 1
0145 POWEROFF_ON_SUCCESS = 1
0146 POWEROFF_AFTER_HALT = 120
0147 DIE_ON_FAILURE = 0
0148
0149 # Store the failure information into this directory
0150 # such as the .config, dmesg, and build log.
0151 STORE_FAILURES = ${THIS_DIR}/failures
0152
0153 DEFAULTS ELSE
0154 REBOOT_ON_SUCCESS = 1
0155 REBOOT_ON_ERROR = 1
0156 POWEROFF_ON_ERROR = 0
0157 POWEROFF_ON_SUCCESS = 0