diff --git a/ChangeLog b/ChangeLog index 12e1ef5fbe..a089758705 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Mon Jan 12 17:23:05 2009 Nobuyoshi Nakada + + * lib/test/unit/assertions.rb (assert_nothing_raised): removes the + current trace to get rid of an issue of MiniTest::Unit#location. + +Mon Jan 12 16:49:20 2009 Nobuyoshi Nakada + + * instruby.rb (install): erased a garbage. + Mon Jan 12 16:45:28 2009 Nobuyoshi Nakada * win32/win32.c (open_dir_handle): extracted from rb_w32_opendir. diff --git a/lib/test/unit/assertions.rb b/lib/test/unit/assertions.rb index c15432f058..ac3ecf93c7 100644 --- a/lib/test/unit/assertions.rb +++ b/lib/test/unit/assertions.rb @@ -22,12 +22,18 @@ module Test msg = args.pop end begin - yield + line = __LINE__; yield rescue Exception => e - if ((args.empty? && !e.instance_of?(MiniTest::Assertion)) || + bt = e.backtrace + as = e.instance_of?(MiniTest::Assertion) + if as + ans = /\A#{Regexp.quote(__FILE__)}:#{line}:in /o + bt.reject! {|line| ans =~ line} + end + if ((args.empty? && !as) || args.any? {|a| a.instance_of?(Module) ? e.is_a?(a) : e.class == a }) msg = message(msg) { "Exception raised:\n<#{mu_pp(e)}>" } - raise MiniTest::Assertion, msg.call, e.backtrace + raise MiniTest::Assertion, msg.call, bt else raise end