Fail test if child process exists non-zero

This commit is contained in:
John Hawthorn 2025-03-25 12:06:39 -07:00
parent 8f952a1178
commit be6954f5d4
Notes: git 2025-03-26 02:14:43 +00:00

View File

@ -85,13 +85,18 @@ assert_equal 'ok', %q{
10.times do
pid = fork{ exit!(0) }
deadline = now + 10
until Process.waitpid(pid, Process::WNOHANG)
while true
_, status = Process.waitpid2(pid, Process::WNOHANG)
break if status
if now > deadline
Process.kill(:KILL, pid)
raise "failed"
end
sleep 0.001
end
unless status.success?
raise "child exited with status #{status}"
end
rescue NotImplementedError
end
:ok