From: Nobuyoshi Nakada Date: 2008-10-24T15:34:06+09:00 Subject: [ruby-core:19468] [Bug:1.9] failures of test/minitest Hi, $ ./ruby test/runner.rb test/minitest Loaded suite test/runner Started .................................FF.F..F.......................................................................... Finished in 0.034219 seconds. 1) Failure: test_run_skip(TestMiniTest) [/home/nobu/src/ruby/trunk-debug/src/test/minitest/test_mini_test.rb:252]: Expected "Loaded suite blah\nStarted\nS.\nFinished in 0.00\n\n 1) Skipped:\ntest_skip(ATestCase) [FILE:LINE]:\nnot yet\n\n2 tests, 1 assertions, 0 failures, 0 errors, 1 skips\n", not "Loaded suite blah\nStarted\nS.\nFinished in 0.00\n\n 1) Skipped:\ntest_skip(ATestCase) [/home/nobu/src/ruby/trunk-FILE:LINE]:\nnot yet\n\n2 tests, 1 assertions, 0 failures, 0 errors, 1 skips\n". 2) Failure: test_run_error_teardown(TestMiniTest) [/home/nobu/src/ruby/trunk-debug/src/test/minitest/test_mini_test.rb:252]: Expected "Loaded suite blah\nStarted\nE\nFinished in 0.00\n\n 1) Error:\ntest_something(ATestCase):\nRuntimeError: unhandled exception\n FILE:LINE:in `teardown'\n\n1 tests, 1 assertions, 0 failures, 1 errors, 0 skips\n", not "Loaded suite blah\nStarted\nE\nFinished in 0.00\n\n 1) Error:\ntest_something(ATestCase):\nRuntimeError: unhandled exception\n /home/nobu/src/ruby/trunk-FILE:LINE:in `teardown'\n\n1 tests, 1 assertions, 0 failures, 1 errors, 0 skips\n". 3) Failure: test_run_failing(TestMiniTest) [/home/nobu/src/ruby/trunk-debug/src/test/minitest/test_mini_test.rb:252]: Expected "Loaded suite blah\nStarted\nF.\nFinished in 0.00\n\n 1) Failure:\ntest_failure(ATestCase) [FILE:LINE]:\nFailed assertion, no message given.\n\n2 tests, 2 assertions, 1 failures, 0 errors, 0 skips\n", not "Loaded suite blah\nStarted\nF.\nFinished in 0.00\n\n 1) Failure:\ntest_failure(ATestCase) [/home/nobu/src/ruby/trunk-FILE:LINE]:\nFailed assertion, no message given.\n\n2 tests, 2 assertions, 1 failures, 0 errors, 0 skips\n". 4) Failure: test_run_error(TestMiniTest) [/home/nobu/src/ruby/trunk-debug/src/test/minitest/test_mini_test.rb:252]: Expected "Loaded suite blah\nStarted\nE.\nFinished in 0.00\n\n 1) Error:\ntest_error(ATestCase):\nRuntimeError: unhandled exception\n FILE:LINE:in `test_error'\n\n2 tests, 1 assertions, 0 failures, 1 errors, 0 skips\n", not "Loaded suite blah\nStarted\nE.\nFinished in 0.00\n\n 1) Error:\ntest_error(ATestCase):\nRuntimeError: unhandled exception\n /home/nobu/src/ruby/trunk-FILE:LINE:in `test_error'\n\n2 tests, 1 assertions, 0 failures, 1 errors, 0 skips\n". 114 tests, 350 assertions, 4 failures, 0 errors, 0 skips Index: lib/minitest/unit.rb =================================================================== --- lib/minitest/unit.rb (revision 19903) +++ lib/minitest/unit.rb (working copy) @@ -304,7 +304,7 @@ module MiniTest end - def skip msg = nil + def skip msg = nil, bt = caller msg ||= "Skipped, no message given" - raise MiniTest::Skip, msg + raise MiniTest::Skip, msg, bt end end Index: test/minitest/test_mini_test.rb =================================================================== --- test/minitest/test_mini_test.rb (revision 19903) +++ test/minitest/test_mini_test.rb (working copy) @@ -249,5 +249,6 @@ Finished in 0.00 output = @output.string.sub(/Finished in .*/, "Finished in 0.00") output.sub!(/Loaded suite .*/, 'Loaded suite blah') - output.sub!(/[\w\/\.]+:\d+/, 'FILE:LINE') + output.sub!(/^(\s+)(?:#{Regexp.union(__FILE__, File.expand_path(__FILE__))}):\d+:/o, '\1FILE:LINE:') + output.sub!(/\[(?:#{Regexp.union(__FILE__, File.expand_path(__FILE__))}):\d+\]/o, '[FILE:LINE]') assert_equal(expected, output) end -- Nobu Nakada