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