diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-05 03:25:44 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-05 03:25:44 +0000 |
commit | 3caea6b6a2e4c2e152bf8799acd21127bb88a607 (patch) | |
tree | 0f93fa307c197315fbea0795a21c658975d54b7a /test/ruby/envutil.rb | |
parent | c6f7ecaebc69c0dbd8930c79a753e29d3a7dd003 (diff) | |
download | ruby-3caea6b6a2e4c2e152bf8799acd21127bb88a607.tar.gz |
envutil.rb: check stdout and stderr
* test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err):
check stdout and stderr both.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38703 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/envutil.rb')
-rw-r--r-- | test/ruby/envutil.rb | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb index 42a9bf0aa6..9759da0f73 100644 --- a/test/ruby/envutil.rb +++ b/test/ruby/envutil.rb @@ -187,18 +187,22 @@ module Test if block_given? raise "test_stdout ignored, use block only or without block" if test_stdout != [] raise "test_stderr ignored, use block only or without block" if test_stderr != [] - yield(stdout.lines.map {|l| l.chomp }, stderr.lines.map {|l| l.chomp }) + yield(stdout.lines.map {|l| l.chomp }, stderr.lines.map {|l| l.chomp }, status) else - if test_stdout.is_a?(Regexp) - assert_match(test_stdout, stdout, message) - else - assert_equal(test_stdout, stdout.lines.map {|l| l.chomp }, message) - end - if test_stderr.is_a?(Regexp) - assert_match(test_stderr, stderr, message) - else - assert_equal(test_stderr, stderr.lines.map {|l| l.chomp }, message) + errs = [] + [[test_stdout, stdout], [test_stderr, stderr]].each do |exp, act| + begin + if exp.is_a?(Regexp) + assert_match(exp, act, message) + else + assert_equal(exp, act.lines.map {|l| l.chomp }, message) + end + rescue MiniTest::Assertion => e + errs << e.message + message = nil + end end + raise MiniTest::Assertion, errs.join("\n---\n") unless errs.empty? status end end |