From 7e04b19d22f5b284782f9f1265d888ecbe339dd0 Mon Sep 17 00:00:00 2001 From: sorah Date: Tue, 6 Sep 2011 12:20:17 +0000 Subject: [PATCH] * lib/test/unit.rb (_run_suites): Now reports are written the following order: Skip, Failure, Error. [Feature #5282] * test_sorting.rb: test for above. * test4test_sorting.rb: Ditto. * lib/test/unit.rb (run): Put RUBY_DESCIPTION before quitting. [Feature #5282] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 12 ++++++++++++ lib/test/unit.rb | 8 ++++++++ test/testunit/test4test_sorting.rb | 15 +++++++++++++++ test/testunit/test_sorting.rb | 17 +++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 test/testunit/test4test_sorting.rb create mode 100644 test/testunit/test_sorting.rb diff --git a/ChangeLog b/ChangeLog index 3106fed4b0..c38c2d634f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +Tue Sep 6 21:06:49 2011 Shota Fukumori + + * lib/test/unit.rb (_run_suites): Now reports are written the + following order: Skip, Failure, Error. [Feature #5282] + + * test_sorting.rb: test for above. + + * test4test_sorting.rb: Ditto. + + * lib/test/unit.rb (run): Put RUBY_DESCIPTION before quitting. + [Feature #5282] + Tue Sep 6 21:13:47 2011 Masaya Tarui * win32/Makefile.sub (INSNS): change command line option -Ks to -Ku diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 09708d14df..8d3a726b9b 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -570,6 +570,8 @@ module Test } end report.reject!{|r| r.start_with? "Skipped:" } if @options[:hide_skip] + report.sort_by!{|r| r.start_with?("Skipped:") ? 0 : \ + (r.start_with?("Failure:") ? 1 : 2) } result end @@ -599,6 +601,12 @@ module Test raise @interrupt if @interrupt result end + + def run(*args) + result = super + puts "\nruby -v: #{RUBY_DESCRIPTION}" + result + end end class AutoRunner diff --git a/test/testunit/test4test_sorting.rb b/test/testunit/test4test_sorting.rb new file mode 100644 index 0000000000..1f7f4a323e --- /dev/null +++ b/test/testunit/test4test_sorting.rb @@ -0,0 +1,15 @@ +require 'test/unit' + +class TestForTestHideSkip < Test::Unit::TestCase + def test_c + skip "do nothing" + end + + def test_b + assert_equal true, false + end + + def test_a + raise + end +end diff --git a/test/testunit/test_sorting.rb b/test/testunit/test_sorting.rb new file mode 100644 index 0000000000..ca85db57ea --- /dev/null +++ b/test/testunit/test_sorting.rb @@ -0,0 +1,17 @@ +require 'test/unit' + +class TestTestUnitSorting < Test::Unit::TestCase + def test_sorting + test_out, o = IO.pipe + spawn(*@options[:ruby], "#{File.dirname(__FILE__)}/test4test_sorting.rb", + out: o, err: o) + o.close + result = test_out.read + + assert_match(/^ 1\) Skipped:/, result) + assert_match(/^ 2\) Failure:/, result) + assert_match(/^ 3\) Error:/, result) + + test_out.close + end +end