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
="https://github.com/systemd/systemd/issues/2730"
6 .
$TEST_BASE_DIR/test-functions
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 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))
22 [ -n "$TIMED_OUT" ] && ret
=$
(($ret+1))
28 check_result_qemu ||
return 1
30 dwarn
"can't run QEMU, skipping"
37 mkdir
-p $TESTDIR/root
38 mount
${LOOPDEV}p1
$TESTDIR/root
40 # Create what will eventually be our root filesystem onto an overlay
43 eval $
(udevadm info
--export --query=env
--name=${LOOPDEV}p2
)
45 setup_basic_environment
47 # setup the testsuite service
48 cat >$initdir/etc
/systemd
/system
/testsuite.service
<<EOF
50 Description=Testsuite service
51 After=multi-user.target
54 ExecStart=/bin/sh -x -c 'mount -o remount,rw /dev/sda1 && echo OK > /testok; systemctl poweroff'
59 cat >$initdir/etc
/systemd
/system
/-.mount
<<EOF
61 Before=local-fs.target
67 Options=errors=remount-ro,noatime
70 WantedBy=local-fs.target
74 cat >$initdir/etc
/systemd
/system
/systemd-remount-fs.service
<<EOF
76 DefaultDependencies=no
77 Conflicts=shutdown.target
78 After=systemd-fsck-root.service
79 Before=local-fs-pre.target local-fs.target shutdown.target
80 Wants=local-fs-pre.target
85 ExecStart=/bin/systemctl reload /
91 ln -s /etc
/systemd
/system
/-.mount
$initdir/etc
/systemd
/system
/root.mount
92 mkdir
-p $initdir/etc
/systemd
/system
/local-fs.target.wants
93 ln -s /etc
/systemd
/system
/-.mount
$initdir/etc
/systemd
/system
/local-fs.target.wants
/-.mount
95 # mask some services that we do not want to run in these tests
96 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-hwdb-update.service
97 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-journal-catalog-update.service
98 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-networkd.service
99 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-networkd.socket
100 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-resolved.service
102 ddebug
"umount $TESTDIR/root"
107 umount
$TESTDIR/root
2>/dev
/null
108 [[ $LOOPDEV ]] && losetup
-d $LOOPDEV