summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Yuan <me@yhndnzj.com>2023-03-13 20:33:36 +0800
committerMike Yuan <me@yhndnzj.com>2023-03-15 19:56:19 +0800
commitaf0292844db57e796e48e434f5ff73ef02ed85bb (patch)
treecd7e3f7b0e2a93440396bd6506b35cbb6202c8c4
parent1ed35a0d936fede155eb0c060ddfe4375885077f (diff)
downloadsystemd-af0292844db57e796e48e434f5ff73ef02ed85bb.tar.gz
test: add testsuite-74.machinectl
-rwxr-xr-xtest/TEST-74-AUX-UTILS/test.sh4
-rwxr-xr-xtest/units/testsuite-74.machinectl.sh43
2 files changed, 47 insertions, 0 deletions
diff --git a/test/TEST-74-AUX-UTILS/test.sh b/test/TEST-74-AUX-UTILS/test.sh
index f422c89141..94bb159464 100755
--- a/test/TEST-74-AUX-UTILS/test.sh
+++ b/test/TEST-74-AUX-UTILS/test.sh
@@ -7,4 +7,8 @@ TEST_DESCRIPTION="Tests for auxiliary utilities"
# shellcheck source=test/test-functions
. "${TEST_BASE_DIR:?}/test-functions"
+test_append_files() (
+ image_install script
+)
+
do_test "$@"
diff --git a/test/units/testsuite-74.machinectl.sh b/test/units/testsuite-74.machinectl.sh
new file mode 100755
index 0000000000..4adb1cd637
--- /dev/null
+++ b/test/units/testsuite-74.machinectl.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+# shellcheck disable=SC2016
+set -eux
+set -o pipefail
+
+# shellcheck source=test/units/assert.sh
+. "$(dirname "$0")"/assert.sh
+
+: >/failed
+
+at_exit() {
+ if [[ -v NSPAWN_NAME && -e "/var/lib/machines/$NSPAWN_NAME" ]]; then
+ rm -fvr "/var/lib/machines/$NSPAWN_NAME" "/etc/systemd/nspawn/$NSPAWN_NAME" "new"
+ fi
+
+ return 0
+}
+
+trap at_exit EXIT
+
+export NSPAWN_NAME="machinectl-test-$RANDOM.nspawn"
+cat >"/var/lib/machines/$NSPAWN_NAME" <<\EOF
+[Exec]
+Boot=true
+EOF
+
+EDITOR='true' script -ec 'machinectl edit "$NSPAWN_NAME"' /dev/null
+[ -f "/etc/systemd/nspawn/$NSPAWN_NAME" ]
+cmp "/var/lib/machines/$NSPAWN_NAME" "/etc/systemd/nspawn/$NSPAWN_NAME"
+
+cat >new <<\EOF
+[Exec]
+Boot=false
+EOF
+
+script -ec 'machinectl cat "$PWD/new"' /dev/null
+
+EDITOR='mv new' script -ec 'machinectl edit "$NSPAWN_NAME"' /dev/null
+printf '%s\n' '[Exec]' 'Boot=false' | cmp - "/etc/systemd/nspawn/$NSPAWN_NAME"
+
+touch /testok
+rm /failed