2 # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
3 # ex: ts=8 sw=4 sts=4 et filetype=sh
4 TEST_DESCRIPTION="Basic systemd setup"
6 . $TEST_BASE_DIR/test-functions
8 # Uncomment this to debug failures
9 #DEBUGFAIL="systemd.unit=multi-user.target"
13 mkdir -p $TESTDIR/root
14 mount ${LOOPDEV}p1 $TESTDIR/root
15 [[ -e $TESTDIR/root/testok ]] && ret=0
16 [[ -f $TESTDIR/root/failed ]] && cp -a $TESTDIR/root/failed $TESTDIR
17 [[ -f $TESTDIR/root/var/log/journal ]] && cp -a $TESTDIR/root/var/log/journal $TESTDIR
19 [[ -f $TESTDIR/failed ]] && cat $TESTDIR/failed
20 ls -l $TESTDIR/journal/*/*.journal
21 test -s $TESTDIR/failed && ret=$(($ret+1))
28 check_result_qemu || return 1
30 dwarn "can't run qemu-kvm, skipping"
34 check_result_nspawn || return 1
36 dwarn "can't run systemd-nspawn, skipping"
43 mkdir -p $TESTDIR/root
44 mount ${LOOPDEV}p1 $TESTDIR/root
46 # Create what will eventually be our root filesystem onto an overlay
49 eval $(udevadm info --export --query=env --name=${LOOPDEV}p2)
51 setup_basic_environment
53 # setup the testsuite service
54 cat >$initdir/etc/systemd/system/testsuite.service <<EOF
56 Description=Testsuite service
57 After=multi-user.target
60 ExecStart=/bin/bash -c 'set -x; ( systemctl --failed --no-legend --no-pager; systemctl status --failed ) > /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;'
68 ddebug "umount $TESTDIR/root"
73 umount $TESTDIR/root 2>/dev/null
74 [[ $LOOPDEV ]] && losetup -d $LOOPDEV