3 TEST_DESCRIPTION
="/etc/machine-id testing"
6 .
$TEST_BASE_DIR/test-functions
10 mkdir
-p $TESTDIR/root
11 mount
${LOOPDEV}p1
$TESTDIR/root
13 # Create what will eventually be our root filesystem onto an overlay
16 eval $
(udevadm info
--export --query=env
--name=${LOOPDEV}p2
)
18 setup_basic_environment
19 printf "556f48e837bc4424a710fa2e2c9d3e3c\ne3d\n" >$initdir/etc
/machine-id
20 dracut_install mount
cmp
22 # setup the testsuite service
23 cat >$initdir/etc
/systemd
/system
/testsuite.service
<<EOF
25 Description=Testsuite service
28 ExecStart=/bin/sh -e -x -c '/test-machine-id-setup.sh; systemctl --state=failed --no-legend --no-pager > /failed ; echo OK > /testok'
32 cat >$initdir/test-machine-id-setup.sh
<<'EOF'
41 mount -t tmpfs tmpfs "$_root"
42 mkdir -p "$_root/etc" "$_root/run"
53 r="$(pwd)/overwrite-broken-machine-id"
55 systemd-machine-id-setup --print --root "$r"
56 echo abc >>"$r/etc/machine-id"
57 id=$(systemd-machine-id-setup --print --root "$r")
59 check expected "$r/etc/machine-id"
61 r="$(pwd)/transient-machine-id"
63 systemd-machine-id-setup --print --root "$r"
64 echo abc >>"$r/etc/machine-id"
65 mount -o remount,ro "$r"
66 mount -t tmpfs tmpfs "$r/run"
67 transient_id=$(systemd-machine-id-setup --print --root "$r")
68 mount -o remount,rw "$r"
69 commited_id=$(systemd-machine-id-setup --print --commit --root "$r")
70 [[ "$transient_id" = "$commited_id" ]]
71 check "$r/etc/machine-id" "$r/run/machine-id"
73 chmod +x
$initdir/test-machine-id-setup.sh
78 # mask some services that we do not want to run in these tests
79 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-hwdb-update.service
80 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-journal-catalog-update.service
81 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-networkd.service
82 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-networkd.socket
83 ln -s /dev
/null
$initdir/etc
/systemd
/system
/systemd-resolved.service
85 ddebug
"umount $TESTDIR/root"