Module: Minitest::ParallelForkInterrupt
Instance Method Summary
collapse
#parallel_fork_child_data, #parallel_fork_data_from_marshal, #parallel_fork_data_to_marshal, #parallel_fork_run_test_suites
Instance Method Details
#parallel_fork_fork_child(i, suites, reporter, options) ⇒ Object
28
29
30
31
32
|
# File 'lib/minitest/parallel_fork/interrupt.rb', line 28
def parallel_fork_fork_child(i, suites, reporter, options)
res = super
@parallel_fork_child_pids << res[0]
res
end
|
#parallel_fork_kill_all(signal) ⇒ Object
34
35
36
37
38
39
40
41
42
|
# File 'lib/minitest/parallel_fork/interrupt.rb', line 34
def parallel_fork_kill_all(signal)
@parallel_fork_child_pids.each do |pid|
begin
Process.kill(signal, pid)
rescue Errno::ESRCH
end
end
end
|
#run_after_parallel_fork_hook(i) ⇒ Object
23
24
25
26
|
# File 'lib/minitest/parallel_fork/interrupt.rb', line 23
def run_after_parallel_fork_hook(i)
super
Signal.trap(:INT, 'IGNORE')
end
|
#run_before_parallel_fork_hook ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/minitest/parallel_fork/interrupt.rb', line 13
def run_before_parallel_fork_hook
Signal.trap(:INT) do
Signal.trap(:INT) do
parallel_fork_kill_all :KILL
end
$stderr.puts "\nInterrupted.\nExiting ...\nInterrupt again to exit immediately."
parallel_fork_kill_all :USR1
end
end
|