X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=test%2FTEST-01-BASIC%2Ftest.sh;h=e41ed9dcfe8c4d089b9855863396ad596dbd83f2;hb=fff87a35d9e26c0d4ea41273a963c0eb20e18da4;hp=8979872ef22b3dbb8aad6c378ac55c28afd12a2d;hpb=5076f0ccfd36b67512d44fe355b80305ced7dcba;p=elogind.git diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index 8979872ef..e41ed9dcf 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -3,8 +3,7 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh TEST_DESCRIPTION="Basic systemd setup" -KVERSION=${KVERSION-$(uname -r)} -KERNEL_VER=$(uname -r) +. $TEST_BASE_DIR/test-functions # Uncomment this to debug failures #DEBUGFAIL="systemd.unit=multi-user.target" @@ -23,12 +22,8 @@ run_qemu() { mount ${LOOPDEV}p1 $TESTDIR/root [[ -e $TESTDIR/root/testok ]] && ret=0 cp -a $TESTDIR/root/failed $TESTDIR - cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile - mount /dev/mapper/varcrypt $TESTDIR/root/var cp -a $TESTDIR/root/var/log/journal $TESTDIR - umount $TESTDIR/root/var umount $TESTDIR/root - cryptsetup luksClose /dev/mapper/varcrypt cat $TESTDIR/failed ls -l $TESTDIR/journal/*/*.journal test -s $TESTDIR/failed && ret=$(($ret+1)) @@ -37,11 +32,11 @@ run_qemu() { run_nspawn() { - systemd-nspawn -b -D $TESTDIR/nspawn-root --capability=CAP_AUDIT_CONTROL,CAP_AUDIT_WRITE /usr/lib/systemd/systemd + ../../systemd-nspawn -b -D $TESTDIR/nspawn-root /usr/lib/systemd/systemd ret=1 [[ -e $TESTDIR/nspawn-root/testok ]] && ret=0 - cp -a $TESTDIR/nspawn-root/var/log/journal $TESTDIR cp -a $TESTDIR/nspawn-root/failed $TESTDIR + cp -a $TESTDIR/nspawn-root/var/log/journal $TESTDIR cat $TESTDIR/failed ls -l $TESTDIR/journal/*/*.journal test -s $TESTDIR/failed && ret=$(($ret+1)) @@ -77,14 +72,9 @@ EOF mkfs.ext3 -L systemd ${LOOPDEV}p1 echo -n test >$TESTDIR/keyfile - cryptsetup -q luksFormat ${LOOPDEV}p2 $TESTDIR/keyfile - cryptsetup luksOpen ${LOOPDEV}p2 varcrypt <$TESTDIR/keyfile - mkfs.ext3 -L var /dev/mapper/varcrypt mkdir -p $TESTDIR/root mount ${LOOPDEV}p1 $TESTDIR/root mkdir -p $TESTDIR/root/run - mkdir -p $TESTDIR/root/var - mount /dev/mapper/varcrypt $TESTDIR/root/var # Create what will eventually be our root filesystem onto an overlay ( @@ -105,9 +95,6 @@ EOF inst_libs $i done - # activate kmsg import - echo 'ImportKernel=yes' >> $initdir/etc/systemd/journald.conf - # make a journal directory mkdir -p $initdir/var/log/journal @@ -129,29 +116,14 @@ EOF # set the hostname echo systemd-testsuite > $initdir/etc/hostname - eval $(udevadm info --export --query=env --name=/dev/mapper/varcrypt) eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) - cat >$initdir/etc/crypttab < $initdir/etc/varkey - cat $initdir/etc/crypttab | ddebug - cat >$initdir/etc/fstab <$initdir/etc/systemd/system/testsuite.target <$initdir/etc/systemd/system/testsuite.service < /failed ; echo OK > /testok; while : ;do systemd-cat echo "testsuite service waiting for /var/log/journal" ; echo "testsuite service waiting for journal to move to /var/log/journal" > /dev/console ; for i in /var/log/journal/*;do [ -d "\$i" ] && echo "\$i" && break 2; done; sleep 1; done; sleep 1; exit 0;' -ExecStopPost=/usr/bin/systemctl poweroff +ExecStart=/bin/bash -c 'set -x; systemctl --failed --no-legend --no-pager > /failed ; echo OK > /testok; while : ;do echo "testsuite service waiting for journal to move to /var/log/journal" > /dev/console ; for i in /var/log/journal/*;do [ -d "\$i" ] && echo "\$i" && break 2; done; sleep 1; done; sleep 1; exit 0;' Type=oneshot EOF + mkdir -p $initdir/etc/systemd/system/testsuite.target.wants ln -fs ../testsuite.service $initdir/etc/systemd/system/testsuite.target.wants/testsuite.service + ln -fs ../end.service $initdir/etc/systemd/system/testsuite.target.wants/end.service # make the testsuite the default target ln -fs testsuite.target $initdir/etc/systemd/system/default.target @@ -180,14 +153,6 @@ EOF login sushell sulogin gzip sleep echo mount umount cryptsetup dracut_install dmsetup modprobe - instmods dm_crypt =crypto - - type -P dmeventd >/dev/null && dracut_install dmeventd - - inst_libdir_file "libdevmapper-event.so*" - - inst_rules 10-dm.rules 13-dm-disk.rules 95-dm-notify.rules - # install libnss_files for login inst_libdir_file "libnss_files*" @@ -247,7 +212,7 @@ EOF # install ld.so.conf* and run ldconfig cp -a /etc/ld.so.conf* $initdir/etc ldconfig -r "$initdir" - ddebug "Strip binaeries" + ddebug "Strip binaries" find "$initdir" -perm +111 -type f | xargs strip --strip-unneeded | ddebug # copy depmod files @@ -264,22 +229,16 @@ EOF ddebug "cp -ar $TESTDIR/root $TESTDIR/nspawn-root" cp -ar $TESTDIR/root $TESTDIR/nspawn-root # we don't mount in the nspawn root - rm -fr $TESTDIR/nspawn-root/etc/fstab + rm -f $TESTDIR/nspawn-root/etc/fstab - ddebug "umount $TESTDIR/root/var" - umount $TESTDIR/root/var - cryptsetup luksClose /dev/mapper/varcrypt ddebug "umount $TESTDIR/root" umount $TESTDIR/root } test_cleanup() { - umount $TESTDIR/root/var 2>/dev/null - [[ -b /dev/mapper/varcrypt ]] && cryptsetup luksClose /dev/mapper/varcrypt umount $TESTDIR/root 2>/dev/null [[ $LOOPDEV ]] && losetup -d $LOOPDEV return 0 } -. $TEST_BASE_DIR/test-functions do_test "$@"