]> git.ipfire.org Git - thirdparty/systemd.git/blame - test/TEST-03-JOBS/test.sh
Merge pull request #1798 from evverx/fix-test-udev
[thirdparty/systemd.git] / test / TEST-03-JOBS / test.sh
CommitLineData
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 4TEST_DESCRIPTION="Job-related tests"
b5da077d 5
fff87a35 6. $TEST_BASE_DIR/test-functions
b5da077d 7
889a9042 8check_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 22test_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
37test_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]
52Description=Testsuite service
53After=multi-user.target
54
55[Service]
56ExecStart=/test-jobs.sh
57Type=oneshot
58EOF
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
b5da077d 66 )
889a9042 67 setup_nspawn_root
b5da077d
MS
68
69 ddebug "umount $TESTDIR/root"
70 umount $TESTDIR/root
71}
72
73test_cleanup() {
74 umount $TESTDIR/root 2>/dev/null
75 [[ $LOOPDEV ]] && losetup -d $LOOPDEV
76 return 0
77}
78
b5da077d 79do_test "$@"