Not sure if this is a version difference in Ruby but the rescue clause at line 42 of test_unit.rb does not seem to be catching all exceptions properly under 1.8.7. Currently it reads:
rescue => e
which does not appear to catch MissingSourceFile exceptions. Changing the line to
rescue Exception => e
resolves the problem. Not sure if this patch would introduce other issues.