new (Autotest)

    # File lib/autotest.rb, line 148
      def initialize
        # these two are set directly because they're wrapped with
        # add/remove/clear accessor methods
        @exception_list = []
        @test_mappings = []

        self.completed_re = /\d+ tests, \d+ assertions, \d+ failures, \d+ errors/
        self.extra_class_map   = {}
        self.extra_files       = []
        self.failed_results_re = /^\s+\d+\) (?:Failure|Error):\n(.*?)\((.*?)\)/
        self.files_to_test     = new_hash_of_arrays
        self.find_order        = []
        self.known_files       = nil
        self.libs              = %w[. lib test].join(File::PATH_SEPARATOR)
        self.order             = :random
        self.output            = $stderr
        self.sleep             = 1
        self.testlib          = "test/unit"
        self.find_directories  = ['.']
        self.unit_diff         = "unit_diff -u"

        self.add_mapping(/^lib\/.*\.rb$/) do |filename, _|
          possible = File.basename(filename).gsub '_', '_?'
          files_matching %r%^test/.*#{possible}$%
        end

        self.add_mapping(/^test.*\/test_.*rb$/) do |filename, _|
          filename
        end

        [File.expand_path('~/.autotest'), './.autotest'].each do |f|
          load f if File.exist? f
        end
      end