summaryrefslogtreecommitdiff
path: root/test
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
parente8a66f4af296dc1dd4879a1401eb42bf7b7aeb01 (diff)
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')
-rwxr-xr-xtest/TEST-01-BASIC/test.sh14
-rwxr-xr-xtest/TEST-02-CRYPTSETUP/test.sh14
-rw-r--r--test/end.service6
-rw-r--r--test/testsuite.target6
4 files changed, 20 insertions, 20 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
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 <<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
@@ -140,11 +133,12 @@ After=multi-user.target
[Service]
ExecStart=/bin/bash -c 'set -x; systemctl --failed --no-legend --no-pager > /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