Project

General

Profile

Feature #4657

add option to hide skip messages on unit/test

Added by sorah (Sorah Fukumori) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-dev:43493]

Description

最近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

Also available in: Atom PDF