diff options
author | Michal Schmidt <mschmidt@redhat.com> | 2013-01-25 22:19:19 +0100 |
---|---|---|
committer | Michal Schmidt <mschmidt@redhat.com> | 2013-01-25 22:29:56 +0100 |
commit | c90feab4ff8bc23d88d4f9c67d9652ba189cb51b (patch) | |
tree | 3c180b31e08bc4d3627962429fc2584802a7a85c | |
parent | e8a66f4af296dc1dd4879a1401eb42bf7b7aeb01 (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.
-rwxr-xr-x | test/TEST-01-BASIC/test.sh | 14 | ||||
-rwxr-xr-x | test/TEST-02-CRYPTSETUP/test.sh | 14 | ||||
-rw-r--r-- | test/end.service | 6 | ||||
-rw-r--r-- | test/testsuite.target | 6 |
4 files changed, 20 insertions, 20 deletions
diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh index 9ab0a6fce9..7d2e3d4bd7 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 a0e4d6580d..e0945313f8 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 0000000000..0f04dfeb20 --- /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 0000000000..1a7e5b371a --- /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 |