# File lib/minitest/unit.rb, line 598
    def run args = []
      options = process_args args

      @verbose = options[:verbose]

      filter = options[:filter] || '/./'
      filter = Regexp.new $1 if filter and filter =~ /\/(.*)\//

      seed = options[:seed]
      unless seed then
        srand
        seed = srand % 0xFFFF
      end

      srand seed

      help = ["--seed", seed]
      help.push "--verbose" if @verbose
      help.push("--name", options[:filter].inspect) if options[:filter]

      @@out.puts "Test run options: #{help.join(" ")}"
      @@out.puts
      @@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."

      @report.each_with_index do |msg, i|
        @@out.puts "\n%3d) %s" % [i + 1, msg]
      end

      @@out.puts

      status

      @@out.puts

      @@out.puts "Test run options: #{help.join(" ")}"

      return failures + errors if @test_count > 0 # or return nil...
    rescue Interrupt
      abort 'Interrupted'
    end