resurrect TEST-14-IMSM
authorHarald Hoyer <harald@redhat.com>
Thu, 15 Aug 2013 13:54:18 +0000 (15:54 +0200)
committerHarald Hoyer <harald@redhat.com>
Thu, 15 Aug 2013 14:05:35 +0000 (16:05 +0200)
test/TEST-14-IMSM/99-idesymlinks.rules [moved from test/old.TEST-14-IMSM/99-idesymlinks.rules with 100% similarity]
test/TEST-14-IMSM/Makefile [moved from test/old.TEST-14-IMSM/Makefile with 100% similarity]
test/TEST-14-IMSM/create-root.sh [moved from test/old.TEST-14-IMSM/create-root.sh with 90% similarity]
test/TEST-14-IMSM/cryptroot-ask.sh [moved from test/old.TEST-14-IMSM/cryptroot-ask.sh with 100% similarity]
test/TEST-14-IMSM/hard-off.sh [new file with mode: 0755]
test/TEST-14-IMSM/test-init.sh [moved from test/old.TEST-14-IMSM/test-init.sh with 100% similarity]
test/TEST-14-IMSM/test.sh [moved from test/old.TEST-14-IMSM/test.sh with 85% similarity]
test/old.TEST-14-IMSM/hard-off.sh [deleted file]

similarity index 90%
rename from test/old.TEST-14-IMSM/create-root.sh
rename to test/TEST-14-IMSM/create-root.sh
index 0716a5c..83a7fba 100755 (executable)
@@ -62,6 +62,10 @@ mount /dev/dracut/root /sysroot && \
 cp -a -t /sysroot /source/* && \
 umount /sysroot && \
 lvm lvchange -a n /dev/dracut/root && \
-echo "dracut-root-block-created" >/dev/sda
+udevadm settle
+mdadm --detail --export /dev/md0 |grep -F MD_UUID > /tmp/mduuid
+. /tmp/mduuid
+echo "MD_UUID=$MD_UUID"
+{ echo "dracut-root-block-created"; echo MD_UUID=$MD_UUID;} > /dev/sda
 mdadm --wait-clean /dev/md0
 poweroff -f
diff --git a/test/TEST-14-IMSM/hard-off.sh b/test/TEST-14-IMSM/hard-off.sh
new file mode 100755 (executable)
index 0000000..f340d2d
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+getarg rd.shell || poweroff -f 
+getarg failme && poweroff -f 
similarity index 85%
rename from test/old.TEST-14-IMSM/test.sh
rename to test/TEST-14-IMSM/test.sh
index 434283b..9353a92 100755 (executable)
@@ -4,7 +4,7 @@ TEST_DESCRIPTION="root filesystem on LVM PV on a isw dmraid"
 KVERSION=${KVERSION-$(uname -r)}
 
 # Uncomment this to debug failures
-#DEBUGFAIL="rd.shell rd.break"
+#DEBUGFAIL="rd.shell"
 #DEBUGFAIL="$DEBUGFAIL udev.log-priority=debug"
 
 client_run() {
@@ -15,7 +15,7 @@ client_run() {
        -hdc $TESTDIR/disk2 \
        -m 256M -nographic \
        -net none -kernel /boot/vmlinuz-$KVERSION \
-       -append "$@ root=LABEL=root rw quiet rd.retry=5 rd.debug console=ttyS0,115200n81 selinux=0 rd.info $DEBUGFAIL" \
+       -append "$* root=LABEL=root rw debug rd.retry=5 rd.debug console=ttyS0,115200n81 selinux=0 rd.info $DEBUGFAIL" \
        -initrd $TESTDIR/initramfs.testing
     if ! grep -F -m 1 -q dracut-root-block-success $TESTDIR/root.ext2; then
        echo "CLIENT TEST END: $@ [FAIL]"
@@ -28,23 +28,19 @@ client_run() {
 }
 
 test_run() {
-    client_run rd.md.imsm=0 || return 1
-    echo "IMSM test does not work anymore"
-    return 0
-    client_run || return 1
-    client_run rd.dm=0 || return 1
+    read MD_UUID < $TESTDIR/mduuid
+    client_run rd.auto rd.md.imsm=0 || return 1
+    client_run rd.auto rd.md.uuid=$MD_UUID rd.dm=0 || return 1
     # This test succeeds, because the mirror parts are found without
     # assembling the mirror itsself, which is what we want
-    client_run rd.md=0 rd.md.imsm failme && return 1
-    client_run rd.md=0 failme && return 1
+    client_run rd.auto rd.md.uuid=$MD_UUID rd.md=0 rd.md.imsm failme && return 1
+    client_run rd.auto rd.md.uuid=$MD_UUID rd.md=0 failme && return 1
     # the following test hangs on newer md
-    #client_run rd.dm=0 rd.md.imsm rd.md.conf=0 || return 1
+    client_run rd.auto rd.md.uuid=$MD_UUID rd.dm=0 rd.md.imsm rd.md.conf=0 || return 1
    return 0
 }
 
 test_setup() {
-#   echo "IMSM test does not work anymore"
-#   return 1
 
     # Create the blank file to use as a root filesystem
     rm -f -- $TESTDIR/root.ext2
@@ -65,6 +61,7 @@ test_setup() {
            [ -f ${_terminfodir}/l/linux ] && break
        done
        inst_multiple -o ${_terminfodir}/l/linux
+       inst_simple /etc/os-release
        inst "$basedir/modules.d/40network/dhclient-script.sh" "/sbin/dhclient-script"
        inst "$basedir/modules.d/40network/ifup.sh" "/sbin/ifup"
        inst_multiple grep
@@ -80,7 +77,7 @@ test_setup() {
     (
        export initdir=$TESTDIR/overlay
        . $basedir/dracut-functions.sh
-       inst_multiple sfdisk mke2fs poweroff cp umount
+       inst_multiple sfdisk mke2fs poweroff cp umount grep
        inst_hook initqueue 01 ./create-root.sh
        inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
     )
@@ -103,6 +100,8 @@ test_setup() {
        -append "root=/dev/dracut/root rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
        -initrd $TESTDIR/initramfs.makeroot  || return 1
     grep -F -m 1 -q dracut-root-block-created $TESTDIR/root.ext2 || return 1
+    eval $(grep -F --binary-files=text -m 1 MD_UUID $TESTDIR/root.ext2)
+    echo $MD_UUID > $TESTDIR/mduuid
     (
        export initdir=$TESTDIR/overlay
        . $basedir/dracut-functions.sh
diff --git a/test/old.TEST-14-IMSM/hard-off.sh b/test/old.TEST-14-IMSM/hard-off.sh
deleted file mode 100755 (executable)
index 12c3d5a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-getarg rd.shell || poweroff -f
-getarg failme && poweroff -f