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.
This commit is contained in:
parent
e8a66f4af2
commit
c90feab4ff
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[Unit]
|
||||
Description=End the test
|
||||
After=testsuite.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/systemctl poweroff --no-block
|
|
@ -0,0 +1,6 @@
|
|||
[Unit]
|
||||
Description=Testsuite target
|
||||
Requires=multi-user.target
|
||||
After=multi-user.target
|
||||
Conflicts=rescue.target
|
||||
AllowIsolate=yes
|
Loading…
Reference in New Issue