diff options
Diffstat (limited to 'test/units/testsuite-14.sh')
-rwxr-xr-x | test/units/testsuite-14.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/units/testsuite-14.sh b/test/units/testsuite-14.sh new file mode 100755 index 0000000..5427591 --- /dev/null +++ b/test/units/testsuite-14.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-2.1-or-later +set -eux +set -o pipefail + +function setup_root { + local _root="$1" + mkdir -p "$_root" + mount -t tmpfs tmpfs "$_root" + mkdir -p "$_root/etc" "$_root/run" +} + +function check { + printf "Expected\n" + cat "$1" + printf "\nGot\n" + cat "$2" + cmp "$1" "$2" +} + +r="$(pwd)/overwrite-broken-machine-id" +setup_root "$r" +systemd-machine-id-setup --print --root "$r" +echo abc >>"$r/etc/machine-id" +id="$(systemd-machine-id-setup --print --root "$r")" +echo "$id" >expected +check expected "$r/etc/machine-id" + +r="$PWD/transient-machine-id" +setup_root "$r" +systemd-machine-id-setup --print --root "$r" +echo abc >>"$r/etc/machine-id" +mount -o remount,ro "$r" +mount -t tmpfs tmpfs "$r/run" +transient_id="$(systemd-machine-id-setup --print --root "$r")" +mount -o remount,rw "$r" +commited_id="$(systemd-machine-id-setup --print --commit --root "$r")" +[[ "$transient_id" = "$commited_id" ]] +check "$r/etc/machine-id" "$r/run/machine-id" |