mirror of
https://github.com/Dasharo/systemd.git
synced 2026-03-06 15:02:31 -08:00
test: merge TEST-47-ISSUE-14566 into TEST-07-PID1
This commit is contained in:
@@ -1 +0,0 @@
|
||||
../TEST-01-BASIC/Makefile
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -e
|
||||
|
||||
TEST_DESCRIPTION="Test that KillMode=mixed does not leave left over processes with ExecStopPost="
|
||||
|
||||
# shellcheck source=test/test-functions
|
||||
. "${TEST_BASE_DIR:?}/test-functions"
|
||||
|
||||
do_test "$@"
|
||||
@@ -3,6 +3,6 @@
|
||||
Description=Issue 14566 Repro
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/testsuite-07.units/%N.sh
|
||||
ExecStopPost=/bin/true
|
||||
KillMode=mixed
|
||||
31
test/units/testsuite-07.issue-14566.sh
Executable file
31
test/units/testsuite-07.issue-14566.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# Test that KillMode=mixed does not leave left over processes with ExecStopPost=
|
||||
# Issue: https://github.com/systemd/systemd/issues/14566
|
||||
|
||||
if [[ -n "${ASAN_OPTIONS:-}" ]]; then
|
||||
# Temporarily skip this test when running with sanitizers due to a deadlock
|
||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=2098125
|
||||
echo "Sanitizers detected, skipping the test..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
systemd-analyze log-level debug
|
||||
|
||||
systemctl start issue14566-repro
|
||||
sleep 4
|
||||
systemctl status issue14566-repro
|
||||
|
||||
leaked_pid=$(cat /leakedtestpid)
|
||||
|
||||
systemctl stop issue14566-repro
|
||||
sleep 4
|
||||
|
||||
# Leaked PID will still be around if we're buggy.
|
||||
# I personally prefer to see 42.
|
||||
ps -p "$leaked_pid" && exit 42
|
||||
|
||||
systemd-analyze log-level info
|
||||
@@ -1,8 +0,0 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Unit]
|
||||
Description=TEST-47-ISSUE-14566
|
||||
|
||||
[Service]
|
||||
ExecStartPre=rm -f /failed /testok
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
systemd-analyze log-level debug
|
||||
|
||||
systemctl start testsuite-47-repro
|
||||
sleep 4
|
||||
systemctl status testsuite-47-repro
|
||||
|
||||
leaked_pid=$(cat /leakedtestpid)
|
||||
|
||||
systemctl stop testsuite-47-repro
|
||||
sleep 4
|
||||
|
||||
# Leaked PID will still be around if we're buggy.
|
||||
# I personally prefer to see 42.
|
||||
ps -p "$leaked_pid" && exit 42
|
||||
|
||||
systemd-analyze log-level info
|
||||
|
||||
echo OK >/testok
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user