test/unit doesn't rescue a Exception in a test method, as follows.

% cat a.rb
require 'test/unit'

class T < Test::Unit::TestCase
  def test_a
    raise Exception
  end
end
% ruby a.rb
Loaded suite a
Started
a.rb:5:in `test_a': Exception (Exception)
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testcase.rb:70:in `__send__'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testcase.rb:70:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testsuite.rb:34:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testsuite.rb:33:in `each'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testsuite.rb:33:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testsuite.rb:34:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testsuite.rb:33:in `each'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/testsuite.rb:33:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/ui/testrunnermediator.rb:46:in `run_suite'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/ui/console/testrunner.rb:67:in `start_mediator'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/ui/console/testrunner.rb:41:in `start'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/ui/testrunnerutilities.rb:29:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/autorunner.rb:194:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit/autorunner.rb:14:in `run'
        from /home/akr/ruby/lib/ruby/1.9/test/unit.rb:276
        from /home/akr/ruby/lib/ruby/1.9/test/unit.rb:274

Is it intended?

I found it with standard make test-all.  It makes difficult to
investigate the problem.

.../home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/timeout.rb:43:in `rbuf_fill': execution expired (Timeout::Error)
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/protocol.rb:132:in `timeout'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/timeout.rb:56:in `timeout'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/protocol.rb:132:in `rbuf_fill'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/protocol.rb:116:in `readuntil'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/protocol.rb:126:in `readline'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/http.rb:1850:in `read_status_line'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/http.rb:1839:in `read_new'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/net/http.rb:934:in `request'
         ... 30 levels...
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/test/unit/ui/testrunnerutilities.rb:29:in `run'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/test/unit/autorunner.rb:194:in `run'
        from /home/akr/autobuild/tmp/autobuild/ruby-trunk/20050127-171641/lib/ruby/1.9/test/unit/autorunner.rb:14:in `run'
        from test/runner.rb:9
-- 
Tanaka Akira