Files
systemd/test/units/TEST-74-AUX-UTILS.pty-forward.sh
Yu Watanabe e2c5e9c011 test: use relative paths to executables
This also makes shebang always use env command, and drops unnecessary
'bash -c' or 'sh -c' when a signle command is invoked in the shell,
like sleep or echo.
2025-09-23 15:48:53 +01:00

40 lines
740 B
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: LGPL-2.1-or-later
set -eux
set -o pipefail
systemd-pty-forward --background 41 --title test echo foobar
# Test that signals are forwarded to the systemd-pty-forward child process.
cat >/tmp/child <<\EOF
#!/usr/bin/env bash
set -x
trap 'touch /tmp/int' INT
# We need to wait for the sleep process asynchronously in order to allow
# bash to process signals
sleep infinity &
# notify that the process is ready
touch /tmp/ready
PID=$!
while :; do
wait || :
done
EOF
chmod +x /tmp/child
systemd-pty-forward /tmp/child &
PID=$!
timeout 5 bash -c "until test -e /tmp/ready; do sleep .5; done"
kill -INT "$PID"
timeout 5 bash -c "until test -e /tmp/int; do sleep .5; done"
kill "$PID"