From be6954f5d466f4b274505e4f14bcad291d0b0989 Mon Sep 17 00:00:00 2001 From: John Hawthorn Date: Tue, 25 Mar 2025 12:06:39 -0700 Subject: [PATCH] Fail test if child process exists non-zero --- bootstraptest/test_fork.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bootstraptest/test_fork.rb b/bootstraptest/test_fork.rb index a54316dbca..860ef285d0 100644 --- a/bootstraptest/test_fork.rb +++ b/bootstraptest/test_fork.rb @@ -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