From 25f3e618ad6c238875dc476a76741349ad089a41 Mon Sep 17 00:00:00 2001 From: Johan Holmberg Date: Wed, 18 Nov 2009 23:04:06 +0100 Subject: [PATCH] Set exit code at errors. Add --no-exit-code to disable. --- bin/cmdtest.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bin/cmdtest.rb b/bin/cmdtest.rb index 8c6b44a..6188aec 100755 --- a/bin/cmdtest.rb +++ b/bin/cmdtest.rb @@ -208,6 +208,10 @@ module Cmdtest @method_filter.write end + def everything_ok? + @n_assert_errors == 0 && @n_assert_failures == 0 + end + def assert_success @n_assert_successes += 1 end @@ -298,6 +302,7 @@ module Cmdtest @verbose = false @fast = false @xml = nil + @set_exit_code = true @ruby_s = false @incremental = false @patterns = [] @@ -320,6 +325,8 @@ module Cmdtest @fast = true when opt =~ /^--xml=(.+)$/ @xml = $1 + when opt =~ /^--no-exit-code$/ + @set_exit_code = false when opt =~ /^--ruby_s$/ @ruby_s = true when opt =~ /^-r$/ @@ -364,6 +371,8 @@ module Cmdtest end @runner.run + error_exit = @set_exit_code && ! @runner.everything_ok? + exit( error_exit ? 1 : 0 ) end private @@ -382,6 +391,7 @@ module Cmdtest puts " --fast run fast without waiting for unique mtime:s" puts " --test=NAME only run named test" puts " --xml=FILE write summary on JUnit format" + puts " --no-exit-code exit with 0 status even after errors" puts " -i incremental mode" end