From b235e8f474b24b22162ed3feb8a0a3abec14f2e0 Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 14 Aug 2007 12:48:12 +0000 Subject: * bootstraptest/runner.rb (assert_check): new method. (assert_match): new method. (assert_equal): use assert_check. (pretty): give failure description as an argument. * bootstraptest/test_exception.rb: use assert_match to describe the test for [ruby-dev:31407]. [ruby-dev:31412] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ bootstraptest/runner.rb | 34 ++++++++++++++++++++++++++++------ bootstraptest/test_exception.rb | 12 +++--------- 3 files changed, 41 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9b0ad815a7..4506067722 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Tue Aug 14 21:43:39 2007 Tanaka Akira + + * bootstraptest/runner.rb (assert_check): new method. + (assert_match): new method. + (assert_equal): use assert_check. + (pretty): give failure description as an argument. + + * bootstraptest/test_exception.rb: use assert_match to describe the + test for [ruby-dev:31407]. [ruby-dev:31412] + Tue Aug 14 19:53:15 2007 Koichi Sasada * proc.c (Init_Proc), eval.c (Init_eval), eval_intern.h: move diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb index 0b2f14fbc6..5d550025e9 100644 --- a/bootstraptest/runner.rb +++ b/bootstraptest/runner.rb @@ -95,25 +95,47 @@ def exec_test(pathes) end end -def assert_equal(expected, testsrc, message = '') +def assert_check(testsrc, message = '') newtest $stderr.puts "\##{@count} #{@location}" if @verbose result = get_result_string(testsrc) check_coredump - if expected == result + faildesc = yield(result) + if !faildesc $stderr.print '.' else $stderr.print 'F' - error pretty(testsrc, expected, result), message + error faildesc, message end rescue Exception => err $stderr.print 'E' error err.message, message end -def pretty(src, ex, result) - (/\n/ =~ src ? "\n#{adjust_indent(src)}" : src) + - " #=> #{result.inspect} (expected #{ex.inspect})" +def assert_equal(expected, testsrc, message = '') + assert_check(testsrc, message) {|result| + if expected == result + nil + else + desc = "#{result.inspect} (expected #{expected.inspect})" + pretty(testsrc, desc, result) + end + } +end + +def assert_match(expected_pattern, testsrc, message = '') + assert_check(testsrc, message) {|result| + if expected_pattern =~ result + nil + else + desc = "#{expected_pattern.inspect} expected to be =~\n#{result.inspect}" + pretty(testsrc, desc, result) + end + } +end + +def pretty(src, desc, result) + (/\n/ =~ src ? "\n#{adjust_indent(src)}" : src) + " #=> #{desc}" end INDENT = 27 diff --git a/bootstraptest/test_exception.rb b/bootstraptest/test_exception.rb index 85ed946780..1f103cf218 100644 --- a/bootstraptest/test_exception.rb +++ b/bootstraptest/test_exception.rb @@ -370,12 +370,11 @@ assert_equal %q{}, %q{ } ## -assert_equal "ok", %q{ - $foo = "ok" +assert_match /undefined method `foo'/, %q{ + STDERR.reopen(STDOUT) class C def inspect bar {} - $foo = "ng" end def bar @@ -383,11 +382,6 @@ assert_equal "ok", %q{ ensure end end - - begin - C.new.foo - rescue NoMethodError => e - $foo - end + C.new.foo }, "[ruby-dev:31407]" -- cgit v1.2.3