diff options
Diffstat (limited to 'test/TEST-03-JOBS/test-jobs.sh')
-rwxr-xr-x | test/TEST-03-JOBS/test-jobs.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/TEST-03-JOBS/test-jobs.sh b/test/TEST-03-JOBS/test-jobs.sh new file mode 100755 index 0000000000..98746c5363 --- /dev/null +++ b/test/TEST-03-JOBS/test-jobs.sh @@ -0,0 +1,28 @@ +#!/bin/bash -x + +# Test merging of a --ignore-dependencies job into a previously +# installed job. + +systemctl start --no-block hello-after-sleep.target +# sleep is now running, hello/start is waiting. Verify that: +systemctl list-jobs > /root/list-jobs.txt +grep 'sleep\.service.*running' /root/list-jobs.txt || exit 1 +grep 'hello\.service.*waiting' /root/list-jobs.txt || exit 1 + +# This is supposed to finish quickly, not wait for sleep to finish. +START_SEC=$(date -u '+%s') +systemctl start --ignore-dependencies hello +END_SEC=$(date -u '+%s') +ELAPSED=$(($END_SEC-$START_SEC)) + +[ "$ELAPSED" -lt 3 ] || exit 1 + +# sleep should still be running, hello not. +systemctl list-jobs > /root/list-jobs.txt +grep 'sleep\.service.*running' /root/list-jobs.txt || exit 1 +grep 'hello\.service' /root/list-jobs.txt && exit 1 + +# TODO: add more job queueing/merging tests here. + +touch /testok +exit 0 |