def run(args = [])
@verbose = true
options = args.getopts("n:t", "name:", "trace")
filter = if name = options["n"] || options["name"]
if name =~ /\/(.*)\//
Regexp.new($1)
elsif MiniTest::Unit.use_natural_language_case_names?
name[0..4] == "test_" ? name.gsub(" ", "_") : "test_" + name.gsub(" ", "_")
else
name
end
else
/./
end
@trace = options['t'] || options['trace']
@@out.puts "Loaded suite #{$0.sub(/\.rb$/, '')}\nStarted"
start = Time.now
run_test_suites filter
@@out.puts
@@out.puts "Finished in #{'%.6f' % (Time.now - start)} seconds."
@@out.puts
@@out.print "%d tests, " % test_count
@@out.print "%d assertions, " % assertion_count
@@out.print Turn::Colorize.fail("%d failures, " % failures)
@@out.print Turn::Colorize.error("%d errors, " % errors)
@@out.puts Turn::Colorize.skip("%d skips" % skips)
return failures + errors if @test_count > 0
end