|
@@ -0,0 +1,157 @@
|
|
|
+# 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 orginize 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
|