From: Mike Yuan Date: Mon, 13 Mar 2023 12:33:36 +0000 (+0800) Subject: test: add testsuite-74.machinectl X-Git-Tag: v254-rc1~1008^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=af0292844db57e796e48e434f5ff73ef02ed85bb;p=thirdparty%2Fsystemd.git test: add testsuite-74.machinectl --- 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