summaryrefslogtreecommitdiff
path: root/tools/testing/ktest
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2010-11-02 14:58:33 -0400
committerSteven Rostedt <rostedt@goodmis.org>2010-11-18 11:23:08 -0500
commit8b37ca8cac46b2c108386e3901cc8611dc81c7aa (patch)
treedb2afe35d5579f8ec7631dac6eaef0ecccafbe00 /tools/testing/ktest
parenta75fececff3cc1e86d74e98de634ea2ed1b47697 (diff)
ktest: Add POST_INSTALL to allow initrds to be created
Add a POST_INSTALL option that runs after the build and install but before rebooting to the test kernel. This alls the user to run a script that will install an initrd (or anything else that may be special) before booting. An environment variable KERNEL_VERSION is set. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'tools/testing/ktest')
-rw-r--r--tools/testing/ktest/ktest.pl11
-rw-r--r--tools/testing/ktest/sample.conf5
2 files changed, 16 insertions, 0 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 1f28c45f15b8..687a85475af5 100644
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -58,6 +58,7 @@ my $grub_menu;
my $grub_number;
my $target;
my $make;
+my $post_install;
my $noclean;
my $minconfig;
my $addconfig;
@@ -489,6 +490,15 @@ sub install {
dodie "failed to tar modules";
run_command "ssh $target rm -f /tmp/$modtar";
+
+ return if (!defined($post_install));
+
+ my $save_env = $ENV{KERNEL_VERSION};
+
+ $ENV{KERNEL_VERSION} = $version;
+ run_command "$post_install";
+
+ $ENV{KERNEL_VERSION} = $save_env;
}
sub check_buildlog {
@@ -1055,6 +1065,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
$addconfig = set_test_option("ADD_CONFIG", $i);
$reboot_type = set_test_option("REBOOT_TYPE", $i);
$grub_menu = set_test_option("GRUB_MENU", $i);
+ $post_install = set_test_option("POST_INSTALL", $i);
$reboot_script = set_test_option("REBOOT_SCRIPT", $i);
$reboot_on_error = set_test_option("REBOOT_ON_ERROR", $i);
$poweroff_on_error = set_test_option("POWEROFF_ON_ERROR", $i);
diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
index 42f803fe4a8d..0115a6762a6d 100644
--- a/tools/testing/ktest/sample.conf
+++ b/tools/testing/ktest/sample.conf
@@ -93,6 +93,11 @@
# If you are building a 32bit x86 on a 64 bit host
#MAKE_CMD = CC=i386-gcc AS=i386-as make ARCH=i386
+# If you need an initrd, you can add a script or code here to install
+# it. The environment variable KERNEL_VERSION will be set to the
+# kernel version that is used.
+#POST_INSTALL = ssh user@target /sbin/mkinitrd --allow-missing -f /boot/initramfs-test.img $KERNEL_VERSION
+
# Way to reboot the box to the test kernel.
# Only valid options so far are "grub" and "script"
# (default grub)