]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
TEST-13-ENC-RAID: add check for rd_LUKS_UUID argument parsing
authorHarald Hoyer <harald@redhat.com>
Mon, 12 Jul 2010 14:16:57 +0000 (16:16 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 12 Jul 2010 14:16:57 +0000 (16:16 +0200)
test/TEST-13-ENC-RAID-LVM/create-root.sh
test/TEST-13-ENC-RAID-LVM/test-init
test/TEST-13-ENC-RAID-LVM/test.sh

index 093308b65554cd1f0f5a180db218dcf9ac0a9c6c..3a1053b3622718d59587625c97bf885967ebefd3 100755 (executable)
@@ -43,5 +43,10 @@ cryptsetup luksClose /dev/mapper/dracut_sda2 && \
 cryptsetup luksClose /dev/mapper/dracut_sda3 && \
 cryptsetup luksClose /dev/mapper/dracut_sda4 && \
 :; :;} && \
-echo "dracut-root-block-created" >/dev/sda1
+{
+    echo "dracut-root-block-created" 
+    for i in /dev/sda[234]; do
+       udevadm info --query=env --name=$i|grep 'ID_FS_UUID='
+    done
+} >/dev/sda1
 poweroff -f
index ccdc9a4fb2c638b0028de026bd338433242fb28c..8db853a449bfd682ed68b037822c9b06eb1aef89 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 exec >/dev/console 2>&1
-echo "dracut-root-block-success" >/dev/sda1
+echo "dracut-root-block-success" >/dev/sdb
 export TERM=linux
 export PS1='initramfs-test:\w\$ '
 [ -f /etc/fstab ] || ln -s /proc/mounts /etc/fstab
index adb94cb7b445ceb01af6f50c2777ce29014f92f5..ff7ee33a41c08b6f79defd5e9a4835db6937380e 100755 (executable)
@@ -7,11 +7,39 @@ KVERSION=${KVERSION-$(uname -r)}
 #DEBUGFAIL="rdshell"
 
 test_run() {
-    $testdir/run-qemu -hda root.ext2 -m 256M -nographic \
+    LUKSARGS=$(cat luks.txt)
+
+    dd if=/dev/zero of=check-success.img bs=1M count=1
+    
+    echo "CLIENT TEST START: $LUKSARGS"
+    $testdir/run-qemu -hda root.ext2 -hdb check-success.img -m 256M -nographic \
+       -net none -kernel /boot/vmlinuz-$KVERSION \
+       -append "root=/dev/dracut/root rw quiet rd_retry=3 rdinfo console=ttyS0,115200n81 selinux=0 rdinitdebug rdnetdebug $LUKSARGS $DEBUGFAIL" \
+       -initrd initramfs.testing
+    grep -m 1 -q dracut-root-block-success check-success.img || return 1
+    echo "CLIENT TEST END: [OK]"
+
+    dd if=/dev/zero of=check-success.img bs=1M count=1
+
+    echo "CLIENT TEST START: Any LUKS"
+    $testdir/run-qemu -hda root.ext2 -hdb check-success.img -m 256M -nographic \
        -net none -kernel /boot/vmlinuz-$KVERSION \
        -append "root=/dev/dracut/root rw quiet rd_retry=3 rdinfo console=ttyS0,115200n81 selinux=0 rdinitdebug rdnetdebug $DEBUGFAIL" \
        -initrd initramfs.testing
-    grep -m 1 -q dracut-root-block-success root.ext2 || return 1
+    grep -m 1 -q dracut-root-block-success check-success.img || return 1
+    echo "CLIENT TEST END: [OK]"
+
+    dd if=/dev/zero of=check-success.img bs=1M count=1
+
+    echo "CLIENT TEST START: Wrong LUKS UUID"
+    $testdir/run-qemu -hda root.ext2 -hdb check-success.img -m 256M -nographic \
+       -net none -kernel /boot/vmlinuz-$KVERSION \
+       -append "root=/dev/dracut/root rw quiet rd_retry=3 rdinfo console=ttyS0,115200n81 selinux=0 rdinitdebug rdnetdebug $DEBUGFAIL rd_LUKS_UUID=failme" \
+       -initrd initramfs.testing
+    grep -m 1 -q dracut-root-block-success check-success.img && return 1
+    echo "CLIENT TEST END: [OK]"
+
+    return 0
 }
 
 test_setup() {
@@ -39,7 +67,7 @@ test_setup() {
     (
        initdir=overlay
        . $basedir/dracut-functions
-       dracut_install sfdisk mke2fs poweroff cp umount 
+       dracut_install sfdisk mke2fs poweroff cp umount grep
        inst_simple ./create-root.sh /initqueue/01create-root.sh
        inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
     )
@@ -58,6 +86,13 @@ test_setup() {
        -append "root=/dev/dracut/root rw rootfstype=ext2 quiet console=ttyS0,115200n81 selinux=0" \
        -initrd initramfs.makeroot  || return 1
     grep -m 1 -q dracut-root-block-created root.ext2 || return 1
+    cryptoUUIDS=$(grep --binary-files=text  -m 3 ID_FS_UUID root.ext2)
+    for uuid in $cryptoUUIDS; do
+       eval $uuid
+       printf ' rd_LUKS_UUID=%s ' $ID_FS_UUID 
+    done > luks.txt
+   
+
     (
        initdir=overlay
        . $basedir/dracut-functions
@@ -75,7 +110,7 @@ test_setup() {
 
 test_cleanup() {
     rm -fr overlay mnt
-    rm -f root.ext2 initramfs.makeroot initramfs.testing
+    rm -f root.ext2 initramfs.makeroot initramfs.testing luks.txt check-success.img
 }
 
 . $testdir/test-functions