From 209d355c70c2ba03dd1c6bc9a3df3b6e8c6bcd4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Tue, 22 Nov 2022 05:14:01 +0100 Subject: [PATCH] Add basic systemctl edit test --- test/TEST-26-SYSTEMCTL/test.sh | 4 ++++ test/units/testsuite-26.sh | 16 +++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/test/TEST-26-SYSTEMCTL/test.sh b/test/TEST-26-SYSTEMCTL/test.sh index 64accf850f..659311be4d 100755 --- a/test/TEST-26-SYSTEMCTL/test.sh +++ b/test/TEST-26-SYSTEMCTL/test.sh @@ -7,4 +7,8 @@ TEST_DESCRIPTION="systemctl-related tests" # shellcheck source=test/test-functions . "${TEST_BASE_DIR:?}/test-functions" +test_append_files() ( + image_install script +) + do_test "$@" diff --git a/test/units/testsuite-26.sh b/test/units/testsuite-26.sh index 70fdc5956e..0fe0d9b0d9 100755 --- a/test/units/testsuite-26.sh +++ b/test/units/testsuite-26.sh @@ -1,11 +1,12 @@ #!/usr/bin/env bash # SPDX-License-Identifier: LGPL-2.1-or-later +# shellcheck disable=SC2016 set -eux set -o pipefail at_exit() { if [[ -v UNIT_NAME && -e "/usr/lib/systemd/system/$UNIT_NAME" ]]; then - rm -fv "/usr/lib/systemd/system/$UNIT_NAME" + rm -fvr "/usr/lib/systemd/system/$UNIT_NAME" "/etc/systemd/system/$UNIT_NAME.d" "+4" fi } @@ -17,7 +18,7 @@ trap at_exit EXIT # Create a simple unit file for testing # Note: the service file is created under /usr on purpose to test # the 'revert' verb as well -UNIT_NAME="systemctl-test-$RANDOM.service" +export UNIT_NAME="systemctl-test-$RANDOM.service" cat >"/usr/lib/systemd/system/$UNIT_NAME" <<\EOF [Unit] Description=systemctl test @@ -41,7 +42,16 @@ EOF mkdir /run/systemd/system-preset/ echo "disable $UNIT_NAME" >/run/systemd/system-preset/99-systemd-test.preset -systemctl daemon-reload +EDITOR='true' script -ec 'systemctl edit "$UNIT_NAME"' /dev/null +[ ! -e "/etc/systemd/system/$UNIT_NAME.d/override.conf" ] + +printf '%s\n' '[Service]' 'ExecStart=' 'ExecStart=sleep 10d' > "+4" +EDITOR='mv' script -ec 'systemctl edit "$UNIT_NAME"' /dev/null +printf '%s\n' '[Service]' 'ExecStart=' 'ExecStart=sleep 10d' | cmp - "/etc/systemd/system/$UNIT_NAME.d/override.conf" + +printf '%b' '[Service]\n' 'ExecStart=\n' 'ExecStart=sleep 10d' > "+4" +EDITOR='mv' script -ec 'systemctl edit "$UNIT_NAME"' /dev/null +printf '%s\n' '[Service]' 'ExecStart=' 'ExecStart=sleep 10d' | cmp - "/etc/systemd/system/$UNIT_NAME.d/override.conf" # Argument help systemctl --state help