From 512ddaf39b5e878691fc4b90a1d6374bfdeed998 Mon Sep 17 00:00:00 2001 From: Benoit Tigeot Date: Mon, 29 Jun 2020 23:49:41 +0200 Subject: [PATCH] Add basic circuit breaker if we detect extra ruby process --- spec/integration/bisect_spec.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spec/integration/bisect_spec.rb b/spec/integration/bisect_spec.rb index d2d223d4a5..b3fd21a202 100644 --- a/spec/integration/bisect_spec.rb +++ b/spec/integration/bisect_spec.rb @@ -45,7 +45,10 @@ def bisect(cli_args, expected_status=nil) it 'does not leave zombie processes', :unless => RSpec::Support::OS.windows? do original_pids = pids() bisect(%W[spec/rspec/core/resources/blocking_pipe_bisect_spec.rb_], 1) + cursor = 0 while ((extra_pids = pids() - original_pids).join =~ /[RE]/i) + raise "Extra process detected" if cursor > 10 + cursor += 1 sleep 0.1 end expect(extra_pids.join).to_not include "Z"