From: Hideto ISHIBASHI Date: 2000-04-03T23:56:42+09:00 Subject: [ruby-list:21745] RubyUnit 'runit/cui/testrunner.rb' patch 石橋秀仁です。 RubyUnitを使っています。とても便利です。 ただ、標準の'runit/cui/testrunner.rb'は、例外(error, failure) のコールスタックを全部出力してくれません。このため、 デバッグのときに少し困っていました。 そこで、コールスタックを全て出力しようと、なんとなくtestrunner.rbを 書きかえたら、RubyUnit自身の内部的な呼び出し情報が大量に出力されて しまいました。つまり、もっと見づらくなりました (^^; というわけで、 * RubyUnitの内部的なコールは出力しない * Rubyインタープリタの例外終了時と同じフォーマットで出力 するパッチを書きましたので、添付します。 # 最新版は0.0.4でしたっけ?これは0.0.3用です。 diff -cr ../contrib/rubyunit-0.0.3/runit/cui/testrunner.rb runit/cui/testrunner.rb *** ../contrib/rubyunit-0.0.3/runit/cui/testrunner.rb Sat Jan 22 00:00:00 2000 --- runit/cui/testrunner.rb Mon Apr 3 21:26:10 2000 *************** *** 91,104 **** def print_failures(result) @io.puts "Failures: #{result.failure_size}" if result.failure_size > 0 result.failures.each do |f| ! @io.puts f end end def print_errors(result) @io.puts "Errors: #{result.error_size}" if result.error_size > 0 result.errors.each do |e| ! @io.puts e end end end --- 91,120 ---- def print_failures(result) @io.puts "Failures: #{result.failure_size}" if result.failure_size > 0 result.failures.each do |f| ! @io.print f.at[0], ": ", f.err, " (", f.err.type, ")\n" ! for at in f.at[1..-1] ! file = at.split(":")[0] ! for loadpath in $: ! match = true if file =~ "^#{loadpath}/runit/" ! end ! next if match ! @io.print "\tfrom ", at, "\n" ! end end end def print_errors(result) @io.puts "Errors: #{result.error_size}" if result.error_size > 0 result.errors.each do |e| ! @io.print e.at[0], ": ", e.err, " (", e.err.type, ")\n" ! for at in e.at[1..-1] ! file = at.split(":")[0] ! for loadpath in $: ! match = true if file =~ "^#{loadpath}/runit/" ! end ! next if match ! @io.print "\tfrom ", at, "\n" ! end end end end -- Hideto "rubyholic" ISHIBASHI