From 36867f1abf5d82106447fa4d25275471c0406a56 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Fri, 10 Jun 2016 08:53:01 +0200 Subject: [PATCH] test: handle kernel panic in testsuite - reboot kernel on panic - qemu don't reboot --- test/TEST-01-BASIC/test.sh | 3 ++- test/TEST-02-SYSTEMD/test.sh | 3 ++- test/TEST-03-USR-MOUNT/test.sh | 3 ++- test/TEST-04-FULL-SYSTEMD/test.sh | 3 ++- test/TEST-10-RAID/test.sh | 3 ++- test/TEST-11-LVM/test.sh | 3 ++- test/TEST-12-RAID-DEG/test.sh | 3 ++- test/TEST-13-ENC-RAID-LVM/test.sh | 9 ++++++--- test/TEST-14-IMSM/test.sh | 3 ++- test/TEST-15-BTRFSRAID/test.sh | 3 ++- test/TEST-16-DMSQUASH/test.sh | 3 ++- test/TEST-17-LVM-THIN/test.sh | 3 ++- test/TEST-20-NFS/test.sh | 6 ++++-- test/TEST-30-ISCSI/test.sh | 6 ++++-- test/TEST-40-NBD/test.sh | 6 ++++-- test/TEST-50-MULTINIC/test.sh | 6 ++++-- 16 files changed, 44 insertions(+), 22 deletions(-) diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index ab84074..e74c673 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -14,7 +14,8 @@ test_run() { -m 256M -smp 2 -nographic \ -net none \ -watchdog i6300esb -watchdog-action poweroff \ - -append "root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing || return 1 grep -F -m 1 -q dracut-root-block-success $TESTDIR/result || return 1 } diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh index 350cff8..6189561 100755 --- a/test/TEST-02-SYSTEMD/test.sh +++ b/test/TEST-02-SYSTEMD/test.sh @@ -10,7 +10,8 @@ test_run() { -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext3 \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=LABEL=dracut rw loglevel=77 systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug init=/sbin/init rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=LABEL=dracut rw loglevel=77 systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug init=/sbin/init rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext3 || return 1 } diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh index ed76d35..c515613 100755 --- a/test/TEST-03-USR-MOUNT/test.sh +++ b/test/TEST-03-USR-MOUNT/test.sh @@ -21,7 +21,8 @@ client_run() { -m 256M -smp 2 -nographic \ -net none \ -watchdog i6300esb -watchdog-action poweroff \ - -append "root=LABEL=dracut $client_opts quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=LABEL=dracut $client_opts quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing if (($? != 0)); then diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh index 88711ef..3baabb4 100755 --- a/test/TEST-04-FULL-SYSTEMD/test.sh +++ b/test/TEST-04-FULL-SYSTEMD/test.sh @@ -22,7 +22,8 @@ client_run() { -drive format=raw,index=2,media=disk,file=$TESTDIR/result \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing if (($? != 0)); then diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh index 2d09314..5324457 100755 --- a/test/TEST-10-RAID/test.sh +++ b/test/TEST-10-RAID/test.sh @@ -12,7 +12,8 @@ test_run() { -drive format=raw,index=0,media=disk,file=$DISKIMAGE \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=/dev/dracut/root rd.auto rw rd.retry=10 console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=/dev/dracut/root rd.auto rw rd.retry=10 console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1 } diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh index 97c2f97..cf7d376 100755 --- a/test/TEST-11-LVM/test.sh +++ b/test/TEST-11-LVM/test.sh @@ -11,7 +11,8 @@ test_run() { -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2 || return 1 } diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh index 09d78dd..4c313eb 100755 --- a/test/TEST-12-RAID-DEG/test.sh +++ b/test/TEST-12-RAID-DEG/test.sh @@ -19,7 +19,8 @@ client_run() { -drive format=raw,index=2,media=disk,file=$TESTDIR/disk2.img.new \ -drive format=raw,index=3,media=disk,file=$TESTDIR/disk3.img.new \ -net none \ - -append "$* root=LABEL=root rw rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL " \ + -no-reboot \ + -append "panic=1 $* root=LABEL=root rw rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL " \ -initrd $TESTDIR/initramfs.testing if ! grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2; then echo "CLIENT TEST END: $@ [FAIL]" diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh index 3e8c3e2..b8fd26e 100755 --- a/test/TEST-13-ENC-RAID-LVM/test.sh +++ b/test/TEST-13-ENC-RAID-LVM/test.sh @@ -19,7 +19,8 @@ test_run() { -drive format=raw,index=1,media=disk,file=$TESTDIR/check-success.img \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=/dev/dracut/root rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug rootwait $LUKSARGS rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=/dev/dracut/root rw rd.auto rd.retry=20 console=ttyS0,115200n81 selinux=0 rd.debug rootwait $LUKSARGS rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $TESTDIR/check-success.img || return 1 echo "CLIENT TEST END: [OK]" @@ -32,7 +33,8 @@ test_run() { -drive format=raw,index=1,media=disk,file=$TESTDIR/check-success.img \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=/dev/dracut/root rw quiet rd.auto rd.retry=20 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=/dev/dracut/root rw quiet rd.auto rd.retry=20 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $TESTDIR/check-success.img || return 1 echo "CLIENT TEST END: [OK]" @@ -45,7 +47,8 @@ test_run() { -drive format=raw,index=1,media=disk,file=$TESTDIR/check-success.img \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=/dev/dracut/root rw quiet rd.auto rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL rd.luks.uuid=failme" \ + -no-reboot \ + -append "panic=1 root=/dev/dracut/root rw quiet rd.auto rd.retry=10 rd.info console=ttyS0,115200n81 selinux=0 rd.debug $DEBUGFAIL rd.luks.uuid=failme" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $TESTDIR/check-success.img && return 1 echo "CLIENT TEST END: [OK]" diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh index 9083fd5..f9f03b7 100755 --- a/test/TEST-14-IMSM/test.sh +++ b/test/TEST-14-IMSM/test.sh @@ -15,7 +15,8 @@ client_run() { -drive format=raw,index=2,media=disk,file=$TESTDIR/disk2 \ -m 256M -nographic \ -net none \ - -append "$* root=LABEL=root rw debug rd.retry=5 rd.debug console=ttyS0,115200n81 selinux=0 rd.info rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 $* root=LABEL=root rw debug rd.retry=5 rd.debug console=ttyS0,115200n81 selinux=0 rd.info rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing if ! grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2; then echo "CLIENT TEST END: $@ [FAIL]" diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh index 281f856..adf31b1 100755 --- a/test/TEST-15-BTRFSRAID/test.sh +++ b/test/TEST-15-BTRFSRAID/test.sh @@ -11,7 +11,8 @@ test_run() { -drive format=raw,index=0,media=disk,file=$DISKIMAGE \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing dd if=$DISKIMAGE bs=512 count=4 skip=2048 | grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1 } diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh index 4d72470..876d910 100755 --- a/test/TEST-16-DMSQUASH/test.sh +++ b/test/TEST-16-DMSQUASH/test.sh @@ -22,7 +22,8 @@ test_run() { -m 256M -smp 2 \ -nographic \ -net none \ - -append "root=live:CDLABEL=LiveCD live rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=live:CDLABEL=LiveCD live rw quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing # mediacheck test with qemu GUI diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh index 1485f72..1ad9ba6 100755 --- a/test/TEST-17-LVM-THIN/test.sh +++ b/test/TEST-17-LVM-THIN/test.sh @@ -11,7 +11,8 @@ test_run() { -drive format=raw,index=0,media=disk,file=$TESTDIR/root.ext2 \ -m 256M -smp 2 -nographic \ -net none \ - -append "root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ + -no-reboot \ + -append "panic=1 root=/dev/dracut/root rw rd.auto=1 quiet rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ -initrd $TESTDIR/initramfs.testing grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2 || return 1 } diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh index d7df71e..222bd24 100755 --- a/test/TEST-20-NFS/test.sh +++ b/test/TEST-20-NFS/test.sh @@ -20,7 +20,8 @@ run_server() { -net nic,macaddr=52:54:00:12:34:56,model=e1000 \ -serial ${SERIAL:-null} \ -watchdog i6300esb -watchdog-action poweroff \ - -append "rd.debug loglevel=77 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \ + -no-reboot \ + -append "panic=1 rd.debug loglevel=77 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \ -initrd $TESTDIR/initramfs.server \ -pidfile $TESTDIR/server.pid -daemonize || return 1 sudo chmod 644 $TESTDIR/server.pid || return 1 @@ -54,7 +55,8 @@ client_test() { -net nic,macaddr=$mac,model=e1000 \ -net socket,connect=127.0.0.1:12320 \ -watchdog i6300esb -watchdog-action poweroff \ - -append "rd.shell=0 $cmdline $DEBUGFAIL rd.debug rd.retry=10 rd.info quiet ro console=ttyS0,115200n81 selinux=0" \ + -no-reboot \ + -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.debug rd.retry=10 rd.info quiet ro console=ttyS0,115200n81 selinux=0" \ -initrd $TESTDIR/initramfs.testing if [[ $? -ne 0 ]] || ! grep -F -m 1 -q nfs-OK $TESTDIR/client.img; then diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh index 83fd623..63944b3 100755 --- a/test/TEST-30-ISCSI/test.sh +++ b/test/TEST-30-ISCSI/test.sh @@ -25,7 +25,8 @@ run_server() { -net nic,macaddr=52:54:00:12:34:56,model=e1000 \ -net nic,macaddr=52:54:00:12:34:57,model=e1000 \ -net socket,listen=127.0.0.1:12330 \ - -append "root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ + -no-reboot \ + -append "panic=1 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \ -initrd $TESTDIR/initramfs.server \ -pidfile $TESTDIR/server.pid -daemonize || return 1 sudo chmod 644 $TESTDIR/server.pid || return 1 @@ -49,7 +50,8 @@ run_client() { -net nic,macaddr=52:54:00:12:34:00,model=e1000 \ -net nic,macaddr=52:54:00:12:34:01,model=e1000 \ -net socket,connect=127.0.0.1:12330 \ - -append "rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \ + -no-reboot \ + -append "panic=1 rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \ -initrd $TESTDIR/initramfs.testing if ! grep -F -m 1 -q iscsi-OK $TESTDIR/client.img; then echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh index 40e09b7..8d49b05 100755 --- a/test/TEST-40-NBD/test.sh +++ b/test/TEST-40-NBD/test.sh @@ -22,7 +22,8 @@ run_server() { -net nic,macaddr=52:54:00:12:34:56,model=e1000 \ -net socket,listen=127.0.0.1:12340 \ -serial $SERIAL \ - -append "root=/dev/sda rootfstype=ext2 rw quiet console=ttyS0,115200n81 selinux=0" \ + -no-reboot \ + -append "panic=1 root=/dev/sda rootfstype=ext2 rw quiet console=ttyS0,115200n81 selinux=0" \ -initrd $TESTDIR/initramfs.server -pidfile $TESTDIR/server.pid -daemonize || return 1 sudo chmod 644 $TESTDIR/server.pid || return 1 @@ -58,7 +59,8 @@ client_test() { -nographic \ -net nic,macaddr=$mac,model=e1000 \ -net socket,connect=127.0.0.1:12340 \ - -append "rd.shell=0 $cmdline $DEBUGFAIL rd.auto rd.info rd.retry=10 ro console=ttyS0,115200n81 selinux=0 " \ + -no-reboot \ + -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.auto rd.info rd.retry=10 ro console=ttyS0,115200n81 selinux=0 " \ -initrd $TESTDIR/initramfs.testing if [[ $? -ne 0 ]] || ! grep -F -m 1 -q nbd-OK $TESTDIR/flag.img; then diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh index 656c237..ef27682 100755 --- a/test/TEST-50-MULTINIC/test.sh +++ b/test/TEST-50-MULTINIC/test.sh @@ -20,7 +20,8 @@ run_server() { -net nic,macaddr=52:54:01:12:34:56,model=e1000 \ -serial ${SERIAL:-null} \ -watchdog i6300esb -watchdog-action poweroff \ - -append "loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \ + -no-reboot \ + -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.server \ -pidfile "$TESTDIR"/server.pid -daemonize || return 1 sudo chmod 644 -- "$TESTDIR"/server.pid || return 1 @@ -54,7 +55,8 @@ client_test() { -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \ -watchdog i6300esb -watchdog-action poweroff \ - -append "rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \ + -no-reboot \ + -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \ -initrd "$TESTDIR"/initramfs.testing { read OK; read IFACES; } < "$TESTDIR"/client.img