X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=test%2FTEST-01-BASIC%2Ftest.sh;h=9b55a27a20ff2524290589f29ba02c9d8a605f87;hb=19aadacf92ad86967ffb678e37b2ff9e83cb9480;hp=06b80c2a154238232787257aa1c115651bba692b;hpb=5fa594df8de6fed8e18146096a7b7d45b2187441;p=elogind.git diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index 06b80c2a1..9b55a27a2 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 /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; systemctl status --failed ) > /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*" @@ -225,7 +190,7 @@ EOF # softlink mtab ln -fs /proc/self/mounts $initdir/etc/mtab - # install any Exec's from the service files + # install any Execs from the service files egrep -ho '^Exec[^ ]*=[^ ]+' $initdir/lib/systemd/system/*.service \ | while read i; do i=${i##Exec*=}; i=${i##-} @@ -247,8 +212,8 @@ EOF # install ld.so.conf* and run ldconfig cp -a /etc/ld.so.conf* $initdir/etc ldconfig -r "$initdir" - ddebug "Strip binaeries" - find "$initdir" -perm +111 -type f | xargs strip --strip-unneeded | ddebug + ddebug "Strip binaries" + find "$initdir" -executable -not -path '*/lib/modules/*.ko' -type f | xargs strip --strip-unneeded | ddebug # copy depmod files inst /lib/modules/$KERNEL_VER/modules.order @@ -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 "$@"