From: Shota Fukumori Date: 2011-05-10T14:54:38+09:00 Subject: [ruby-dev:43509] [Ruby 1.9 - Feature #4657][Closed] add option to hide skip messages on unit/test Issue #4657 has been updated by Shota Fukumori. Status changed from Open to Closed r31502 でコミットしました。 -q, --hide-skipでskipメッセージが表示されなくなります。 ---------------------------------------- Feature #4657: add option to hide skip messages on unit/test http://redmine.ruby-lang.org/issues/4657 Author: Shota Fukumori Status: Closed Priority: Normal Assignee: Category: lib Target version: 最近test-allでSkipが多いので、skipのメッセージ表示を抑制するオプションを追加してはどうでしょう。 ちなみに、ruby-jaで以下のような流れがありました。 >nurse: そういえば、うささんの今のtest-allのskipって、test-allの最後で表示されたほうが嬉しいの? >unak: まったくうれしくない。 >nurse: 今表示されてるのも消えたほうがいい? >unak: skipの表示を抑制するオプションはほしい。 以下のパッチを適用するとtest/unit (test-all)に--hide-skipオプションが追加され、 --hide-skipオプションを付けて実行するとSkippedメッセージが表示されなくなります。 従来通り、Skip数は末尾のレポートで確認することができるようになっています。 出力例: $ make TESTS='--hide-skip date' test-all ./miniruby -I../../lib -I. -I.ext/common ../../tool/runruby.rb --extout=.ext -- "../../test/runner.rb" --ruby="./miniruby -I../../lib -I. -I.ext/common ../../tool/runruby.rb --extout=.ext --" --hide-skip date Run options: "--ruby=./miniruby -I../../lib -I. -I.ext/common ../../tool/runruby.rb --extout=.ext --" --hide-skip # Running tests: ..............................SSS....SSSSSSSSSSSSSSSS.SS........................................................................ Finished tests in 11.376260s, 11.2515 tests/s, 14151.3116 assertions/s. 128 tests, 160989 assertions, 0 failures, 0 errors, 21 skips = patch below diff --git lib/test/unit.rb lib/test/unit.rb index 1f1bb09..e88309f 100644 --- lib/test/unit.rb +++ 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 '--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 test/testunit/test4test_hideskip.rb test/testunit/test4test_hideskip.rb new file mode 100644 index 0000000..6fe3284 --- /dev/null +++ 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 test/testunit/test_hideskip.rb test/testunit/test_hideskip.rb new file mode 100644 index 0000000..967ecaf --- /dev/null +++ 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 -- http://redmine.ruby-lang.org