зеркало из https://github.com/github/ruby.git
* bootstraptest/runner.rb: show source code in error message.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
71986ef6bc
Коммит
565bcdcb30
|
@ -1,3 +1,7 @@
|
|||
Sun Feb 25 11:09:16 2007 Minero Aoki <aamine@loveruby.net>
|
||||
|
||||
* bootstraptest/runner.rb: show source code in error message.
|
||||
|
||||
Sun Feb 25 09:39:50 2007 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* yarvcore.h:
|
||||
|
|
|
@ -9,7 +9,7 @@ $LOAD_PATH.unshift "#{File.dirname($0)}/lib"
|
|||
require 'fileutils'
|
||||
|
||||
def main
|
||||
@ruby = nil
|
||||
@ruby = File.expand_path('miniruby')
|
||||
@verbose = false
|
||||
dir = 'bootstraptest.tmpwd'
|
||||
tests = nil
|
||||
|
@ -69,22 +69,37 @@ def exec_test(pathes)
|
|||
end
|
||||
end
|
||||
|
||||
def assert_equal(expected, really)
|
||||
def assert_equal(expected, testsrc)
|
||||
newtest
|
||||
$stderr.puts "\##{@count} #{@location}" if @verbose
|
||||
restr = get_result_string(really)
|
||||
result = get_result_string(testsrc)
|
||||
check_coredump
|
||||
if expected == restr
|
||||
if expected == result
|
||||
$stderr.print '.'
|
||||
else
|
||||
$stderr.print 'F'
|
||||
error "expected #{expected.inspect} but is: #{restr.inspect}"
|
||||
error pretty(testsrc, expected, result)
|
||||
end
|
||||
rescue Exception => err
|
||||
$stderr.print 'E'
|
||||
error err.message
|
||||
end
|
||||
|
||||
def pretty(src, ex, result)
|
||||
(/\n/ =~ src ? "\n#{adjust_indent(src)}" : src) +
|
||||
" #=> #{result.inspect} (expected #{ex.inspect})"
|
||||
end
|
||||
|
||||
INDENT = 27
|
||||
|
||||
def adjust_indent(src)
|
||||
untabify(src).gsub(/^ {#{INDENT}}/o, '').gsub(/^/, ' ')
|
||||
end
|
||||
|
||||
def untabify(str)
|
||||
str.gsub(/^\t+/) {|tabs| ' ' * (8 * tabs.size) }
|
||||
end
|
||||
|
||||
def get_result_string(src)
|
||||
if @ruby
|
||||
File.open('bootstraptest.tmp.rb', 'w') {|f|
|
||||
|
|
Загрузка…
Ссылка в новой задаче