diff --git a/ChangeLog b/ChangeLog index 8695ef9d9b..c92fe1e889 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue May 10 14:50:32 2011 Shota Fukumori + + * lib/test/unit.rb: Add option for hiding skip messages when test + ends. #4657 + + * test/testunit/test_hideskip.rb, test/testunit/test4test_hideskip.rb: + test for above. + Tue May 10 10:53:04 2011 Eric Hodel * common.mk (rdoc): Add rdoc-coverage rule diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 1f1bb090bc..0ab57f0fbd 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -103,6 +103,10 @@ module Test opts.on '--ruby VAL', "Path to ruby; It'll have used at -j option" do |a| options[:ruby] = a.split(/ /).reject(&:empty?) end + + opts.on '-q', '--hide-skip', 'Hide skipped tests' do + options[:hide_skip] = true + end end def non_options(files, options) @@ -547,6 +551,7 @@ module Test end } end + report.reject!{|r| r.start_with? "Skipped:" } if @opts[:hide_skip] result end diff --git a/test/testunit/test4test_hideskip.rb b/test/testunit/test4test_hideskip.rb new file mode 100644 index 0000000000..6fe3284d4f --- /dev/null +++ b/test/testunit/test4test_hideskip.rb @@ -0,0 +1,7 @@ +require 'test/unit' + +class TestForTestHideSkip < Test::Unit::TestCase + def test_skip + skip + end +end diff --git a/test/testunit/test_hideskip.rb b/test/testunit/test_hideskip.rb new file mode 100644 index 0000000000..967ecafba9 --- /dev/null +++ b/test/testunit/test_hideskip.rb @@ -0,0 +1,20 @@ +require 'test/unit' + +class TestHideSkip < Test::Unit::TestCase + def test_hideskip + test_out, o = IO.pipe + spawn(*@options[:ruby], "#{File.dirname(__FILE__)}/test4test_hideskip.rb", + out: o, err: o) + o.close + assert_match(/assertions\/s.\n\n 1\) Skipped/,test_out.read) + test_out.close + + test_out, o = IO.pipe + spawn(*@options[:ruby], "#{File.dirname(__FILE__)}/test4test_hideskip.rb", + "--hide-skip", out: o, err: o) + o.close + assert_match(/assertions\/s.\n\n1 tests, 0 assertions, 0 failures, 0 errors, 1 skips/, + test_out.read) + test_out.close + end +end