From 3ba954dd57340ec7583b922de1e75f6c7a194eb1 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Mon, 14 Aug 2023 19:35:37 +0200 Subject: [PATCH] test: add coverage for #27953 --- test/testsuite-07.units/issue27953.service | 7 +++++++ test/units/testsuite-07.issue-27953.sh | 11 +++++++++++ 2 files changed, 18 insertions(+) create mode 100644 test/testsuite-07.units/issue27953.service create mode 100755 test/units/testsuite-07.issue-27953.sh diff --git a/test/testsuite-07.units/issue27953.service b/test/testsuite-07.units/issue27953.service new file mode 100644 index 00000000000..f4410678228 --- /dev/null +++ b/test/testsuite-07.units/issue27953.service @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +[Unit] +Description=This unit should not remain active once the shell process exits + +[Service] +Type=oneshot +ExecStart=sh -c 'sleep infinity & exit 0' diff --git a/test/units/testsuite-07.issue-27953.sh b/test/units/testsuite-07.issue-27953.sh new file mode 100755 index 00000000000..8659970a5fe --- /dev/null +++ b/test/units/testsuite-07.issue-27953.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-2.1-or-later +set -eux +set -o pipefail + +# Check if the unit doesn't remain in active state after the main PID exits +# Issue: https://github.com/systemd/systemd/issues/27953 + +systemctl start issue27953.service +timeout 10 sh -c 'while systemctl is-active issue27953.service; do sleep .5; done' +[[ "$(systemctl show -P ExitType issue27953.service)" == main ]]