aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2013-01-25 22:19:19 +0100
committerMichal Schmidt <mschmidt@redhat.com>2013-01-25 22:29:56 +0100
commitc90feab4ff8bc23d88d4f9c67d9652ba189cb51b (patch)
tree3c180b31e08bc4d3627962429fc2584802a7a85c /test/TEST-01-BASIC
parenttest: use non-blocking systemctl calls in testsuite.service (diff)
downloadsystemd-c90feab4ff8bc23d88d4f9c67d9652ba189cb51b.tar.gz
systemd-c90feab4ff8bc23d88d4f9c67d9652ba189cb51b.tar.bz2
systemd-c90feab4ff8bc23d88d4f9c67d9652ba189cb51b.zip
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.
Diffstat (limited to 'test/TEST-01-BASIC')
-rwxr-xr-xtest/TEST-01-BASIC/test.sh14
1 files changed, 4 insertions, 10 deletions
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 <<EOF
-[Unit]
-Description=Testsuite target
-Requires=multi-user.target
-After=multi-user.target
-Conflicts=rescue.target
-AllowIsolate=yes
-EOF
+ # setup the testsuite target and the test ending service
+ cp $TEST_BASE_DIR/{testsuite.target,end.service} $initdir/etc/systemd/system/
# setup the testsuite service
cat >$initdir/etc/systemd/system/testsuite.service <<EOF
@@ -141,11 +134,12 @@ After=multi-user.target
[Service]
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;'
-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