6 atf_set "descr" "Basic tests on pwait(1) utility"
24 timeout --preserve-status 15 pwait $p1 $p5 $p10
28 -e inline:"kill: $p1: No such process\n" \
34 -e inline:"kill: $p5: No such process\n" \
40 -e inline:"kill: $p10: No such process\n" \
48 kill $p1 $p5 $p10 >/dev/null 2>&1
49 wait $p1 $p5 $p10 >/dev/null 2>&1
52 atf_test_case time_unit
55 atf_set "descr" "Test parsing the timeout unit and value"
64 -e inline:"pwait: timeout unit\n" \
66 timeout --preserve-status 2 pwait -t 1d $init
70 -e inline:"pwait: timeout unit\n" \
72 timeout --preserve-status 2 pwait -t 1d $init
76 -e inline:"pwait: timeout value\n" \
78 timeout --preserve-status 2 pwait -t -1 $init
82 -e inline:"pwait: timeout value\n" \
84 timeout --preserve-status 2 pwait -t 100000001 $init
86 # These long duration cases are expected to timeout from the
87 # timeout utility rather than pwait -t.
92 timeout --preserve-status 2 pwait -t 100000000 $init
98 timeout --preserve-status 2 pwait -t 1h $init
104 timeout --preserve-status 2 pwait -t 1.5h $init
110 timeout --preserve-status 2 pwait -t 1m $init
116 timeout --preserve-status 2 pwait -t 1.5m $init
122 timeout --preserve-status 2 pwait -t 0 $init
124 # The rest are fast enough that pwait -t is expected to trigger
130 timeout --preserve-status 2 pwait -t 1s $init
136 timeout --preserve-status 2 pwait -t 1.5s $init
142 timeout --preserve-status 2 pwait -t 1 $init
148 timeout --preserve-status 2 pwait -t 1.5 $init
154 timeout --preserve-status 2 pwait -t 0.5 $init
157 atf_test_case timeout_trigger_timeout
158 timeout_trigger_timeout_head()
160 atf_set "descr" "Test that exceeding the timeout is detected"
163 timeout_trigger_timeout_body()
172 timeout --preserve-status 6.5 pwait -t 5 $p10
175 timeout_trigger_timeout_cleanup()
177 kill $p10 >/dev/null 2>&1
178 wait $p10 >/dev/null 2>&1
181 atf_test_case timeout_no_timeout
182 timeout_no_timeout_head()
184 atf_set "descr" "Test that not exceeding the timeout continues to wait"
187 timeout_no_timeout_body()
196 timeout --preserve-status 11.5 pwait -t 12 $p10
199 timeout_no_timeout_cleanup()
201 kill $p10 >/dev/null 2>&1
202 wait $p10 >/dev/null 2>&1
205 atf_test_case timeout_many
208 atf_set "descr" "Test timeout on many processes"
226 timeout --preserve-status 7.5 pwait -t 6 $p1 $p5 $p10
229 timeout_many_cleanup()
231 kill $p1 $p5 $p10 >/dev/null 2>&1
232 wait $p1 $p5 $p10 >/dev/null 2>&1
235 atf_init_test_cases()
237 atf_add_test_case basic
238 atf_add_test_case time_unit
239 atf_add_test_case timeout_trigger_timeout
240 atf_add_test_case timeout_no_timeout
241 atf_add_test_case timeout_many