test: test irreversible jobs

This commit is contained in:
Michal Schmidt 2013-02-22 18:59:07 +01:00
parent f948423bb5
commit d710d36375
3 changed files with 21 additions and 2 deletions

View file

@ -24,5 +24,18 @@ grep 'hello\.service' /root/list-jobs.txt && exit 1
# TODO: add more job queueing/merging tests here.
# Test for irreversible jobs
systemctl start unstoppable.service || exit 1
# This is expected to fail with 'job cancelled'
systemctl stop unstoppable.service && exit 1
# But this should succeed
systemctl stop --irreversible unstoppable.service || exit 1
# We're going to shutdown soon. Let's see if it succeeds when
# there's an active service that tries to be unstoppable.
# Shutdown of the container/VM will hang if not.
systemctl start unstoppable.service || exit 1
touch /testok
exit 0

View file

@ -1,7 +1,7 @@
#!/bin/bash
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
TEST_DESCRIPTION="Job merging"
TEST_DESCRIPTION="Job-related tests"
KVERSION=${KVERSION-$(uname -r)}
KERNEL_VER=$(uname -r)
@ -138,7 +138,8 @@ Type=oneshot
EOF
# copy the units used by this test
cp $TEST_BASE_DIR/{hello.service,sleep.service,hello-after-sleep.target} $initdir/etc/systemd/system
cp $TEST_BASE_DIR/{hello.service,sleep.service,hello-after-sleep.target,unstoppable.service} \
$initdir/etc/systemd/system
cp test-jobs.sh $initdir/
mkdir -p $initdir/etc/systemd/system/testsuite.target.wants

5
test/unstoppable.service Normal file
View file

@ -0,0 +1,5 @@
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/echo 'I'm unstoppable!'
ExecStop=/bin/systemctl start --no-block unstoppable.service