#1# Config file for ktest.pl2#3# Place your customized version of this, in the working directory that4# ktest.pl is run from. By default, ktest.pl will look for a file5# called "ktest.conf", but you can name it anything you like and specify6# the name of your config file as the first argument of ktest.pl.7#8# Note, all paths must be absolute9#1011# Options set in the beginning of the file are considered to be12# default options. These options can be overridden by test specific13# options, with the following exceptions:14#15# LOG_FILE16# CLEAR_LOG17# POWEROFF_ON_SUCCESS18# REBOOT_ON_SUCCESS19#20# Test specific options are set after the label:21#22# TEST_START23#24# The options after a TEST_START label are specific to that test.25# Each TEST_START label will set up a new test. If you want to26# perform a test more than once, you can add the ITERATE label27# to it followed by the number of times you want that test28# to iterate. If the ITERATE is left off, the test will only29# be performed once.30#31# TEST_START ITERATE 1032#33# You can skip a test by adding SKIP (before or after the ITERATE34# and number)35#36# TEST_START SKIP37#38# TEST_START SKIP ITERATE 1039#40# TEST_START ITERATE 10 SKIP41#42# The SKIP label causes the options and the test itself to be ignored.43# This is useful to set up several different tests in one config file, and44# only enabling the ones you want to use for a current test run.45#46# You can add default options anywhere in the file as well47# with the DEFAULTS tag. This allows you to have default options48# after the test options to keep the test options at the top49# of the file. You can even place the DEFAULTS tag between50# test cases (but not in the middle of a single test case)51#52# TEST_START53# MIN_CONFIG = /home/test/config-test154#55# DEFAULTS56# MIN_CONFIG = /home/test/config-default57#58# TEST_START ITERATE 1059#60# The above will run the first test with MIN_CONFIG set to61# /home/test/config-test-1. Then 10 tests will be executed62# with MIN_CONFIG with /home/test/config-default.63#64# You can also disable defaults with the SKIP option65#66# DEFAULTS SKIP67# MIN_CONFIG = /home/test/config-use-sometimes68#69# DEFAULTS70# MIN_CONFIG = /home/test/config-most-times71#72# The above will ignore the first MIN_CONFIG. If you want to73# use the first MIN_CONFIG, remove the SKIP from the first74# DEFAULTS tag and add it to the second. Be careful, options75# may only be declared once per test or default. If you have76# the same option name under the same test or as default77# ktest will fail to execute, and no tests will run.78#79# DEFAULTS OVERRIDE80#81# Options defined in the DEFAULTS section can not be duplicated82# even if they are defined in two different DEFAULT sections.83# This is done to catch mistakes where an option is added but84# the previous option was forgotten about and not commented.85#86# The OVERRIDE keyword can be added to a section to allow this87# section to override other DEFAULT sections values that have88# been defined previously. It will only override options that89# have been defined before its use. Options defined later90# in a non override section will still error. The same option91# can not be defined in the same section even if that section92# is marked OVERRIDE.93#94#95#96# Both TEST_START and DEFAULTS sections can also have the IF keyword97# The value after the IF must evaluate into a 0 or non 0 positive98# integer, and can use the config variables (explained below).99#100# DEFAULTS IF ${IS_X86_32}101#102# The above will process the DEFAULTS section if the config103# variable IS_X86_32 evaluates to a non zero positive integer104# otherwise if it evaluates to zero, it will act the same105# as if the SKIP keyword was used.106#107# The ELSE keyword can be used directly after a section with108# a IF statement.109#110# TEST_START IF ${RUN_NET_TESTS}111# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-network112#113# ELSE114#115# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-normal116#117#118# The ELSE keyword can also contain an IF statement to allow multiple119# if then else sections. But all the sections must be either120# DEFAULT or TEST_START, they can not be a mixture.121#122# TEST_START IF ${RUN_NET_TESTS}123# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-network124#125# ELSE IF ${RUN_DISK_TESTS}126# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-tests127#128# ELSE IF ${RUN_CPU_TESTS}129# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-cpu130#131# ELSE132# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-network133#134# The if statement may also have comparisons that will and for135# == and !=, strings may be used for both sides.136#137# BOX_TYPE := x86_32138#139# DEFAULTS IF ${BOX_TYPE} == x86_32140# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-32141# ELSE142# BUILD_TYPE = useconfig:${CONFIG_DIR}/config-64143#144# The DEFINED keyword can be used by the IF statements too.145# It returns true if the given config variable or option has been defined146# or false otherwise.147#148#149# DEFAULTS IF DEFINED USE_CC150# CC := ${USE_CC}151# ELSE152# CC := gcc153#154#155# As well as NOT DEFINED.156#157# DEFAULTS IF NOT DEFINED MAKE_CMD158# MAKE_CMD := make ARCH=x86159#160#161# And/or ops (&&,||) may also be used to make complex conditionals.162#163# TEST_START IF (DEFINED ALL_TESTS || ${MYTEST} == boottest) && ${MACHINE} == gandalf164#165# Notice the use of parentheses. Without any parentheses the above would be166# processed the same as:167#168# TEST_START IF DEFINED ALL_TESTS || (${MYTEST} == boottest && ${MACHINE} == gandalf)169#170#171#172# INCLUDE file173#174# The INCLUDE keyword may be used in DEFAULT sections. This will175# read another config file and process that file as well. The included176# file can include other files, add new test cases or default177# statements. Config variables will be passed to these files and changes178# to config variables will be seen by top level config files. Including179# a file is processed just like the contents of the file was cut and pasted180# into the top level file, except, that include files that end with181# TEST_START sections will have that section ended at the end of182# the include file. That is, an included file is included followed183# by another DEFAULT keyword.184#185# Unlike other files referenced in this config, the file path does not need186# to be absolute. If the file does not start with '/', then the directory187# that the current config file was located in is used. If no config by the188# given name is found there, then the current directory is searched.189#190# INCLUDE myfile191# DEFAULT192#193# is the same as:194#195# INCLUDE myfile196#197# Note, if the include file does not contain a full path, the file is198# searched first by the location of the original include file, and then199# by the location that ktest.pl was executed in.200#201202#### Config variables ####203#204# This config file can also contain "config variables".205# These are assigned with ":=" instead of the ktest option206# assignment "=".207#208# The difference between ktest options and config variables209# is that config variables can be used multiple times,210# where each instance will override the previous instance.211# And that they only live at time of processing this config.212#213# The advantage to config variables are that they can be used214# by any option or any other config variables to define thing215# that you may use over and over again in the options.216#217# For example:218#219# USER := root220# TARGET := mybox221# TEST_CASE := ssh ${USER}@${TARGET} /path/to/my/test222#223# TEST_START224# MIN_CONFIG = config1225# TEST = ${TEST_CASE}226#227# TEST_START228# MIN_CONFIG = config2229# TEST = ${TEST_CASE}230#231# TEST_CASE := ssh ${USER}@${TARGET} /path/to/my/test2232#233# TEST_START234# MIN_CONFIG = config1235# TEST = ${TEST_CASE}236#237# TEST_START238# MIN_CONFIG = config2239# TEST = ${TEST_CASE}240#241# TEST_DIR := /home/me/test242#243# BUILD_DIR = ${TEST_DIR}/linux.git244# OUTPUT_DIR = ${TEST_DIR}/test245#246# Note, the config variables are evaluated immediately, thus247# updating TARGET after TEST_CASE has been assigned does nothing248# to TEST_CASE.249#250# As shown in the example, to evaluate a config variable, you251# use the ${X} convention. Simple $X will not work.252#253# If the config variable does not exist, the ${X} will not254# be evaluated. Thus:255#256# MAKE_CMD = PATH=/mypath:${PATH} make257#258# If PATH is not a config variable, then the ${PATH} in259# the MAKE_CMD option will be evaluated by the shell when260# the MAKE_CMD option is passed into shell processing.261#262# Shell commands can also be inserted with the ${shell <command>}263# expression. Note, this is case sensitive, thus ${SHELL <command>}264# will not work.265#266# HOSTNAME := ${shell hostname}267# DEFAULTS IF "${HOSTNAME}" == "frodo"268#269270#### Using options in other options ####271#272# Options that are defined in the config file may also be used273# by other options. All options are evaluated at time of274# use (except that config variables are evaluated at config275# processing time).276#277# If an ktest option is used within another option, instead of278# typing it again in that option you can simply use the option279# just like you can config variables.280#281# MACHINE = mybox282#283# TEST = ssh root@${MACHINE} /path/to/test284#285# The option will be used per test case. Thus:286#287# TEST_TYPE = test288# TEST = ssh root@{MACHINE}289#290# TEST_START291# MACHINE = box1292#293# TEST_START294# MACHINE = box2295#296# For both test cases, MACHINE will be evaluated at the time297# of the test case. The first test will run ssh root@box1298# and the second will run ssh root@box2.299300#### Mandatory Default Options ####301302# These options must be in the default section, although most303# may be overridden by test options.304305# The machine hostname that you will test306#MACHINE = target307308# The box is expected to have ssh on normal bootup, provide the user309# (most likely root, since you need privileged operations)310#SSH_USER = root311312# The directory that contains the Linux source code313#BUILD_DIR = /home/test/linux.git314315# The directory that the objects will be built316# (can not be same as BUILD_DIR)317#OUTPUT_DIR = /home/test/build/target318319# The location of the compiled file to copy to the target320# (relative to OUTPUT_DIR)321#BUILD_TARGET = arch/x86/boot/bzImage322323# The place to put your image on the test machine324#TARGET_IMAGE = /boot/vmlinuz-test325326# A script or command to reboot the box327#328# Here is a digital loggers power switch example329#POWER_CYCLE = wget --no-proxy -O /dev/null -q --auth-no-challenge 'http://admin:admin@power/outlet?5=CCL'330#331# Here is an example to reboot a virtual box on the current host332# with the name "Guest".333#POWER_CYCLE = virsh destroy Guest; sleep 5; virsh start Guest334335# The script or command that reads the console336#337# If you use ttywatch server, something like the following would work.338#CONSOLE = nc -d localhost 3001339#340# For a virtual machine with guest name "Guest".341#CONSOLE = virsh console Guest342343# Signal to send to kill console.344# ktest.pl will create a child process to monitor the console.345# When the console is finished, ktest will kill the child process346# with this signal.347# (default INT)348#CLOSE_CONSOLE_SIGNAL = HUP349350# Required version ending to differentiate the test351# from other linux builds on the system.352#LOCALVERSION = -test353354# For REBOOT_TYPE = grub2, you must specify where the grub.cfg355# file is. This is the file that is searched to find the menu356# option to boot to with GRUB_REBOOT357#GRUB_FILE = /boot/grub2/grub.cfg358359# The tool for REBOOT_TYPE = grub2 or grub2bls to set the next reboot kernel360# to boot into (one shot mode).361# (default grub2_reboot)362#GRUB_REBOOT = grub2_reboot363364# The grub title name for the test kernel to boot365# (Only mandatory if REBOOT_TYPE = grub or grub2 or grub2bls)366#367# Note, ktest.pl will not update the grub menu.lst, you need to368# manually add an option for the test. ktest.pl will search369# the grub menu.lst for this option to find what kernel to370# reboot into.371#372# For example, if in the /boot/grub/menu.lst the test kernel title has:373# title Test Kernel374# kernel vmlinuz-test375#376# For grub2, a search of top level "menuentry"s are done. No377# submenu is searched. The menu is found by searching for the378# contents of GRUB_MENU in the line that starts with "menuentry".379# You may want to include the quotes around the option. For example:380# for: menuentry 'Test Kernel'381# do a: GRUB_MENU = 'Test Kernel'382# For customizing, add your entry in /etc/grub.d/40_custom.383#384# For grub2bls, a search of "title"s are done. The menu is found385# by searching for the contents of GRUB_MENU in the line that starts386# with "title".387#388#GRUB_MENU = Test Kernel389390# For REBOOT_TYPE = syslinux, the name of the syslinux executable391# (on the target) to use to set up the next reboot to boot the392# test kernel.393# (default extlinux)394#SYSLINUX = syslinux395396# For REBOOT_TYPE = syslinux, the path that is passed to to the397# syslinux command where syslinux is installed.398# (default /boot/extlinux)399#SYSLINUX_PATH = /boot/syslinux400401# For REBOOT_TYPE = syslinux, the syslinux label that references the402# test kernel in the syslinux config file.403# (default undefined)404#SYSLINUX_LABEL = "test-kernel"405406# A script to reboot the target into the test kernel407# This and SWITCH_TO_TEST are about the same, except408# SWITCH_TO_TEST is run even for REBOOT_TYPE = grub.409# This may be left undefined.410# (default undefined)411#REBOOT_SCRIPT =412413#### Optional Config Options (all have defaults) ####414415# Email options for receiving notifications. Users must setup416# the specified mailer prior to using this feature.417#418# (default undefined)419#MAILTO =420#421# Supported mailers: sendmail, mail, mailx422# (default sendmail)423#MAILER = sendmail424#425# The executable to run426# (default: for sendmail "/usr/sbin/sendmail", otherwise equals ${MAILER})427#MAIL_EXEC = /usr/sbin/sendmail428#429# The command used to send mail, which uses the above options430# can be modified. By default if the mailer is "sendmail" then431# MAIL_COMMAND = echo \'Subject: $SUBJECT\n\n$MESSAGE\' | $MAIL_PATH/$MAILER -t $MAILTO432# For mail or mailx:433# MAIL_COMMAND = "$MAIL_PATH/$MAILER -s \'$SUBJECT\' $MAILTO <<< \'$MESSAGE\'434# ktest.pl will do the substitution for MAIL_PATH, MAILER, MAILTO at the time435# it sends the mail if "$FOO" format is used. If "${FOO}" format is used,436# then the substitutions will occur at the time the config file is read.437# But note, MAIL_PATH and MAILER require being set by the config file if438# ${MAIL_PATH} or ${MAILER} are used, but not if $MAIL_PATH or $MAILER are.439#MAIL_COMMAND = echo \'Subject: $SUBJECT\n\n$MESSAGE\' | $MAIL_PATH/$MAILER -t $MAILTO440#441# Errors are defined as those would terminate the script442# (default 1)443#EMAIL_ON_ERROR = 1444# (default 1)445#EMAIL_WHEN_FINISHED = 1446# (default 0)447#EMAIL_WHEN_STARTED = 1448#449# Users can cancel the test by Ctrl^C450# (default 0)451#EMAIL_WHEN_CANCELED = 1452#453# If a test ends with an error and EMAIL_ON_ERROR is set as well454# as a LOG_FILE is defined, then the log of the failing test will455# be included in the email that is sent.456# It is possible that the log may be very large, in which case,457# only the last amount of the log should be sent. To limit how458# much of the log is sent, set MAIL_MAX_SIZE. This will be the459# size in bytes of the last portion of the log of the failed460# test file. That is, if this is set to 100000, then only the461# last 100 thousand bytes of the log file will be included in462# the email.463# (default undef)464#MAIL_MAX_SIZE = 1000000465466# Start a test setup. If you leave this off, all options467# will be default and the test will run once.468# This is a label and not really an option (it takes no value).469# You can append ITERATE and a number after it to iterate the470# test a number of times, or SKIP to ignore this test.471#472#TEST_START473#TEST_START ITERATE 5474#TEST_START SKIP475476# Have the following options as default again. Used after tests477# have already been defined by TEST_START. Optionally, you can478# just define all default options before the first TEST_START479# and you do not need this option.480#481# This is a label and not really an option (it takes no value).482# You can append SKIP to this label and the options within this483# section will be ignored.484#485# DEFAULTS486# DEFAULTS SKIP487488# If you want to execute some command before the first test runs489# you can set this option. Note, it can be set as a default option490# or an option in the first test case. All other test cases will491# ignore it. If both the default and first test have this option492# set, then the first test will take precedence.493#494# default (undefined)495#PRE_KTEST = ${SSH} ~/set_up_test496497# If you want to execute some command after all the tests have498# completed, you can set this option. Note, it can be set as a499# default or any test case can override it. If multiple test cases500# set this option, then the last test case that set it will take501# precedence502#503# default (undefined)504#POST_KTEST = ${SSH} ~/dismantle_test505506# If you want to remove the kernel entry in Boot Loader Specification (BLS)507# environment, use kernel-install command.508# Here's the example:509#POST_KTEST = ssh root@Test "/usr/bin/kernel-install remove $KERNEL_VERSION"510511# The default test type (default test)512# The test types may be:513# build - only build the kernel, do nothing else514# install - build and install, but do nothing else (does not reboot)515# boot - build, install, and boot the kernel516# test - build, boot and if TEST is set, run the test script517# (If TEST is not set, it defaults back to boot)518# bisect - Perform a bisect on the kernel (see BISECT_TYPE below)519# patchcheck - Do a test on a series of commits in git (see PATCHCHECK below)520#TEST_TYPE = test521522# Test to run if there is a successful boot and TEST_TYPE is test.523# Must exit with 0 on success and non zero on error524# default (undefined)525#TEST = ssh user@machine /root/run_test526527# The build type is any make config type or special command528# (default oldconfig)529# nobuild - skip the clean and build step530# useconfig:/path/to/config - use the given config and run531# oldconfig on it.532# This option is ignored if TEST_TYPE is patchcheck or bisect533#BUILD_TYPE = randconfig534535# The make command (default make)536# If you are building a 32bit x86 on a 64 bit host537#MAKE_CMD = CC=i386-gcc AS=i386-as make ARCH=i386538539# Any build options for the make of the kernel (not for other makes, like configs)540# (default "")541#BUILD_OPTIONS = -j20542543# If you need to do some special handling before installing544# you can add a script with this option.545# The environment variable KERNEL_VERSION will be set to the546# kernel version that is used.547#548# default (undefined)549#PRE_INSTALL = ssh user@target rm -rf '/lib/modules/*-test*'550551# If you need an initrd, you can add a script or code here to install552# it. The environment variable KERNEL_VERSION will be set to the553# kernel version that is used. Remember to add the initrd line554# to your grub menu.lst file.555#556# Here's a couple of examples to use:557#POST_INSTALL = ssh user@target /sbin/mkinitrd --allow-missing -f /boot/initramfs-test.img $KERNEL_VERSION558#559# or on some systems:560#POST_INSTALL = ssh user@target /sbin/dracut -f /boot/initramfs-test.img $KERNEL_VERSION561562# If you want to add the kernel entry in Boot Loader Specification (BLS)563# environment, use kernel-install command.564# Here's the example:565#POST_INSTALL = ssh root@Test "/usr/bin/kernel-install add $KERNEL_VERSION /boot/vmlinuz-$KERNEL_VERSION"566567# If for some reason you just want to boot the kernel and you do not568# want the test to install anything new. For example, you may just want569# to boot test the same kernel over and over and do not want to go through570# the hassle of installing anything, you can set this option to 1571# (default 0)572#NO_INSTALL = 1573574# If there is a command that you want to run before the individual test575# case executes, then you can set this option576#577# default (undefined)578#PRE_TEST = ${SSH} reboot_to_special_kernel579580# To kill the entire test if PRE_TEST is defined but fails set this581# to 1.582# (default 0)583#PRE_TEST_DIE = 1584585# If there is a command you want to run after the individual test case586# completes, then you can set this option.587#588# default (undefined)589#POST_TEST = cd ${BUILD_DIR}; git reset --hard590591# If there is a script that you require to run before the build is done592# you can specify it with PRE_BUILD.593#594# One example may be if you must add a temporary patch to the build to595# fix a unrelated bug to perform a patchcheck test. This will apply the596# patch before each build that is made. Use the POST_BUILD to do a git reset --hard597# to remove the patch.598#599# (default undef)600#PRE_BUILD = cd ${BUILD_DIR} && patch -p1 < /tmp/temp.patch601602# To specify if the test should fail if the PRE_BUILD fails,603# PRE_BUILD_DIE needs to be set to 1. Otherwise the PRE_BUILD604# result is ignored.605# (default 0)606# PRE_BUILD_DIE = 1607608# If there is a script that should run after the build is done609# you can specify it with POST_BUILD.610#611# As the example in PRE_BUILD, POST_BUILD can be used to reset modifications612# made by the PRE_BUILD.613#614# (default undef)615#POST_BUILD = cd ${BUILD_DIR} && git reset --hard616617# To specify if the test should fail if the POST_BUILD fails,618# POST_BUILD_DIE needs to be set to 1. Otherwise the POST_BUILD619# result is ignored.620# (default 0)621#POST_BUILD_DIE = 1622623# Way to reboot the box to the test kernel.624# Only valid options so far are "grub", "grub2", "syslinux" and "script"625# (default grub)626# If you specify grub, it will assume grub version 1627# and will search in /boot/grub/menu.lst for the title $GRUB_MENU628# and select that target to reboot to the kernel. If this is not629# your setup, then specify "script" and have a command or script630# specified in REBOOT_SCRIPT to boot to the target.631#632# For REBOOT_TYPE = grub2, you must define both GRUB_MENU and633# GRUB_FILE.634#635# For REBOOT_TYPE = grub2bls, you must define GRUB_MENU.636#637# For REBOOT_TYPE = syslinux, you must define SYSLINUX_LABEL, and638# perhaps modify SYSLINUX (default extlinux) and SYSLINUX_PATH639# (default /boot/extlinux)640#641# The entry in /boot/grub/menu.lst must be entered in manually.642# The test will not modify that file.643#REBOOT_TYPE = grub644645# If you are using a machine that doesn't boot with grub, and646# perhaps gets its kernel from a remote server (tftp), then647# you can use this option to update the target image with the648# test image.649#650# You could also do the same with POST_INSTALL, but the difference651# between that option and this option is that POST_INSTALL runs652# after the install, where this one runs just before a reboot.653# (default undefined)654#SWITCH_TO_TEST = cp ${OUTPUT_DIR}/${BUILD_TARGET} ${TARGET_IMAGE}655656# If you are using a machine that doesn't boot with grub, and657# perhaps gets its kernel from a remote server (tftp), then658# you can use this option to update the target image with the659# the known good image to reboot safely back into.660#661# This option holds a command that will execute before needing662# to reboot to a good known image.663# (default undefined)664#SWITCH_TO_GOOD = ssh ${SSH_USER}/${MACHINE} cp good_image ${TARGET_IMAGE}665666# The min config that is needed to build for the machine667# A nice way to create this is with the following:668#669# $ ssh target670# $ lsmod > mymods671# $ scp mymods host:/tmp672# $ exit673# $ cd linux.git674# $ rm .config675# $ make LSMOD=mymods localyesconfig676# $ grep '^CONFIG' .config > /home/test/config-min677#678# If you want even less configs:679#680# log in directly to target (do not ssh)681#682# $ su683# # lsmod | cut -d' ' -f1 | xargs rmmod684#685# repeat the above several times686#687# # lsmod > mymods688# # reboot689#690# May need to reboot to get your network back to copy the mymods691# to the host, and then remove the previous .config and run the692# localyesconfig again. The CONFIG_MIN generated like this will693# not guarantee network activity to the box so the TEST_TYPE of694# test may fail.695#696# You might also want to set:697# CONFIG_CMDLINE="<your options here>"698# randconfig may set the above and override your real command699# line options.700# (default undefined)701#MIN_CONFIG = /home/test/config-min702703# Sometimes there's options that just break the boot and704# you do not care about. Here are a few:705# # CONFIG_STAGING is not set706# Staging drivers are horrible, and can break the build.707# # CONFIG_SCSI_DEBUG is not set708# SCSI_DEBUG may change your root partition709# # CONFIG_KGDB_SERIAL_CONSOLE is not set710# KGDB may cause oops waiting for a connection that's not there.711# This option points to the file containing config options that will be prepended712# to the MIN_CONFIG (or be the MIN_CONFIG if it is not set)713#714# Note, config options in MIN_CONFIG will override these options.715#716# (default undefined)717#ADD_CONFIG = /home/test/config-broken718719# The location on the host where to write temp files720# (default /tmp/ktest/${MACHINE})721#TMP_DIR = /tmp/ktest/${MACHINE}722723# Optional log file to write the status (recommended)724# Note, this is a DEFAULT section only option.725# (default undefined)726#LOG_FILE = /home/test/logfiles/target.log727728# Remove old logfile if it exists before starting all tests.729# Note, this is a DEFAULT section only option.730# (default 0)731#CLEAR_LOG = 0732733# Line to define a successful boot up in console output.734# This is what the line contains, not the entire line. If you need735# the entire line to match, then use regular expression syntax like:736# (do not add any quotes around it)737#738# SUCCESS_LINE = ^MyBox Login:$739#740# (default "login:")741#SUCCESS_LINE = login:742743# To speed up between reboots, defining a line that the744# default kernel produces that represents that the default745# kernel has successfully booted and can be used to pass746# a new test kernel to it. Otherwise ktest.pl will wait till747# SLEEP_TIME to continue.748# (default undefined)749#REBOOT_SUCCESS_LINE = login:750751# In case the console constantly fills the screen, having752# a specified time to stop the test after success is recommended.753# (in seconds)754# (default 10)755#STOP_AFTER_SUCCESS = 10756757# In case the console constantly fills the screen, having758# a specified time to stop the test after failure is recommended.759# (in seconds)760# (default 60)761#STOP_AFTER_FAILURE = 60762763# In case the console constantly fills the screen, having764# a specified time to stop the test if it never succeeds nor fails765# is recommended.766# Note: this is ignored if a success or failure is detected.767# (in seconds)768# (default 600, -1 is to never stop)769#STOP_TEST_AFTER = 600770771# Stop testing if a build fails. If set, the script will end if772# a failure is detected, otherwise it will save off the .config,773# dmesg and bootlog in a directory called774# MACHINE-TEST_TYPE_BUILD_TYPE-fail-yyyymmddhhmmss775# if the STORE_FAILURES directory is set.776# (default 1)777# Note, even if this is set to zero, there are some errors that still778# stop the tests.779#DIE_ON_FAILURE = 1780781# Directory to store failure directories on failure. If this is not782# set, DIE_ON_FAILURE=0 will not save off the .config, dmesg and783# bootlog. This option is ignored if DIE_ON_FAILURE is not set.784# (default undefined)785#STORE_FAILURES = /home/test/failures786787# Directory to store success directories on success. If this is not788# set, the .config, dmesg and bootlog will not be saved if a789# test succeeds.790# (default undefined)791#STORE_SUCCESSES = /home/test/successes792793# Build without doing a make mrproper, or removing .config794# (default 0)795#BUILD_NOCLEAN = 0796797# As the test reads the console, after it hits the SUCCESS_LINE798# the time it waits for the monitor to settle down between reads799# can usually be lowered.800# (in seconds) (default 1)801#BOOTED_TIMEOUT = 1802803# The timeout in seconds when we consider the box hung after804# the console stop producing output. Be sure to leave enough805# time here to get pass a reboot. Some machines may not produce806# any console output for a long time during a reboot. You do807# not want the test to fail just because the system was in808# the process of rebooting to the test kernel.809# (default 120)810#TIMEOUT = 120811812# The timeout in seconds when to test if the box can be rebooted813# or not. Before issuing the reboot command, a ssh connection814# is attempted to see if the target machine is still active.815# If the target does not connect within this timeout, a power cycle816# is issued instead of a reboot.817# CONNECT_TIMEOUT = 25818819# The timeout in seconds for how long to wait for any running command820# to timeout. If not defined, it will let it go indefinitely.821# (default undefined)822#RUN_TIMEOUT = 600823824# In between tests, a reboot of the box may occur, and this825# is the time to wait for the console after it stops producing826# output. Some machines may not produce a large lag on reboot827# so this should accommodate it.828# The difference between this and TIMEOUT, is that TIMEOUT happens829# when rebooting to the test kernel. This sleep time happens830# after a test has completed and we are about to start running831# another test. If a reboot to the reliable kernel happens,832# we wait SLEEP_TIME for the console to stop producing output833# before starting the next test.834#835# You can speed up reboot times even more by setting REBOOT_SUCCESS_LINE.836# (default 60)837#SLEEP_TIME = 60838839# The time in between bisects to sleep (in seconds)840# (default 60)841#BISECT_SLEEP_TIME = 60842843# The max wait time (in seconds) for waiting for the console to finish.844# If for some reason, the console is outputting content without845# ever finishing, this will cause ktest to get stuck. This846# option is the max time ktest will wait for the monitor (console)847# to settle down before continuing.848# (default 1800)849#MAX_MONITOR_WAIT850851# The time in between patch checks to sleep (in seconds)852# (default 60)853#PATCHCHECK_SLEEP_TIME = 60854855# Reboot the target box on error (default 0)856#REBOOT_ON_ERROR = 0857858# Power off the target on error (ignored if REBOOT_ON_ERROR is set)859# Note, this is a DEFAULT section only option.860# (default 0)861#POWEROFF_ON_ERROR = 0862863# Power off the target after all tests have completed successfully864# Note, this is a DEFAULT section only option.865# (default 0)866#POWEROFF_ON_SUCCESS = 0867868# Reboot the target after all test completed successfully (default 1)869# (ignored if POWEROFF_ON_SUCCESS is set)870#REBOOT_ON_SUCCESS = 1871872# In case there are issues with rebooting, you can specify this873# to always powercycle after this amount of time after calling874# reboot.875# Note, POWERCYCLE_AFTER_REBOOT = 0 does NOT disable it. It just876# makes it powercycle immediately after rebooting. Do not define877# it if you do not want it.878# (default undefined)879#POWERCYCLE_AFTER_REBOOT = 5880881# In case there's issues with halting, you can specify this882# to always poweroff after this amount of time after calling883# halt.884# Note, POWEROFF_AFTER_HALT = 0 does NOT disable it. It just885# makes it poweroff immediately after halting. Do not define886# it if you do not want it.887# (default undefined)888#POWEROFF_AFTER_HALT = 20889890# A script or command to power off the box (default undefined)891# Needed for POWEROFF_ON_ERROR and SUCCESS892#893# Example for digital loggers power switch:894#POWER_OFF = wget --no-proxy -O /dev/null -q --auth-no-challenge 'http://admin:admin@power/outlet?5=OFF'895#896# Example for a virtual guest call "Guest".897#POWER_OFF = virsh destroy Guest898899# To have the build fail on "new" warnings, create a file that900# contains a list of all known warnings (they must match exactly901# to the line with 'warning:', 'error:' or 'Error:'. If the option902# WARNINGS_FILE is set, then that file will be read, and if the903# build detects a warning, it will examine this file and if the904# warning does not exist in it, it will fail the build.905#906# Note, if this option is defined to a file that does not exist907# then any warning will fail the build.908# (see make_warnings_file below)909#910# (optional, default undefined)911#WARNINGS_FILE = ${OUTPUT_DIR}/warnings_file912913# The way to execute a command on the target914# (default ssh $SSH_USER@$MACHINE $SSH_COMMAND";)915# The variables SSH_USER, MACHINE and SSH_COMMAND are defined916#SSH_EXEC = ssh $SSH_USER@$MACHINE $SSH_COMMAND";917918# The way to copy a file to the target (install and modules)919# (default scp $SRC_FILE $SSH_USER@$MACHINE:$DST_FILE)920# The variables SSH_USER, MACHINE are defined by the config921# SRC_FILE and DST_FILE are ktest internal variables and922# should only have '$' and not the '${}' notation.923# (default scp $SRC_FILE ${SSH_USER}@${MACHINE}:$DST_FILE)924#SCP_TO_TARGET = echo skip scp for $SRC_FILE $DST_FILE925926# If install needs to be different than modules, then this927# option will override the SCP_TO_TARGET for installation.928# (default ${SCP_TO_TARGET} )929#SCP_TO_TARGET_INSTALL = scp $SRC_FILE tftp@tftpserver:$DST_FILE930931# The nice way to reboot the target932# (default ssh $SSH_USER@$MACHINE reboot)933# The variables SSH_USER and MACHINE are defined.934#REBOOT = ssh $SSH_USER@$MACHINE reboot935936# The return code of REBOOT937# (default 255)938#REBOOT_RETURN_CODE = 255939940# The way triple faults are detected is by testing the kernel941# banner. If the kernel banner for the kernel we are testing is942# found, and then later a kernel banner for another kernel version943# is found, it is considered that we encountered a triple fault,944# and there is no panic or callback, but simply a reboot.945# To disable this (because it did a false positive) set the following946# to 0.947# (default 1)948#DETECT_TRIPLE_FAULT = 0949950# All options in the config file should be either used by ktest951# or could be used within a value of another option. If an option952# in the config file is not used, ktest will warn about it and ask953# if you want to continue.954#955# If you don't care if there are non-used options, enable this956# option. Be careful though, a non-used option is usually a sign957# of an option name being typed incorrectly.958# (default 0)959#IGNORE_UNUSED = 1960961# When testing a kernel that happens to have WARNINGs, and call962# traces, ktest.pl will detect these and fail a boot or test run963# due to warnings. By setting this option, ktest will ignore964# call traces, and will not fail a test if the kernel produces965# an oops. Use this option with care.966# (default 0)967#IGNORE_ERRORS = 1968969#### Per test run options ####970# The following options are only allowed in TEST_START sections.971# They are ignored in the DEFAULTS sections.972#973# All of these are optional and undefined by default, although974# some of these options are required for TEST_TYPE of patchcheck975# and bisect.976#977#978# CHECKOUT = branch979#980# If the BUILD_DIR is a git repository, then you can set this option981# to checkout the given branch before running the TEST. If you982# specify this for the first run, that branch will be used for983# all preceding tests until a new CHECKOUT is set.984#985#986# TEST_NAME = name987#988# If you want the test to have a name that is displayed in989# the test result banner at the end of the test, then use this990# option. This is useful to search for the RESULT keyword and991# not have to translate a test number to a test in the config.992#993# For TEST_TYPE = patchcheck994#995# This expects the BUILD_DIR to be a git repository, and996# will checkout the PATCHCHECK_START commit.997#998# The option BUILD_TYPE will be ignored.999#1000# The MIN_CONFIG will be used for all builds of the patchcheck. The build type1001# used for patchcheck is oldconfig.1002#1003# PATCHCHECK_START is required and is the first patch to1004# test (the SHA1 of the commit). You may also specify anything1005# that git checkout allows (branch name, tag, HEAD~3).1006#1007# PATCHCHECK_END is the last patch to check (default HEAD)1008#1009# PATCHCHECK_CHERRY if set to non zero, then git cherry will be1010# performed against PATCHCHECK_START and PATCHCHECK_END. That is1011#1012# git cherry ${PATCHCHECK_START} ${PATCHCHECK_END}1013#1014# Then the changes found will be tested.1015#1016# Note, PATCHCHECK_CHERRY requires PATCHCHECK_END to be defined.1017# (default 0)1018#1019# PATCHCHECK_SKIP is an optional list of shas to skip testing1020#1021# PATCHCHECK_TYPE is required and is the type of test to run:1022# build, boot, test.1023#1024# Note, the build test will look for warnings, if a warning occurred1025# in a file that a commit touches, the build will fail, unless1026# IGNORE_WARNINGS is set for the given commit's sha11027#1028# IGNORE_WARNINGS can be used to disable the failure of patchcheck1029# on a particular commit (SHA1). You can add more than one commit1030# by adding a list of SHA1s that are space delimited.1031#1032# If BUILD_NOCLEAN is set, then make mrproper will not be run on1033# any of the builds, just like all other TEST_TYPE tests. But1034# what makes patchcheck different from the other tests, is if1035# BUILD_NOCLEAN is not set, only the first and last patch run1036# make mrproper. This helps speed up the test.1037#1038# Example:1039# TEST_START1040# TEST_TYPE = patchcheck1041# CHECKOUT = mybranch1042# PATCHCHECK_TYPE = boot1043# PATCHCHECK_START = 747e94ae3d1b4c9bf5380e569f614eb9040b79e71044# PATCHCHECK_END = HEAD~21045# IGNORE_WARNINGS = 42f9c6b69b54946ffc0515f57d01dc7f5c0e4712 0c17ca2c7187f431d8ffc79e81addc730f33d1281046#1047#1048#1049# For TEST_TYPE = bisect1050#1051# You can specify a git bisect if the BUILD_DIR is a git repository.1052# The MIN_CONFIG will be used for all builds of the bisect. The build type1053# used for bisecting is oldconfig.1054#1055# The option BUILD_TYPE will be ignored.1056#1057# BISECT_TYPE is the type of test to perform:1058# build - bad fails to build1059# boot - bad builds but fails to boot1060# test - bad boots but fails a test1061#1062# BISECT_GOOD is the commit (SHA1) to label as good (accepts all git good commit types)1063# BISECT_BAD is the commit to label as bad (accepts all git bad commit types)1064#1065# The above three options are required for a bisect operation.1066#1067# BISECT_REPLAY = /path/to/replay/file (optional, default undefined)1068#1069# If an operation failed in the bisect that was not expected to1070# fail. Then the test ends. The state of the BUILD_DIR will be1071# left off at where the failure occurred. You can examine the1072# reason for the failure, and perhaps even find a git commit1073# that would work to continue with. You can run:1074#1075# git bisect log > /path/to/replay/file1076#1077# The adding:1078#1079# BISECT_REPLAY= /path/to/replay/file1080#1081# And running the test again. The test will perform the initial1082# git bisect start, git bisect good, and git bisect bad, and1083# then it will run git bisect replay on this file, before1084# continuing with the bisect.1085#1086# BISECT_START = commit (optional, default undefined)1087#1088# As with BISECT_REPLAY, if the test failed on a commit that1089# just happen to have a bad commit in the middle of the bisect,1090# and you need to skip it. If BISECT_START is defined, it1091# will checkout that commit after doing the initial git bisect start,1092# git bisect good, git bisect bad, and running the git bisect replay1093# if the BISECT_REPLAY is set.1094#1095# BISECT_SKIP = 1 (optional, default 0)1096#1097# If BISECT_TYPE is set to test but the build fails, ktest will1098# simply fail the test and end their. You could use BISECT_REPLAY1099# and BISECT_START to resume after you found a new starting point,1100# or you could set BISECT_SKIP to 1. If BISECT_SKIP is set to 1,1101# when something other than the BISECT_TYPE fails, ktest.pl will1102# run "git bisect skip" and try again.1103#1104# BISECT_FILES = <path> (optional, default undefined)1105#1106# To just run the git bisect on a specific path, set BISECT_FILES.1107# For example:1108#1109# BISECT_FILES = arch/x86 kernel/time1110#1111# Will run the bisect with "git bisect start -- arch/x86 kernel/time"1112#1113# BISECT_REVERSE = 1 (optional, default 0)1114#1115# In those strange instances where it was broken forever1116# and you are trying to find where it started to work!1117# Set BISECT_GOOD to the commit that was last known to fail1118# Set BISECT_BAD to the commit that is known to start working.1119# With BISECT_REVERSE = 1, The test will consider failures as1120# good, and success as bad.1121#1122# BISECT_MANUAL = 1 (optional, default 0)1123#1124# In case there's a problem with automating the bisect for1125# whatever reason. (Can't reboot, want to inspect each iteration)1126# Doing a BISECT_MANUAL will have the test wait for you to1127# tell it if the test passed or failed after each iteration.1128# This is basically the same as running git bisect yourself1129# but ktest will rebuild and install the kernel for you.1130#1131# BISECT_CHECK = 1 (optional, default 0)1132#1133# Just to be sure the good is good and bad is bad, setting1134# BISECT_CHECK to 1 will start the bisect by first checking1135# out BISECT_BAD and makes sure it fails, then it will check1136# out BISECT_GOOD and makes sure it succeeds before starting1137# the bisect (it works for BISECT_REVERSE too).1138#1139# You can limit the test to just check BISECT_GOOD or1140# BISECT_BAD with BISECT_CHECK = good or1141# BISECT_CHECK = bad, respectively.1142#1143# BISECT_TRIES = 5 (optional, default 1)1144#1145# For those cases that it takes several tries to hit a bug,1146# the BISECT_TRIES is useful. It is the number of times the1147# test is ran before it says the kernel is good. The first failure1148# will stop trying and mark the current SHA1 as bad.1149#1150# Note, as with all race bugs, there's no guarantee that if1151# it succeeds, it is really a good bisect. But it helps in case1152# the bug is some what reliable.1153#1154# You can set BISECT_TRIES to zero, and all tests will be considered1155# good, unless you also set BISECT_MANUAL.1156#1157# BISECT_RET_GOOD = 0 (optional, default undefined)1158#1159# In case the specificed test returns something other than just1160# 0 for good, and non-zero for bad, you can override 0 being1161# good by defining BISECT_RET_GOOD.1162#1163# BISECT_RET_BAD = 1 (optional, default undefined)1164#1165# In case the specificed test returns something other than just1166# 0 for good, and non-zero for bad, you can override non-zero being1167# bad by defining BISECT_RET_BAD.1168#1169# BISECT_RET_ABORT = 255 (optional, default undefined)1170#1171# If you need to abort the bisect if the test discovers something1172# that was wrong, you can define BISECT_RET_ABORT to be the error1173# code returned by the test in order to abort the bisect.1174#1175# BISECT_RET_SKIP = 2 (optional, default undefined)1176#1177# If the test detects that the current commit is neither good1178# nor bad, but something else happened (another bug detected)1179# you can specify BISECT_RET_SKIP to an error code that the1180# test returns when it should skip the current commit.1181#1182# BISECT_RET_DEFAULT = good (optional, default undefined)1183#1184# You can override the default of what to do when the above1185# options are not hit. This may be one of, "good", "bad",1186# "abort" or "skip" (without the quotes).1187#1188# Note, if you do not define any of the previous BISECT_RET_*1189# and define BISECT_RET_DEFAULT, all bisects results will do1190# what the BISECT_RET_DEFAULT has.1191#1192#1193# Example:1194# TEST_START1195# TEST_TYPE = bisect1196# BISECT_GOOD = v2.6.361197# BISECT_BAD = b5153163ed580e00c67bdfecb02b2e3843817b3e1198# BISECT_TYPE = build1199# MIN_CONFIG = /home/test/config-bisect1200#1201#1202#1203# For TEST_TYPE = config_bisect1204#1205# In those cases that you have two different configs. One of them1206# work, the other does not, and you do not know what config causes1207# the problem.1208# The TEST_TYPE config_bisect will bisect the bad config looking for1209# what config causes the failure.1210#1211# The way it works is this:1212#1213# You can specify a good config with CONFIG_BISECT_GOOD, otherwise it1214# will use the MIN_CONFIG, and if that's not specified, it will use1215# the config that comes with "make defconfig".1216#1217# It runs both the good and bad configs through a make oldconfig to1218# make sure that they are set up for the kernel that is checked out.1219#1220# It then reads the configs that are set, as well as the ones that are1221# not set for both the good and bad configs, and then compares them.1222# It will set half of the good configs within the bad config (note,1223# "set" means to make the bad config match the good config, a config1224# in the good config that is off, will be turned off in the bad1225# config. That is considered a "set").1226#1227# It tests this new config and if it works, it becomes the new good1228# config, otherwise it becomes the new bad config. It continues this1229# process until there's only one config left and it will report that1230# config.1231#1232# The "bad config" can also be a config that is needed to boot but was1233# disabled because it depended on something that wasn't set.1234#1235# During this process, it saves the current good and bad configs in1236# ${TMP_DIR}/good_config and ${TMP_DIR}/bad_config respectively.1237# If you stop the test, you can copy them to a new location to1238# reuse them again.1239#1240# Although the MIN_CONFIG may be the config it starts with, the1241# MIN_CONFIG is ignored.1242#1243# The option BUILD_TYPE will be ignored.1244#1245# CONFIG_BISECT_TYPE is the type of test to perform:1246# build - bad fails to build1247# boot - bad builds but fails to boot1248# test - bad boots but fails a test1249#1250# CONFIG_BISECT is the config that failed to boot1251#1252# If BISECT_MANUAL is set, it will pause between iterations.1253# This is useful to use just ktest.pl just for the config bisect.1254# If you set it to build, it will run the bisect and you can1255# control what happens in between iterations. It will ask you if1256# the test succeeded or not and continue the config bisect.1257#1258# CONFIG_BISECT_GOOD (optional)1259# If you have a good config to start with, then you1260# can specify it with CONFIG_BISECT_GOOD. Otherwise1261# the MIN_CONFIG is the base, if MIN_CONFIG is not set1262# It will build a config with "make defconfig"1263#1264# CONFIG_BISECT_CHECK (optional)1265# Set this to 1 if you want to confirm that the config ktest1266# generates (the bad config with the min config) is still bad.1267# It may be that the min config fixes what broke the bad config1268# and the test will not return a result.1269# Set it to "good" to test only the good config and set it1270# to "bad" to only test the bad config.1271#1272# CONFIG_BISECT_EXEC (optional)1273# The config bisect is a separate program that comes with ktest.pl.1274# By default, it will look for:1275# `pwd`/config-bisect.pl # the location ktest.pl was executed from.1276# If it does not find it there, it will look for:1277# `dirname <ktest.pl>`/config-bisect.pl # The directory that holds ktest.pl1278# If it does not find it there, it will look for:1279# ${BUILD_DIR}/tools/testing/ktest/config-bisect.pl1280# Setting CONFIG_BISECT_EXEC will override where it looks.1281#1282# Example:1283# TEST_START1284# TEST_TYPE = config_bisect1285# CONFIG_BISECT_TYPE = build1286# CONFIG_BISECT = /home/test/config-bad1287# MIN_CONFIG = /home/test/config-min1288# BISECT_MANUAL = 11289#1290#1291#1292# For TEST_TYPE = make_min_config1293#1294# After doing a make localyesconfig, your kernel configuration may1295# not be the most useful minimum configuration. Having a true minimum1296# config that you can use against other configs is very useful if1297# someone else has a config that breaks on your code. By only forcing1298# those configurations that are truly required to boot your machine1299# will give you less of a chance that one of your set configurations1300# will make the bug go away. This will give you a better chance to1301# be able to reproduce the reported bug matching the broken config.1302#1303# Note, this does take some time, and may require you to run the1304# test over night, or perhaps over the weekend. But it also allows1305# you to interrupt it, and gives you the current minimum config1306# that was found till that time.1307#1308# Note, this test automatically assumes a BUILD_TYPE of oldconfig1309# and its test type acts like boot.1310# TODO: add a test version that makes the config do more than just1311# boot, like having network access.1312#1313# To save time, the test does not just grab any option and test1314# it. The Kconfig files are examined to determine the dependencies1315# of the configs. If a config is chosen that depends on another1316# config, that config will be checked first. By checking the1317# parents first, we can eliminate whole groups of configs that1318# may have been enabled.1319#1320# For example, if a USB device config is chosen and depends on CONFIG_USB,1321# the CONFIG_USB will be tested before the device. If CONFIG_USB is1322# found not to be needed, it, as well as all configs that depend on1323# it, will be disabled and removed from the current min_config.1324#1325# OUTPUT_MIN_CONFIG is the path and filename of the file that will1326# be created from the MIN_CONFIG. If you interrupt the test, set1327# this file as your new min config, and use it to continue the test.1328# This file does not need to exist on start of test.1329# This file is not created until a config is found that can be removed.1330# If this file exists, you will be prompted if you want to use it1331# as the min_config (overriding MIN_CONFIG) if START_MIN_CONFIG1332# is not defined.1333# (required field)1334#1335# START_MIN_CONFIG is the config to use to start the test with.1336# you can set this as the same OUTPUT_MIN_CONFIG, but if you do1337# the OUTPUT_MIN_CONFIG file must exist.1338# (default MIN_CONFIG)1339#1340# IGNORE_CONFIG is used to specify a config file that has configs that1341# you already know must be set. Configs are written here that have1342# been tested and proved to be required. It is best to define this1343# file if you intend on interrupting the test and running it where1344# it left off. New configs that it finds will be written to this file1345# and will not be tested again in later runs.1346# (optional)1347#1348# MIN_CONFIG_TYPE can be either 'boot' or 'test'. With 'boot' it will1349# test if the created config can just boot the machine. If this is1350# set to 'test', then the TEST option must be defined and the created1351# config will not only boot the target, but also make sure that the1352# config lets the test succeed. This is useful to make sure the final1353# config that is generated allows network activity (ssh).1354# (optional)1355#1356# USE_OUTPUT_MIN_CONFIG set this to 1 if you do not want to be prompted1357# about using the OUTPUT_MIN_CONFIG as the MIN_CONFIG as the starting1358# point. Set it to 0 if you want to always just use the given MIN_CONFIG.1359# If it is not defined, it will prompt you to pick which config1360# to start with (MIN_CONFIG or OUTPUT_MIN_CONFIG).1361#1362# Example:1363#1364# TEST_TYPE = make_min_config1365# OUTPUT_MIN_CONFIG = /path/to/config-new-min1366# START_MIN_CONFIG = /path/to/config-min1367# IGNORE_CONFIG = /path/to/config-tested1368# MIN_CONFIG_TYPE = test1369# TEST = ssh ${USER}@${MACHINE} echo hi1370#1371#1372#1373#1374# For TEST_TYPE = make_warnings_file1375#1376# If you want the build to fail when a new warning is discovered1377# you set the WARNINGS_FILE to point to a file of known warnings.1378#1379# The test "make_warnings_file" will let you create a new warnings1380# file before you run other tests, like patchcheck.1381#1382# What this test does is to run just a build, you still need to1383# specify BUILD_TYPE to tell the test what type of config to use.1384# A BUILD_TYPE of nobuild will fail this test.1385#1386# The test will do the build and scan for all warnings. Any warning1387# it discovers will be saved in the WARNINGS_FILE (required) option.1388#1389# It is recommended (but not necessary) to make sure BUILD_NOCLEAN is1390# off, so that a full build is done (make mrproper is performed).1391# That way, all warnings will be captured.1392#1393# Example:1394#1395# TEST_TYPE = make_warnings_file1396# WARNINGS_FILE = ${OUTPUT_DIR}1397# BUILD_TYPE = useconfig:oldconfig1398# CHECKOUT = v3.81399# BUILD_NOCLEAN = 01400#140114021403