test: kill all subprocesses on timeout.

Fixes #5885.
This commit is contained in:
Mike McQuaid 2019-04-19 14:42:26 +09:00
parent 8f5be03cb8
commit 4b369962d3
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70

View File

@ -30,5 +30,12 @@ begin
rescue Exception => e # rubocop:disable Lint/RescueException
error_pipe.puts e.to_json
error_pipe.close
pid = Process.pid.to_s
if which("pgrep") && which("pkill") && system("pgrep", "-qP", pid)
$stderr.puts "Killing child processes..."
system "pkill", "-P", pid
sleep 1
system "pkill", "-9", "-P", pid
end
exit! 1
end