From: Michal Schmidt Date: Fri, 25 Jan 2013 21:19:19 +0000 (+0100) Subject: test: factor out testsuite.target, end.service X-Git-Tag: v198~405 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=c90feab4ff8bc23d88d4f9c67d9652ba189cb51b test: factor out testsuite.target, end.service Tests can use the same testsuite.target. Add end.service to call poweroff instead of doing it from ExecStopPost where it may be skipped on failure of ExecStart. --- diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index 9ab0a6fce..7d2e3d4bd 100755 --- a/test/TEST-01-BASIC/test.sh +++ b/test/TEST-01-BASIC/test.sh @@ -123,15 +123,8 @@ EOF LABEL=systemd / ext3 rw 0 1 EOF - # setup the testsuite target - cat >$initdir/etc/systemd/system/testsuite.target <$initdir/etc/systemd/system/testsuite.service < /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;' -ExecStopPost=/usr/bin/systemctl poweroff --no-block 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 diff --git a/test/TEST-02-CRYPTSETUP/test.sh b/test/TEST-02-CRYPTSETUP/test.sh index a0e4d6580..e0945313f 100755 --- a/test/TEST-02-CRYPTSETUP/test.sh +++ b/test/TEST-02-CRYPTSETUP/test.sh @@ -122,15 +122,8 @@ LABEL=systemd / ext3 rw 0 1 /dev/mapper/varcrypt /var ext3 defaults 0 1 EOF - # setup the testsuite target - cat >$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 --no-block 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 diff --git a/test/end.service b/test/end.service new file mode 100644 index 000000000..0f04dfeb2 --- /dev/null +++ b/test/end.service @@ -0,0 +1,6 @@ +[Unit] +Description=End the test +After=testsuite.service + +[Service] +ExecStart=/usr/bin/systemctl poweroff --no-block diff --git a/test/testsuite.target b/test/testsuite.target new file mode 100644 index 000000000..1a7e5b371 --- /dev/null +++ b/test/testsuite.target @@ -0,0 +1,6 @@ +[Unit] +Description=Testsuite target +Requires=multi-user.target +After=multi-user.target +Conflicts=rescue.target +AllowIsolate=yes