]>
Commit | Line | Data |
---|---|---|
b5da077d MS |
1 | #!/bin/bash |
2 | # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- | |
3 | # ex: ts=8 sw=4 sts=4 et filetype=sh | |
d710d363 | 4 | TEST_DESCRIPTION="Job-related tests" |
b5da077d | 5 | |
fff87a35 | 6 | . $TEST_BASE_DIR/test-functions |
b5da077d | 7 | |
889a9042 | 8 | check_result_qemu() { |
b5da077d MS |
9 | ret=1 |
10 | mkdir -p $TESTDIR/root | |
11 | mount ${LOOPDEV}p1 $TESTDIR/root | |
12 | [[ -e $TESTDIR/root/testok ]] && ret=0 | |
41a5ef63 | 13 | [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR |
b5da077d MS |
14 | cp -a $TESTDIR/root/var/log/journal $TESTDIR |
15 | umount $TESTDIR/root | |
41a5ef63 | 16 | [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed |
b5da077d MS |
17 | ls -l $TESTDIR/journal/*/*.journal |
18 | test -s $TESTDIR/failed && ret=$(($ret+1)) | |
19 | return $ret | |
20 | } | |
21 | ||
b5da077d | 22 | test_run() { |
c6a77179 | 23 | if run_qemu; then |
889a9042 | 24 | check_result_qemu || return 1 |
b5da077d | 25 | else |
c6a77179 | 26 | dwarn "can't run QEMU, skipping" |
b5da077d MS |
27 | fi |
28 | if check_nspawn; then | |
889a9042 RC |
29 | run_nspawn |
30 | check_result_nspawn || return 1 | |
b5da077d MS |
31 | else |
32 | dwarn "can't run systemd-nspawn, skipping" | |
33 | fi | |
34 | return 0 | |
35 | } | |
36 | ||
37 | test_setup() { | |
889a9042 | 38 | create_empty_image |
b5da077d MS |
39 | mkdir -p $TESTDIR/root |
40 | mount ${LOOPDEV}p1 $TESTDIR/root | |
b5da077d MS |
41 | |
42 | # Create what will eventually be our root filesystem onto an overlay | |
43 | ( | |
44 | LOG_LEVEL=5 | |
b5da077d MS |
45 | eval $(udevadm info --export --query=env --name=${LOOPDEV}p2) |
46 | ||
889a9042 | 47 | setup_basic_environment |
b5da077d MS |
48 | |
49 | # setup the testsuite service | |
50 | cat >$initdir/etc/systemd/system/testsuite.service <<EOF | |
51 | [Unit] | |
52 | Description=Testsuite service | |
53 | After=multi-user.target | |
54 | ||
55 | [Service] | |
56 | ExecStart=/test-jobs.sh | |
57 | Type=oneshot | |
58 | EOF | |
59 | ||
60 | # copy the units used by this test | |
d710d363 MS |
61 | cp $TEST_BASE_DIR/{hello.service,sleep.service,hello-after-sleep.target,unstoppable.service} \ |
62 | $initdir/etc/systemd/system | |
b5da077d MS |
63 | cp test-jobs.sh $initdir/ |
64 | ||
889a9042 | 65 | setup_testsuite |
cd949ee7 | 66 | ) || return 1 |
889a9042 | 67 | setup_nspawn_root |
b5da077d MS |
68 | |
69 | ddebug "umount $TESTDIR/root" | |
70 | umount $TESTDIR/root | |
71 | } | |
72 | ||
73 | test_cleanup() { | |
74 | umount $TESTDIR/root 2>/dev/null | |
75 | [[ $LOOPDEV ]] && losetup -d $LOOPDEV | |
76 | return 0 | |
77 | } | |
78 | ||
b5da077d | 79 | do_test "$@" |