2021-10-17 18:07:22 +02:00
# SPDX-License-Identifier: LGPL-2.1-or-later
2021-08-24 16:46:47 +01:00
[Unit]
Description = TEST-63-ISSUE-17433
[Service]
ExecStartPre = rm -f /failed /testok
Type = oneshot
2021-12-17 20:01:31 +01:00
# Test that a path unit continuously triggering a service that fails condition checks eventually fails with
# the trigger-limit-hit error.
2021-08-24 16:46:47 +01:00
ExecStart = rm -f /tmp/nonexistent
ExecStart = systemctl start test63.path
ExecStart = touch /tmp/test63
2021-12-17 20:01:31 +01:00
# Make sure systemd has sufficient time to hit the trigger limit for test63.path.
2021-08-24 16:46:47 +01:00
ExecStart = sleep 2
2021-12-17 20:01:31 +01:00
ExecStart = sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = inactive'
ExecStart = sh -x -c 'test "$(systemctl show test63.service -P Result)" = success'
2021-08-24 16:46:47 +01:00
ExecStart = sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = failed'
2021-12-17 20:01:31 +01:00
ExecStart = sh -x -c 'test "$(systemctl show test63.path -P Result)" = trigger-limit-hit'
# Test that starting the service manually doesn't affect the path unit.
ExecStart = rm -f /tmp/test63
ExecStart = systemctl reset-failed
ExecStart = systemctl start test63.path
ExecStart = systemctl start test63.service
ExecStart = sh -x -c 'test "$(systemctl show test63.service -P ActiveState)" = inactive'
ExecStart = sh -x -c 'test "$(systemctl show test63.service -P Result)" = success'
ExecStart = sh -x -c 'test "$(systemctl show test63.path -P ActiveState)" = active'
ExecStart = sh -x -c 'test "$(systemctl show test63.path -P Result)" = success'
2021-08-24 16:46:47 +01:00
ExecStart = sh -x -c 'echo OK >/testok'