mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-08 14:13:53 +00:00
171ec346fc
bootconfig is a new feature that appends scripts onto the initrd, and the kernel executes the scripts as an extended kernel command line. Need to add tests to test that the happened. To test the bootconfig properly, the initrd needs to be updated and the kernel rebooted. ktest is the perfect solution to perform these tests. Add a example bootconfig.conf in the tools/testing/ktest/examples/include and example bootconfig scripts in tools/testing/ktest/examples/bootconfig and also include verifier scripts that ktest will install on the target and run to make sure that the bootconfig options in the scripts took place after the target rebooted with the new initrd update. Link: https://lkml.kernel.org/r/20210618112647.6a81dec5@oasis.local.home Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
93 lines
2.8 KiB
Plaintext
93 lines
2.8 KiB
Plaintext
#
|
|
# This config is an example usage of ktest.pl with a kvm guest
|
|
#
|
|
# The guest is called 'Guest' and this would be something that
|
|
# could be run on the host to test a virtual machine target.
|
|
|
|
MACHINE = Guest
|
|
|
|
|
|
# Use virsh to read the serial console of the guest
|
|
CONSOLE = virsh console ${MACHINE}
|
|
|
|
# Use SIGKILL to terminate virsh console. We can't kill virsh console
|
|
# by the default signal, SIGINT.
|
|
CLOSE_CONSOLE_SIGNAL = KILL
|
|
|
|
#*************************************#
|
|
# This part is the same as test.conf #
|
|
#*************************************#
|
|
|
|
# The include files will set up the type of test to run. Just set TEST to
|
|
# which test you want to run.
|
|
#
|
|
# TESTS = patchcheck, randconfig, boot, test, config-bisect, bisect, min-config
|
|
#
|
|
# See the include/*.conf files that define these tests
|
|
#
|
|
TEST := patchcheck
|
|
|
|
# Some tests may have more than one test to run. Define MULTI := 1 to run
|
|
# the extra tests.
|
|
MULTI := 0
|
|
|
|
# In case you want to differentiate which type of system you are testing
|
|
BITS := 64
|
|
|
|
# REBOOT = none, error, fail, empty
|
|
# See include/defaults.conf
|
|
REBOOT := empty
|
|
|
|
|
|
# The defaults file will set up various settings that can be used by all
|
|
# machine configs.
|
|
INCLUDE include/defaults.conf
|
|
|
|
|
|
#*************************************#
|
|
# Now we are different from test.conf #
|
|
#*************************************#
|
|
|
|
|
|
# The example here assumes that Guest is running a Fedora release
|
|
# that uses dracut for its initfs. The POST_INSTALL will be executed
|
|
# after the install of the kernel and modules are complete.
|
|
#
|
|
POST_INSTALL = ${SSH} /sbin/dracut -f /boot/initramfs-test.img $KERNEL_VERSION
|
|
|
|
# Guests sometimes get stuck on reboot. We wait 3 seconds after running
|
|
# the reboot command and then do a full power-cycle of the guest.
|
|
# This forces the guest to restart.
|
|
#
|
|
POWERCYCLE_AFTER_REBOOT = 3
|
|
|
|
# We do the same after the halt command, but this time we wait 20 seconds.
|
|
POWEROFF_AFTER_HALT = 20
|
|
|
|
|
|
# As the defaults.conf file has a POWER_CYCLE option already defined,
|
|
# and options can not be defined in the same section more than once
|
|
# (all DEFAULTS sections are considered the same). We use the
|
|
# DEFAULTS OVERRIDE to tell ktest.pl to ignore the previous defined
|
|
# options, for the options set in the OVERRIDE section.
|
|
#
|
|
DEFAULTS OVERRIDE
|
|
|
|
# Instead of using the default POWER_CYCLE option defined in
|
|
# defaults.conf, we use virsh to cycle it. To do so, we destroy
|
|
# the guest, wait 5 seconds, and then start it up again.
|
|
# Crude, but effective.
|
|
#
|
|
POWER_CYCLE = virsh destroy ${MACHINE}; sleep 5; virsh start ${MACHINE}
|
|
|
|
|
|
DEFAULTS
|
|
|
|
# The following files each handle a different test case.
|
|
# Having them included allows you to set up more than one machine and share
|
|
# the same tests.
|
|
INCLUDE include/patchcheck.conf
|
|
INCLUDE include/tests.conf
|
|
INCLUDE include/bisect.conf
|
|
INCLUDE include/min-config.conf
|
|
INCLUDE include/bootconfig.conf |