From 7edd2313ff205b27fc5edc4700e50439fc6f87ef Mon Sep 17 00:00:00 2001 From: Johan Holmberg <holmberg556@gmail.com> Date: Sun, 16 Feb 2014 21:59:44 +0100 Subject: [PATCH] add simple SIGINT handler --- bin/cmdtest.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/bin/cmdtest.rb b/bin/cmdtest.rb index 065a144..7127e78 100755 --- a/bin/cmdtest.rb +++ b/bin/cmdtest.rb @@ -218,6 +218,10 @@ module Cmdtest get_test_methods(runner).each do |method| test_method = TestMethod.new(method, self) test_method.run(clog, runner) unless test_method.skip?(runner) + if $cmdtest_got_ctrl_c > 0 + puts "cmdtest: exiting after Ctrl-C ..." + exit(1) + end end end end @@ -481,6 +485,15 @@ module Cmdtest clog.add_listener(JunitLogger.new(self, @xml)) end + $cmdtest_got_ctrl_c = 0 + trap("INT") do + puts "cmdtest: got ctrl-C ..." + $cmdtest_got_ctrl_c += 1 + if $cmdtest_got_ctrl_c > 3 + puts "cmdtest: several Ctrl-C, exiting ..." + exit(1) + end + end @runner.run(clog) end ok = the_clog.everything_ok?