]> git.ipfire.org Git - thirdparty/systemd.git/blob - test/TEST-08-ISSUE-2730/test.sh
Merge pull request #10594 from poettering/env-reload-fix
[thirdparty/systemd.git] / test / TEST-08-ISSUE-2730 / test.sh
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
4 set -e
5 TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/2730"
6 TEST_NO_NSPAWN=1
7
8 . $TEST_BASE_DIR/test-functions
9 QEMU_TIMEOUT=180
10 FSTYPE=ext4
11
12 test_setup() {
13 create_empty_image
14 mkdir -p $TESTDIR/root
15 mount ${LOOPDEV}p1 $TESTDIR/root
16
17 # Create what will eventually be our root filesystem onto an overlay
18 (
19 LOG_LEVEL=5
20 eval $(udevadm info --export --query=env --name=${LOOPDEV}p2)
21
22 setup_basic_environment
23
24 # setup the testsuite service
25 cat >$initdir/etc/systemd/system/testsuite.service <<EOF
26 [Unit]
27 Description=Testsuite service
28
29 [Service]
30 ExecStart=/bin/sh -x -c 'mount -o remount,rw /dev/sda1 && echo OK > /testok; systemctl poweroff'
31 Type=oneshot
32 EOF
33
34 rm $initdir/etc/fstab
35 cat >$initdir/etc/systemd/system/-.mount <<EOF
36 [Unit]
37 Before=local-fs.target
38
39 [Mount]
40 What=/dev/sda1
41 Where=/
42 Type=ext4
43 Options=errors=remount-ro,noatime
44
45 [Install]
46 WantedBy=local-fs.target
47 Alias=root.mount
48 EOF
49
50 cat >$initdir/etc/systemd/system/systemd-remount-fs.service <<EOF
51 [Unit]
52 DefaultDependencies=no
53 Conflicts=shutdown.target
54 After=systemd-fsck-root.service
55 Before=local-fs-pre.target local-fs.target shutdown.target
56 Wants=local-fs-pre.target
57
58 [Service]
59 Type=oneshot
60 RemainAfterExit=yes
61 ExecStart=/bin/systemctl reload /
62 EOF
63
64 setup_testsuite
65 ) || return 1
66
67 ln -s /etc/systemd/system/-.mount $initdir/etc/systemd/system/root.mount
68 mkdir -p $initdir/etc/systemd/system/local-fs.target.wants
69 ln -s /etc/systemd/system/-.mount $initdir/etc/systemd/system/local-fs.target.wants/-.mount
70
71 # mask some services that we do not want to run in these tests
72 ln -s /dev/null $initdir/etc/systemd/system/systemd-hwdb-update.service
73 ln -s /dev/null $initdir/etc/systemd/system/systemd-journal-catalog-update.service
74 ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.service
75 ln -s /dev/null $initdir/etc/systemd/system/systemd-networkd.socket
76 ln -s /dev/null $initdir/etc/systemd/system/systemd-resolved.service
77
78 ddebug "umount $TESTDIR/root"
79 umount $TESTDIR/root
80 }
81
82 do_test "$@"