2010/4/29 Nobuyoshi Nakada <nobu / ruby-lang.org>:
>
> Test::Unit::Assertions#assert now passes non-boolean values
> (neither true nor false).
>
> It is not only an incompatibility against former TestUnit, also
> makes wrong tests (e.g., [ruby-core:29861]) passing.

Now, several problems found.  Good.

But it is hard to find the location of the problematic assertions.
The backtrace is not useful.
It contains only locations in minitest/unit.rb.

% ./ruby test/test_tempfile.rb
Loaded suite test/test_tempfile
Started
........E.......EE.......
Finished in 0.419675 seconds.

  1) Error:
test_close_flushes_buffer(TestTempfile):
ArgumentError: assertion message must be String or Proc, but Fixnum was given.
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:680:in `run'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:641:in `block (2
levels) in run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:635:in `each'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:635:in `block in
run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:634:in `each'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:634:in `run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:594:in `run'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:492:in `block in autorun'

  2) Error:
test_size_flushes_buffer_before_determining_file_size(TestTempfile):
ArgumentError: assertion message must be String or Proc, but Fixnum was given.
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:680:in `run'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:641:in `block (2
levels) in run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:635:in `each'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:635:in `block in
run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:634:in `each'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:634:in `run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:594:in `run'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:492:in `block in autorun'

  3) Error:
test_size_works_if_file_is_closed(TestTempfile):
ArgumentError: assertion message must be String or Proc, but Fixnum was given.
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:680:in `run'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:641:in `block (2
levels) in run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:635:in `each'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:635:in `block in
run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:634:in `each'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:634:in `run_test_suites'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:594:in `run'
    /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:492:in `block in autorun'

25 tests, 34 assertions, 0 failures, 3 errors, 0 skips

Test run options: --seed 20263
-- 
Tanaka Akira