[Ruby 1.9 - Feature #4657][Open] add option to hide skip messages on unit/test

Issue #4657 has been reported by Shota F…


Feature #4657: add option to hide skip messages on unit/test

Author: Shota F.
Status: Open
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

(05/09/2011 06:31 PM), Shota F. wrote:

最近test-allでSkipが多いので、skipのメッセージ表示を抑制するオプションを追加してはどうでしょう。

賛成です。個人的にもtest-all結果からはskipをまず消してから読んでいます(という
スクリプトを書いてしまった程度には邪魔)。

(05/09/2011 06:31 PM), Shota F. wrote:

最近test-allでSkipが多いので、skipのメッセージ表示を抑制するオプションを追加してはどうでしょう。

賛成です。個人的にもtest-all結果からはskipをまず消してから読んでいます(という
スクリプトを書いてしまった程度には邪魔)。

+1.

この skip メッセージを読みたい人はおそらく普段 make test-all してる人には
いないので、make test-all はデフォルトで抑制していただきたい。
これがマージされれば zlib などのテストで returnを使ってる箇所を skipに
変更することに対してもいいと思います。

2011/5/9 KOSAKI Motohiro [email protected]:

$B$3$l$,%^!<%8$5$l$l$P(B zlib $B$J$I$N%F%9%H$G(B return$B$r;H$C$F$k2U=j$r(B
skip$B$K(B
$BJQ99$9$k$3$H$KBP$7$F$b$$$$$H;W$$$^$9!#(B

$B%G%U%)%k%HM^@)$K$D$$$F$O(Bchkbuild$B$X$N1F6A$J$I1F6A$,B?$$$3$H$+$i:#2s$O%Q%9$H$$$&N.$l$G$7$?!#(B

$B$$$J$$$N$G!"(Bmake test-all $B$O%G%U%)%k%H$GM^@)$7$F$$$?$@$-$?$$!#(B
$B$3$l$,%^!<%8$5$l$l$P(B zlib $B$J$I$N%F%9%H$G(B return$B$r;H$C$F$k2U=j$r(B
skip$B$K(B

$BJQ99$9$k$3$H$KBP$7$F$b$$$$$H;W$$$^$9!#(B

$B%G%U%)%k%HM^@)$K$D$$$F$O(Bchkbuild$B$X$N1F6A$J$I1F6A$,B?$$$3$H$+$i:#2s$O%Q%9$H$$$&N.$l$G$7$?!#(B

$B6qBNE*$K$O!"$J$K$,5/$-$^$9$G$7$g$&$+!)(B

2011/5/9 KOSAKI Motohiro [email protected]:

$B%G%U%)%k%HM^@)$K$D$$$F$O(Bchkbuild$B$X$N1F6A$J$I1F6A$,B?$$$3$H$+$i:#2s$O%Q%9$H$$$&N.$l$G$7$?!#(B

$B6qBNE*$K$O!"$J$K$,5/$-$^$9$G$7$g$&$+!)(B

$B$H$j$"$($:(Bchkbuild$B$K$O=$@5$,I,MW$J$h$&$G$9(B
(naruse$B$5$s[)$/(B)$B!#(B
$BB>$N(BCI$B%7%9%F%`$J$I$O$o$+$j$^$;$s!#(B

(2011/05/09 20:50), Shota F. (sora_h) wrote:

2011/5/9 KOSAKI Motohiro [email protected]:

$B%G%U%)%k%HM^@)$K$D$$$F$O(Bchkbuild$B$X$N1F6A$J$I1F6A$,B?$$$3$H$+$i:#2s$O%Q%9$H$$$&N.$l$G$7$?!#(B

$B6qBNE*$K$O!"$J$K$,5/$-$^$9$G$7$g$&$+!)(B

$B$H$j$"$($:(Bchkbuild$B$K$O=$@5$,I,MW$J$h$&$G$9(B (naruse$B$5$s[)$/(B)$B!#(B
$BB>$N(BCI$B%7%9%F%`$J$I$O$o$+$j$^$;$s!#(B

chkbuild $B$K$O(B Skip
$B$N>pJs$b8+$;$k$Y$-$@$H;W$C$F$$$k$N$G=$@5$OI,MW$G$7$g$&!#(B
$B$,!"(B1$B9T$N=$@5$@$m$&$N$G!V1F6A$,B?$$!W$H$O;W$C$F$$$^$;$s!#(B

$B$^$!!“$I$&$;$$l$i$O8=>u$G$b(B TESTS=-v
$B$H$+%G%U%)%k%H$H0c$&$3$H$r$7$F$$$k$o$1$G!"(B
$B$
$l$i$,(B --hide-skip
$B$C$F<j85$G$O$9$l$P$$$$$s$8$c$M!”$H$$$&$h$&$J5DO@$G$7$?!#(B

Issue #4657 has been updated by Shota F…

Status changed from Open to Closed

r31502 でコミットしました。

-q, --hide-skipでskipメッセージが表示されなくなります。

Feature #4657: add option to hide skip messages on unit/test

Author: Shota F.
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

-q, --hide-skip$B$G(Bskip$B%a%C%;!<%8$,I=<($5$l$J$/$J$j$^$9!#(B

skip $B$N%a%C%;!<%8$r1#$9!V$@$1!W$J$N$K(B -q
$B$H$$$&;XDj$O0cOB46$r46$8$k$N$G$9$,$I$&$J$s$G$7$g$&$+!#(B
-q $B$C$F$D$1$k$HA4It$N%a%C%;!<%8$,>C$($k%$%a!<%8$,!#(B

$B$?$7$+$K!"(BTESTS="-v -q" $B$C$F(B -v $B$H(B -q
$B$,F1;~$K$D$$$F$$$k$H0l=V0cOB46$,(B
$B$"$k$+$b$G$9$M$’!#BeBX0F$O$"$j$^$9$G$7$g$&$+!)(B

$B<B$N$H$3$m!"47$l$?$i5$$K$J$i$J$/$J$k$s$8$c$J$$$+$H$$$&5$$b$7$J$/$O(B
$B$J$$$N$G$9$,!#(B

-q, --hide-skip$B$G(Bskip$B%a%C%;!<%8$,I=<($5$l$J$/$J$j$^$9!#(B

skip $B$N%a%C%;!<%8$r1#$9!V$@$1!W$J$N$K(B -q
$B$H$$$&;XDj$O0cOB46$r46$8$k$N$G$9$,$I$&$J$s$G$7$g$&$+!#(B
-q $B$C$F$D$1$k$HA4It$N%a%C%;!<%8$,>C$($k%$%a!<%8$,!#(B

$B$3$s$K$A$O!"$J$+$`$i(B($B$&(B)$B$G$9!#(B

In message “[ruby-dev:43511] Re: [Ruby 1.9 - Feature #4657][Closed] add
option to hide skip messages on unit/test”
on May.10,2011 15:24:02, [email protected] wrote:

-q, --hide-skip$B$G(Bskip$B%a%C%;!<%8$,I=<($5$l$J$/$J$j$^$9!#(B

skip $B$N%a%C%;!<%8$r1#$9!V$@$1!W$J$N$K(B -q
$B$H$$$&;XDj$O0cOB46$r46$8$k$N$G$9$,$I$&$J$s$G$7$g$&$+!#(B
-q $B$C$F$D$1$k$HA4It$N%a%C%;!<%8$,>C$($k%$%a!<%8$,!#(B

$B$?$7$+$K!“(BTESTS=”-v -q" $B$C$F(B -v $B$H(B -q
$B$,F1;~$K$D$$$F$$$k$H0l=V0cOB46$,(B
$B$“$k$+$b$G$9$M$'!#BeBX0F$O$”$j$^$9$G$7$g$&$+!)(B

$B<B$N$H$3$m!"47$l$?$i5$$K$J$i$J$/$J$k$s$8$c$J$$$+$H$$$&5$$b$7$J$/$O(B
$B$J$$$N$G$9$,!#(B

$B47$l$?$i5$$K$J$i$J$/$J$k$H;W$$$^$9!#(B

$B$=$b$=$b!“$;$C$+$/(Btest$B$7$F$s$N$K%a%C%;!<%8$rA4It>C$7$?$$$J$s(B
$B$F$$$&%K!<%:$OB8:_$7$J$$$o$1$G(B($B$H$+CG8@$7$A$c$&(B)$B!”$G!“$”$l$P!"(B
-q$B$,!VA4It>C$9!W$H$$$&0UL#$G$J$$$3$H$OL@$i$+$G$7$g$&!#(B

$B$=$l$G$O!#(B