From af0292844db57e796e48e434f5ff73ef02ed85bb Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Mon, 13 Mar 2023 20:33:36 +0800 Subject: [PATCH] test: add testsuite-74.machinectl --- test/TEST-74-AUX-UTILS/test.sh | 4 +++ test/units/testsuite-74.machinectl.sh | 43 +++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100755 test/units/testsuite-74.machinectl.sh diff --git a/test/TEST-74-AUX-UTILS/test.sh b/test/TEST-74-AUX-UTILS/test.sh index f422c89141d..94bb1594647 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 00000000000..4adb1cd6373 --- /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 -- 2.47.3