test: move most of TEST-14-MACHINE-ID setup to static files

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2019-12-09 22:02:06 +01:00
parent e5badaf335
commit afd9c55dcc
3 changed files with 46 additions and 57 deletions

View File

@ -16,63 +16,7 @@ test_setup() {
setup_basic_environment
mask_supporting_services
printf "556f48e837bc4424a710fa2e2c9d3e3c\ne3d\n" >$initdir/etc/machine-id
dracut_install mount cmp
# setup the testsuite service
cat >$initdir/etc/systemd/system/testsuite.service <<EOF
[Unit]
Description=Testsuite service
[Service]
ExecStart=/bin/sh -e -x -c '/test-machine-id-setup.sh; systemctl --state=failed --no-legend --no-pager > /failed ; echo OK > /testok'
Type=oneshot
EOF
cat >$initdir/test-machine-id-setup.sh <<'EOF'
#!/usr/bin/env bash
set -e
set -x
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"
EOF
chmod +x $initdir/test-machine-id-setup.sh
setup_testsuite
)
}
do_test "$@"
do_test "$@" 14

View File

@ -0,0 +1,7 @@
[Unit]
Description=TEST-14-MACHINE-ID
[Service]
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
ExecStart=/bin/sh -e -x -c 'systemctl --state=failed --no-legend --no-pager >/failed ; echo OK >/testok'
Type=oneshot

38
test/units/testsuite-14.sh Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -e
set -x
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"