From ff331d14420706de44204c046d6063b39a6ae88e Mon Sep 17 00:00:00 2001 From: akr Date: Thu, 19 Jul 2012 12:14:30 +0000 Subject: suppress fragile warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ripper/test_files.rb | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'test/ripper') diff --git a/test/ripper/test_files.rb b/test/ripper/test_files.rb index 695cc149c9..072a52d86f 100644 --- a/test/ripper/test_files.rb +++ b/test/ripper/test_files.rb @@ -1,6 +1,7 @@ begin require 'ripper' require 'find' + require 'stringio' require 'test/unit' ripper_test = true module TestRipper; end @@ -17,11 +18,29 @@ class TestRipper::Generic < Test::Unit::TestCase TEST_RATIO = 0.05 # testing all files needs too long time... + def capture_stderr + err = StringIO.new + begin + old = $stderr + $stderr = err + yield + ensure + $stderr = old + end + if TEST_RATIO == 1.0 + puts err.string + end + end + def test_parse_files Find.find("#{SRCDIR}/lib", "#{SRCDIR}/ext", "#{SRCDIR}/sample", "#{SRCDIR}/test") {|n| next if /\.rb\z/ !~ n || !File.file?(n) next if TEST_RATIO < rand - assert_nothing_raised("ripper failed to parse: #{n.inspect}") { Parser.new(File.read(n)).parse } + assert_nothing_raised("ripper failed to parse: #{n.inspect}") { + capture_stderr { + Parser.new(File.read(n)).parse + } + } } end end if ripper_test -- cgit v1.2.3