diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-02 03:40:10 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-01-02 03:40:10 +0000 |
commit | f5da412c9ea7191a78475182ec95cb3bb7f0b7c4 (patch) | |
tree | 98a255a983ecff6a387c756d4cbbb519b4b84130 | |
parent | 6d65806f8be4aa308793a80890815f31d8ad7fa1 (diff) | |
download | ruby-f5da412c9ea7191a78475182ec95cb3bb7f0b7c4.tar.gz |
test_yield.rb: assert_all_sentences
* test/ruby/test_yield.rb (assert_all_sentences): test all
sentences and report all results at the end.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | test/ruby/test_yield.rb | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/test/ruby/test_yield.rb b/test/ruby/test_yield.rb index 82378d48b4..a24666b6ca 100644 --- a/test/ruby/test_yield.rb +++ b/test/ruby/test_yield.rb @@ -340,11 +340,12 @@ class TestRubyYieldGen < Test::Unit::TestCase t = t.subst('vars') { " [#{vars.join(",")}]" } emu_values = emu(t, vars, islambda) s = t.to_s + o = Object.new #print "#{s}\t\t" #STDOUT.flush eval_values = disable_stderr { begin - eval(s, nil, 'generated_code_in_check_nofork') + o.instance_eval(s, 'generated_code_in_check_nofork') rescue ArgumentError ArgumentError end @@ -354,23 +355,33 @@ class TestRubyYieldGen < Test::Unit::TestCase assert_equal(emu_values, eval_values, s) end + def assert_all_sentences(syntax, *args) + fails = [] + syntax = Sentence.expand_syntax(syntax) + Sentence.each(syntax, *args) {|t| + begin + yield t + rescue MiniTest::Assertion => e + fails << e.message + end + } + assert(fails.empty?, proc {fails.join("\n--------\n")}) + end + def test_yield - syntax = Sentence.expand_syntax(Syntax) - Sentence.each(syntax, :test_proc, 4) {|t| + assert_all_sentences(Syntax, :test_proc, 4) {|t| check_nofork(t) } end def test_yield_lambda - syntax = Sentence.expand_syntax(Syntax) - Sentence.each(syntax, :test_lambda, 4) {|t| + assert_all_sentences(Syntax, :test_lambda, 4) {|t| check_nofork(t, true) } end def test_yield_enum - syntax = Sentence.expand_syntax(Syntax) - Sentence.each(syntax, :test_enum, 4) {|t| + assert_all_sentences(Syntax, :test_enum, 4) {|t| code = t.to_s r1, r2 = disable_stderr { eval(code, nil, 'generated_code_in_test_yield_enum') |