summaryrefslogtreecommitdiff
path: root/test/ripper
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-07-19 12:14:30 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-07-19 12:14:30 +0000
commitff331d14420706de44204c046d6063b39a6ae88e (patch)
tree3cf554ccf37d1e0264e274abfd087d91190bcd58 /test/ripper
parent1f03c90dbf40fdba75fdb150f6382f77efeda175 (diff)
suppress fragile warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ripper')
-rw-r--r--test/ripper/test_files.rb21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/ripper/test_files.rb b/test/ripper/test_files.rb
index 695cc14..072a52d 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