mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 00:51:24 +03:00
d84f316cce
Depending on the timing, socat will either get ECONNREFUSED oder EPIPE from systemd. The latter will cause it to exit(1) and subsequently the test to fail. We are not actually interested in the return code of socat though. The test is supposed to check, whether rate limiting of a socket unit works properly. So ignore any failures from the socat invocation and instead check, if test10.socket is in state "failed" with result "trigger-limit-hit" after it has been triggered. TriggerLimitIntervalSec= by default is set to 2s. A "sleep 10" should give systemd enough time even on slower machines, to reach the trigger limit. For better readability, break the test into separate ExecStart lines. Fixes #19154.
17 lines
658 B
Desktop File
17 lines
658 B
Desktop File
[Unit]
|
|
Description=TEST-10-ISSUE-2467
|
|
|
|
[Service]
|
|
ExecStartPre=rm -f /failed /testok
|
|
Type=oneshot
|
|
ExecStart=rm -f /tmp/nonexistent
|
|
ExecStart=systemctl start test10.socket
|
|
ExecStart=sh -x -c 'printf x >test.file'
|
|
ExecStart=-socat -T20 OPEN:test.file UNIX-CONNECT:/run/test.ctl
|
|
# TriggerLimitIntervalSec= by default is set to 2s. A "sleep 10" should give
|
|
# systemd enough time even on slower machines, to reach the trigger limit.
|
|
ExecStart=sleep 10
|
|
ExecStart=sh -x -c 'test "$(systemctl show test10.socket -P ActiveState)" = failed'
|
|
ExecStart=sh -x -c 'test "$(systemctl show test10.socket -P Result)" = trigger-limit-hit'
|
|
ExecStart=sh -x -c 'echo OK >/testok'
|