From f1346763ab7c031605cf74260e6846433f40f823 Mon Sep 17 00:00:00 2001 From: Henrik Gombos Date: Tue, 23 May 2023 22:03:08 +0000 Subject: [PATCH] test: move more common test code to test-functions Move KVERSION and USE_NETWORK definition to test-functions. Add option for qemu_add_drive_args to initialize drive with size. --- test/TEST-01-BASIC/test.sh | 14 ++++----- test/TEST-02-SYSTEMD/test.sh | 14 ++++----- test/TEST-03-USR-MOUNT/test.sh | 17 ++++------- test/TEST-04-FULL-SYSTEMD/test.sh | 17 ++++------- test/TEST-10-RAID/test.sh | 20 +++++-------- test/TEST-11-LVM/test.sh | 20 +++++-------- test/TEST-12-RAID-DEG/test.sh | 20 +++++-------- test/TEST-13-ENC-RAID-LVM/test.sh | 29 ++++++++----------- test/TEST-14-IMSM/test.sh | 17 ++++------- test/TEST-15-BTRFSRAID/test.sh | 23 ++++++--------- test/TEST-16-DMSQUASH/test.sh | 14 ++++----- test/TEST-17-LVM-THIN/test.sh | 20 +++++-------- test/TEST-20-NFS/test.sh | 24 ++++++---------- test/TEST-30-ISCSI/test.sh | 33 ++++++++-------------- test/TEST-35-ISCSI-MULTI/test.sh | 33 ++++++++-------------- test/TEST-40-NBD/test.sh | 32 ++++++++------------- test/TEST-50-MULTINIC/test.sh | 14 +++------ test/TEST-60-BONDBRIDGEVLAN/create-root.sh | 12 ++------ test/TEST-60-BONDBRIDGEVLAN/test.sh | 17 ++++++----- test/test-functions | 26 +++++++++++++++-- 20 files changed, 160 insertions(+), 256 deletions(-) diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index ecd6fcb09..e63c9c0d3 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -2,25 +2,23 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on a ext4 filesystem" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures # DEBUGFAIL="rd.shell rd.break" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -device i6300esb -watchdog-action poweroff \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot \"root=LABEL= rdinit=/bin/sh\" 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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img + test_marker_check || return 1 } test_setup() { @@ -48,19 +46,17 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/root.img bs=1MiB count=80 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 80 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -- "$TESTDIR"/marker.img # make sure --omit-drivers does not filter out drivers using regexp to test for an earlier regression (assuming there is no one letter linux kernel module needed to run the test) diff --git a/test/TEST-02-SYSTEMD/test.sh b/test/TEST-02-SYSTEMD/test.sh index ab97f273f..4360dfec3 100755 --- a/test/TEST-02-SYSTEMD/test.sh +++ b/test/TEST-02-SYSTEMD/test.sh @@ -6,23 +6,21 @@ test_check() { command -v systemctl &> /dev/null } -KVERSION="${KVERSION-$(uname -r)}" - # Uncomment this to debug failures #DEBUGFAIL="rd.shell=1 rd.break=pre-mount" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut rw loglevel=77 systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img + test_marker_check || return 1 } test_setup() { @@ -50,19 +48,17 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/root.img bs=1MiB count=80 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 80 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -- "$TESTDIR"/marker.img # systemd-analyze.sh calls man indirectly diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh index b78b56b1a..5c75e23f7 100755 --- a/test/TEST-03-USR-MOUNT/test.sh +++ b/test/TEST-03-USR-MOUNT/test.sh @@ -3,8 +3,6 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on a btrfs filesystem with /usr subvolume" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell rd.break" @@ -15,20 +13,20 @@ client_run() { echo "CLIENT TEST START: $test_name" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -device i6300esb -watchdog-action poweroff \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts loglevel=7 rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.debug rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing || return 1 - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then + if ! test_marker_check; then echo "CLIENT TEST END: $test_name [FAILED]" return 1 fi @@ -69,14 +67,11 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank file to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/root.btrfs bs=1MiB count=160 - dd if=/dev/zero of="$TESTDIR"/usr.btrfs bs=1MiB count=160 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root - qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root 160 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr 160 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ @@ -84,7 +79,7 @@ test_setup() { -append "root=/dev/dracut/root rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img; then + if ! test_marker_check dracut-root-block-created; then echo "Could not create root filesystem" return 1 fi diff --git a/test/TEST-04-FULL-SYSTEMD/test.sh b/test/TEST-04-FULL-SYSTEMD/test.sh index cf79c717e..b48c278d1 100755 --- a/test/TEST-04-FULL-SYSTEMD/test.sh +++ b/test/TEST-04-FULL-SYSTEMD/test.sh @@ -7,8 +7,6 @@ test_check() { command -v systemctl &> /dev/null } -export KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell rd.break" #DEBUGOUT="quiet systemd.log_level=debug systemd.log_target=console loglevel=77 rd.info rd.debug" @@ -20,19 +18,19 @@ client_run() { echo "CLIENT TEST START: $test_name" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "systemd.unit=testsuite.target systemd.mask=systemd-firstboot panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=dracut $client_opts rd.retry=3 console=ttyS0,115200n81 selinux=0 $DEBUGOUT rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing || return 1 - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then + if ! test_marker_check; then echo "CLIENT TEST END: $test_name [FAILED]" return 1 fi @@ -130,15 +128,12 @@ EOF rm -rf -- "$TESTDIR"/overlay/* # Create the blank file to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/root.btrfs bs=1MiB count=160 - dd if=/dev/zero of="$TESTDIR"/usr.btrfs bs=1MiB count=160 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root - qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.btrfs root 160 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/usr.btrfs usr 160 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ @@ -146,7 +141,7 @@ EOF -append "root=/dev/fakeroot rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img; then + if ! test_marker_check dracut-root-block-created; then echo "Could not create root filesystem" return 1 fi diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh index 39ca02ac4..d9121bb9c 100755 --- a/test/TEST-10-RAID/test.sh +++ b/test/TEST-10-RAID/test.sh @@ -2,13 +2,10 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on an encrypted LVM PV on a RAID-5" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg" #DEBUGFAIL="rd.break rd.shell rd.debug debug" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -17,12 +14,13 @@ test_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=/dev/dracut/root rd.auto rw rd.retry=10 console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img + test_marker_check || return 1 } test_setup() { @@ -84,23 +82,19 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/raid-1.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/raid-2.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/raid-3.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 40 "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/cannotreach rw rootfstype=ext4 console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 eval "$(grep -F -a -m 1 ID_FS_UUID "$TESTDIR"/marker.img)" ( diff --git a/test/TEST-11-LVM/test.sh b/test/TEST-11-LVM/test.sh index c433abb51..2193ab56b 100755 --- a/test/TEST-11-LVM/test.sh +++ b/test/TEST-11-LVM/test.sh @@ -3,13 +3,10 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on LVM PV" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.break rd.shell" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -18,12 +15,13 @@ test_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot 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 || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img + test_marker_check || return 1 } test_setup() { @@ -84,23 +82,19 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/disk-3.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 40 "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 ( # shellcheck disable=SC2031 diff --git a/test/TEST-12-RAID-DEG/test.sh b/test/TEST-12-RAID-DEG/test.sh index 1ca923d60..b926dc981 100755 --- a/test/TEST-12-RAID-DEG/test.sh +++ b/test/TEST-12-RAID-DEG/test.sh @@ -2,8 +2,6 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on an encrypted LVM PV on a degraded RAID-5" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell rd.break rd.debug" #DEBUGFAIL="rd.shell rd.break=pre-mount udev.log-priority=debug" @@ -12,7 +10,6 @@ KVERSION=${KVERSION-$(uname -r)} client_run() { echo "CLIENT TEST START: $*" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -22,12 +19,13 @@ client_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot $* systemd.log_target=kmsg root=LABEL=root rw rd.retry=10 rd.info console=ttyS0,115200n81 log_buf_len=2M selinux=0 rd.shell=0 $DEBUGFAIL " \ -initrd "$TESTDIR"/initramfs.testing - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then + if ! test_marker_check; then echo "CLIENT TEST END: $* [FAIL]" return 1 fi @@ -114,24 +112,20 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/raid-1.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/raid-2.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/raid-3.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 40 "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 eval "$(grep -F --binary-files=text -m 1 MD_UUID "$TESTDIR"/marker.img)" eval "$(grep -F -a -m 1 ID_FS_UUID "$TESTDIR"/marker.img)" echo "$ID_FS_UUID" > "$TESTDIR"/luksuuid diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh index 287a226f6..e1a2aba1a 100755 --- a/test/TEST-13-ENC-RAID-LVM/test.sh +++ b/test/TEST-13-ENC-RAID-LVM/test.sh @@ -2,8 +2,6 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on LVM on encrypted partitions of a RAID-5" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell rd.break" # udev.log-priority=debug #DEBUGFAIL="rd.shell rd.udev.log-priority=debug loglevel=70 systemd.log_target=kmsg systemd.log_target=debug" @@ -12,8 +10,6 @@ KVERSION=${KVERSION-$(uname -r)} test_run() { LUKSARGS=$(cat "$TESTDIR"/luks.txt) - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 - echo "CLIENT TEST START: $LUKSARGS" declare -a disk_args=() @@ -24,31 +20,32 @@ test_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot 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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 + test_marker_check || return 1 echo "CLIENT TEST END: [OK]" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 + test_marker_reset echo "CLIENT TEST START: Any LUKS" "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot 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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 + test_marker_check || return 1 echo "CLIENT TEST END: [OK]" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 + test_marker_reset echo "CLIENT TEST START: Wrong LUKS UUID" "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot 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 -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img && return 1 + test_marker_check && return 1 echo "CLIENT TEST END: [OK]" return 0 @@ -111,23 +108,19 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/disk-3.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 40 "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 cryptoUUIDS=$(grep -F --binary-files=text -m 3 ID_FS_UUID "$TESTDIR"/marker.img) for uuid in $cryptoUUIDS; do eval "$uuid" diff --git a/test/TEST-14-IMSM/test.sh b/test/TEST-14-IMSM/test.sh index 697cf44a5..6db053ee6 100755 --- a/test/TEST-14-IMSM/test.sh +++ b/test/TEST-14-IMSM/test.sh @@ -2,8 +2,6 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on LVM PV on a isw dmraid" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell" #DEBUGFAIL="$DEBUGFAIL udev.log-priority=debug" @@ -11,7 +9,6 @@ KVERSION=${KVERSION-$(uname -r)} client_run() { echo "CLIENT TEST START: $*" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -19,12 +16,13 @@ client_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot $* 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 || return 1 - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img; then + if ! test_marker_check; then echo "CLIENT TEST END: $* [FAIL]" return 1 fi @@ -108,22 +106,19 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=100 - dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=100 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 100 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 100 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 eval "$(grep -F --binary-files=text -m 1 MD_UUID "$TESTDIR"/marker.img)" if [[ -z $MD_UUID ]]; then diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh index 6d1ecb6ab..9c832d372 100755 --- a/test/TEST-15-BTRFSRAID/test.sh +++ b/test/TEST-15-BTRFSRAID/test.sh @@ -2,12 +2,9 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on multiple device btrfs" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -17,11 +14,12 @@ test_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-4.img raid4 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 + test_marker_check || return 1 } test_setup() { @@ -88,26 +86,21 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/raid-1.img bs=1MiB count=150 - dd if=/dev/zero of="$TESTDIR"/raid-2.img bs=1MiB count=150 - dd if=/dev/zero of="$TESTDIR"/raid-3.img bs=1MiB count=150 - dd if=/dev/zero of="$TESTDIR"/raid-4.img bs=1MiB count=150 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-4.img raid4 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-1.img raid1 150 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-2.img raid2 150 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-3.img raid3 150 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid-4.img raid4 150 "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 ( # shellcheck disable=SC2031 diff --git a/test/TEST-16-DMSQUASH/test.sh b/test/TEST-16-DMSQUASH/test.sh index d8a7bc799..78f1c5bad 100755 --- a/test/TEST-16-DMSQUASH/test.sh +++ b/test/TEST-16-DMSQUASH/test.sh @@ -3,18 +3,16 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="live root on a squash filesystem" -KVERSION="${KVERSION-$(uname -r)}" - # Uncomment these to debug failures #DEBUGFAIL="rd.shell rd.debug rd.live.debug loglevel=7" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -boot order=d \ @@ -33,7 +31,7 @@ test_run() { -append "rd.live.image rd.live.overlay.overlayfs=1 rd.live.dir=testdir root=LABEL=dracut console=ttyS0,115200n81 quiet selinux=0 rd.info rd.shell=0 panic=1 oops=panic softlockup_panic=1 $DEBUGFAIL" \ -initrd "$TESTDIR"/initramfs.testing - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success -- "$TESTDIR"/marker.img || return 1 + test_marker_check || return 1 rootPartitions=$(sfdisk -d "$TESTDIR"/root.img | grep -c 'root\.img[0-9]') [ "$rootPartitions" -eq 1 ] || return 1 @@ -82,12 +80,10 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank file to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 - dd if=/dev/zero of="$TESTDIR"/root.img bs=1MiB count=160 declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.img root 160 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ @@ -95,7 +91,7 @@ test_setup() { -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - if ! grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img; then + if ! test_marker_check dracut-root-block-created; then echo "Could not create root filesystem" return 1 fi diff --git a/test/TEST-17-LVM-THIN/test.sh b/test/TEST-17-LVM-THIN/test.sh index 23e8fab4d..fa983dc37 100755 --- a/test/TEST-17-LVM-THIN/test.sh +++ b/test/TEST-17-LVM-THIN/test.sh @@ -2,13 +2,10 @@ # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on LVM PV with thin pool" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.break rd.shell" test_run() { - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -17,11 +14,12 @@ test_run() { qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot 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 || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-success "$TESTDIR"/marker.img || return 1 + test_marker_check || return 1 } test_setup() { @@ -82,23 +80,19 @@ test_setup() { rm -rf -- "$TESTDIR"/overlay # Create the blank files to use as a root filesystem - dd if=/dev/zero of="$TESTDIR"/disk-1.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/disk-2.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/disk-3.img bs=1MiB count=40 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-1.img disk1 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-2.img disk2 40 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/disk-3.img disk3 40 "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 ( # shellcheck disable=SC2031 diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh index eeeaf742b..8a852ed13 100755 --- a/test/TEST-20-NFS/test.sh +++ b/test/TEST-20-NFS/test.sh @@ -1,12 +1,8 @@ #!/bin/bash -[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" - # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on NFS with $USE_NETWORK" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.debug loglevel=7 rd.break=initqueue rd.shell" SERVER_DEBUG="rd.debug loglevel=7" @@ -18,7 +14,7 @@ run_server() { declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 0 1 "$testdir"/run-qemu \ "${disk_args[@]}" \ @@ -56,13 +52,11 @@ client_test() { echo "CLIENT TEST START: $test_name" # Need this so kvm-qemu will boot (needs non-/dev/zero local disk) - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 - dd if=/dev/zero of="$TESTDIR"/marker2.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker2.img marker2 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker2.img marker2 1 cmdline="$cmdline rd.net.timeout.dhcp=30" "$testdir"/run-qemu \ @@ -74,7 +68,7 @@ client_test() { -initrd "$TESTDIR"/initramfs.testing # shellcheck disable=SC2181 - if [[ $? -ne 0 ]] || ! grep -U --binary-files=binary -F -m 1 -q nfs-OK "$TESTDIR"/marker.img; then + if [[ $? -ne 0 ]] || ! test_marker_check nfs-OK; then echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" return 1 fi @@ -117,7 +111,7 @@ client_test() { return 1 fi - if ! grep -U --binary-files=binary -F -m 1 -q nfsfetch-OK "$TESTDIR"/marker2.img; then + if ! test_marker_check nfsfetch-OK marker2.img; then echo "CLIENT TEST END: $test_name [FAILED - NFS FETCH FAILED]" return 1 fi @@ -376,20 +370,18 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/server - dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=80 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 80 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 # Make an overlay with needed tools for the test harness ( diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh index 761aadb5e..aa6b42721 100755 --- a/test/TEST-30-ISCSI/test.sh +++ b/test/TEST-30-ISCSI/test.sh @@ -1,12 +1,8 @@ #!/bin/bash -[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" - # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem over iSCSI with $USE_NETWORK" -KVERSION=${KVERSION-$(uname -r)} - #DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 " #SERVER_DEBUG="rd.debug loglevel=7" #SERIAL="tcp:127.0.0.1:9999" @@ -17,7 +13,7 @@ run_server() { declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 0 1 qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 @@ -55,11 +51,11 @@ run_client() { shift echo "CLIENT TEST START: $test_name" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -net nic,macaddr=52:54:00:12:34:00,model=e1000 \ @@ -70,7 +66,7 @@ run_client() { -initrd "$TESTDIR"/initramfs.testing # shellcheck disable=SC2181 - if [[ $? -ne 0 ]] || ! grep -U --binary-files=binary -F -m 1 -q iscsi-OK "$TESTDIR"/marker.img; then + if [[ $? -ne 0 ]] || ! test_marker_check iscsi-OK; then echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" return 1 fi @@ -188,24 +184,19 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 - dd if=/dev/zero of="$TESTDIR"/singleroot.img bs=1MiB count=200 - dd if=/dev/zero of="$TESTDIR"/raid0-1.img bs=1MiB count=100 - dd if=/dev/zero of="$TESTDIR"/raid0-2.img bs=1MiB count=100 - declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot 200 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 100 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 100 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -- "$TESTDIR"/marker.img # shellcheck disable=SC2031 @@ -279,20 +270,18 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=60 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 60 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -- "$TESTDIR"/marker.img # Make an overlay with needed tools for the test harness diff --git a/test/TEST-35-ISCSI-MULTI/test.sh b/test/TEST-35-ISCSI-MULTI/test.sh index 225ad7046..3cee87abd 100755 --- a/test/TEST-35-ISCSI-MULTI/test.sh +++ b/test/TEST-35-ISCSI-MULTI/test.sh @@ -1,12 +1,8 @@ #!/bin/bash -[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" - # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem over multiple iSCSI with $USE_NETWORK" -KVERSION=${KVERSION-$(uname -r)} - #DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 " #SERVER_DEBUG="rd.debug loglevel=7" #SERIAL="tcp:127.0.0.1:9999" @@ -17,7 +13,7 @@ run_server() { declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img serverroot 0 1 qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 @@ -54,11 +50,11 @@ run_client() { shift echo "CLIENT TEST START: $test_name" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -net nic,macaddr=52:54:00:12:34:00,model=e1000 \ @@ -66,7 +62,7 @@ run_client() { -net socket,connect=127.0.0.1:12331 \ -append "panic=1 oops=panic softlockup_panic=1 systemd.crash_reboot rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \ -initrd "$TESTDIR"/initramfs.testing - if ! grep -U --binary-files=binary -F -m 1 -q iscsi-OK "$TESTDIR"/marker.img; then + if ! test_marker_check iscsi-OK; then echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" return 1 fi @@ -200,24 +196,19 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 - dd if=/dev/zero of="$TESTDIR"/singleroot.img bs=1MiB count=200 - dd if=/dev/zero of="$TESTDIR"/raid0-1.img bs=1MiB count=100 - dd if=/dev/zero of="$TESTDIR"/raid0-2.img bs=1MiB count=100 - declare -a disk_args=() declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/singleroot.img singleroot 200 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-1.img raid0-1 100 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/raid0-2.img raid0-2 100 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -- "$TESTDIR"/marker.img # shellcheck disable=SC2031 @@ -291,20 +282,18 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=60 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 60 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -- "$TESTDIR"/marker.img # Make an overlay with needed tools for the test harness diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh index f4adaab2a..7ba9075b1 100755 --- a/test/TEST-40-NBD/test.sh +++ b/test/TEST-40-NBD/test.sh @@ -1,12 +1,8 @@ #!/bin/bash -[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" - # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on NBD with $USE_NETWORK" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures # DEBUGFAIL="rd.debug systemd.log_target=console loglevel=7" #DEBUGFAIL="rd.shell rd.break rd.debug systemd.log_target=console loglevel=7 systemd.log_level=debug" @@ -76,11 +72,11 @@ client_test() { echo "CLIENT TEST START: $test_name" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() declare -i disk_index=0 qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -net nic,macaddr="$mac",model=e1000 \ @@ -89,7 +85,7 @@ client_test() { -initrd "$TESTDIR"/initramfs.testing # shellcheck disable=SC2181 - if [[ $? -ne 0 ]] || ! grep -U --binary-files=binary -F -m 1 -q nbd-OK "$TESTDIR"/marker.img; then + if [[ $? -ne 0 ]] || ! test_marker_check nbd-OK "$TESTDIR"/marker.img; then echo "CLIENT TEST END: $test_name [FAILED - BAD EXIT]" return 1 fi @@ -254,20 +250,18 @@ make_encrypted_root() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/encrypted.img bs=1MiB count=120 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/encrypted.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/encrypted.img root 120 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/fakeroot rw quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 grep -F -a -m 1 ID_FS_UUID "$TESTDIR"/marker.img > "$TESTDIR"/luks.uuid } @@ -334,20 +328,18 @@ make_client_root() { --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 - dd if=/dev/zero of="$TESTDIR"/unencrypted.img bs=1MiB count=120 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/unencrypted.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/unencrypted.img root 120 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -fr "$TESTDIR"/overlay } @@ -432,20 +424,18 @@ EOF --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 - dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=120 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 120 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 rm -fr "$TESTDIR"/overlay } diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh index 89c8d8ed7..4499d9e42 100755 --- a/test/TEST-50-MULTINIC/test.sh +++ b/test/TEST-50-MULTINIC/test.sh @@ -1,12 +1,8 @@ #!/bin/bash -[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" - # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on NFS with multiple nics with $USE_NETWORK" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="loglevel=7 rd.shell rd.break" #SERIAL="tcp:127.0.0.1:9999" @@ -58,7 +54,6 @@ client_test() { echo "CLIENT TEST START: $test_name" - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 @@ -66,6 +61,7 @@ client_test() { cmdline="$cmdline rd.net.timeout.dhcp=30" # Invoke KVM and/or QEMU to actually create the target filesystem. + test_marker_reset "$testdir"/run-qemu \ "${disk_args[@]}" \ -net socket,connect=127.0.0.1:12350 \ @@ -311,20 +307,18 @@ test_setup() { -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 rm -rf -- "$TESTDIR"/overlay - dd if=/dev/zero of="$TESTDIR"/server.img bs=1MiB count=120 - dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 declare -a disk_args=() # shellcheck disable=SC2034 declare -i disk_index=0 - qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker - qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.img root 120 # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/marker.img || return 1 + test_marker_check dracut-root-block-created || return 1 # Make an overlay with needed tools for the test harness ( diff --git a/test/TEST-60-BONDBRIDGEVLAN/create-root.sh b/test/TEST-60-BONDBRIDGEVLAN/create-root.sh index 8ad8bc00d..fe7b51526 100755 --- a/test/TEST-60-BONDBRIDGEVLAN/create-root.sh +++ b/test/TEST-60-BONDBRIDGEVLAN/create-root.sh @@ -10,19 +10,13 @@ rm -f -- /etc/lvm/lvm.conf udevadm control --reload udevadm settle set -e -# save a partition at the beginning for future flagging purposes -sfdisk /dev/sda << EOF -,1M -, -EOF -udevadm settle -mkfs.ext4 -L dracut /dev/sda2 +mkfs.ext4 -L dracut /dev/disk/by-id/ata-disk_root mkdir -p /root -mount -t ext4 /dev/sda2 /root +mount -t ext4 /dev/disk/by-id/ata-disk_root /root cp -a -t /root /source/* mkdir -p /root/run umount /root -echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/sda1 +echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/disk/by-id/ata-disk_marker sync poweroff -f diff --git a/test/TEST-60-BONDBRIDGEVLAN/test.sh b/test/TEST-60-BONDBRIDGEVLAN/test.sh index 318215eef..16d23ff37 100755 --- a/test/TEST-60-BONDBRIDGEVLAN/test.sh +++ b/test/TEST-60-BONDBRIDGEVLAN/test.sh @@ -2,13 +2,9 @@ # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- # ex: ts=8 sw=4 sts=4 et filetype=sh -[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" - # shellcheck disable=SC2034 TEST_DESCRIPTION="root filesystem on NFS with bridging/bonding/vlan with $USE_NETWORK" -KVERSION=${KVERSION-$(uname -r)} - # Uncomment this to debug failures #DEBUGFAIL="rd.shell rd.break" #SERIAL="tcp:127.0.0.1:9999" @@ -206,9 +202,6 @@ bootdev=br0 } test_setup() { - # Make server root - dd if=/dev/zero of="$TESTDIR"/server.ext4 bs=1M count=120 - kernel=$KVERSION rm -rf -- "$TESTDIR"/overlay ( @@ -345,12 +338,18 @@ test_setup() { --no-hostonly-cmdline -N \ -f "$TESTDIR"/initramfs.makeroot "$KVERSION" || return 1 + declare -a disk_args=() + declare -i disk_index=0 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/marker.img marker 1 + qemu_add_drive_args disk_index disk_args "$TESTDIR"/server.ext4 root 120 + # Invoke KVM and/or QEMU to actually create the target filesystem. "$testdir"/run-qemu \ - -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext4 \ + "${disk_args[@]}" \ -append "root=/dev/dracut/root rw rootfstype=ext4 quiet console=ttyS0,115200n81 selinux=0" \ -initrd "$TESTDIR"/initramfs.makeroot || return 1 - grep -U --binary-files=binary -F -m 1 -q dracut-root-block-created "$TESTDIR"/server.ext4 || return 1 + test_marker_check dracut-root-block-created || return 1 + rm -- "$TESTDIR"/marker.img rm -fr "$TESTDIR"/overlay # Make an overlay with needed tools for the test harness diff --git a/test/test-functions b/test/test-functions index d81e9ad01..b4de8c519 100644 --- a/test/test-functions +++ b/test/test-functions @@ -10,6 +10,10 @@ fi echo "TESTDIR=\"$TESTDIR\"" > .testdir${TEST_RUN_ID:+-$TEST_RUN_ID} export TESTDIR +KVERSION=${KVERSION-$(uname -r)} + +[ -z "$USE_NETWORK" ] && USE_NETWORK="network-legacy" + if [[ -z $basedir ]]; then basedir="$(realpath ../..)"; fi command -v test_check &> /dev/null || test_check() { @@ -47,6 +51,7 @@ check_root() { # args: name of the argument array variable (set to () at start) # filename: filename of the raw disk image # id-name: name of the disk in /dev/disk/by-id -> /dev/disk/by-id/ata-disk_$name +# size: optional file size in MiB (0 implies size is not set) # bootindex: optional bootindex number # # to be used later with `qemu … "${args[@]}" …` @@ -58,7 +63,7 @@ check_root() { # ``` # declare -a disk_args=() # declare -i disk_index=0 -# qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.ext3 root 1 +# qemu_add_drive_args disk_index disk_args "$TESTDIR"/root.ext3 root 0 1 # qemu_add_drive_args disk_index disk_args "$TESTDIR"/client.img client # qemu_add_drive_args disk_index disk_args "$TESTDIR"/iscsidisk2.img iscsidisk2 # qemu_add_drive_args disk_index disk_args "$TESTDIR"/iscsidisk3.img iscsidisk3 @@ -68,7 +73,12 @@ qemu_add_drive_args() { local index=${!1} local file=$3 local name=${4:-$index} - local bootindex=$5 + local size=${5:-0} + local bootindex=$6 + + if [ "${size}" -ne 0 ]; then + dd if=/dev/zero of="${file}" bs=1MiB count="${size}" + fi eval "${2}"'+=(' \ -drive "if=none,format=raw,file=${file},id=drive-sata${index}" \ @@ -79,6 +89,18 @@ qemu_add_drive_args() { let "${1}++" } +test_marker_reset() { + dd if=/dev/zero of="$TESTDIR"/marker.img bs=1MiB count=1 +} + +test_marker_check() { + local marker=${1:-dracut-root-block-success} + local file=${2:-marker.img} + + grep -U --binary-files=binary -F -m 1 -q "$marker" "$TESTDIR/$file" + return $? +} + while (($# > 0)); do case $1 in --run) -- 2.47.2