From: Harald Hoyer Date: Mon, 12 Jul 2010 14:16:57 +0000 (+0200) Subject: TEST-13-ENC-RAID: add check for rd_LUKS_UUID argument parsing X-Git-Tag: 007~82 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b8a2f174d75171ade342feabb777ff8b7cdc6c72;p=thirdparty%2Fdracut.git TEST-13-ENC-RAID: add check for rd_LUKS_UUID argument parsing --- diff --git a/test/TEST-13-ENC-RAID-LVM/create-root.sh b/test/TEST-13-ENC-RAID-LVM/create-root.sh index 093308b65..3a1053b36 100755 --- a/test/TEST-13-ENC-RAID-LVM/create-root.sh +++ b/test/TEST-13-ENC-RAID-LVM/create-root.sh @@ -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 diff --git a/test/TEST-13-ENC-RAID-LVM/test-init b/test/TEST-13-ENC-RAID-LVM/test-init index ccdc9a4fb..8db853a44 100755 --- a/test/TEST-13-ENC-RAID-LVM/test-init +++ b/test/TEST-13-ENC-RAID-LVM/test-init @@ -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 diff --git a/test/TEST-13-ENC-RAID-LVM/test.sh b/test/TEST-13-ENC-RAID-LVM/test.sh index adb94cb7b..ff7ee33a4 100755 --- a/test/TEST-13-ENC-RAID-LVM/test.sh +++ b/test/TEST-13-ENC-RAID-LVM/test.sh @@ -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