class Autotest

def find_files_to_test files = find_files

def find_files_to_test files = find_files
  updated = files.select { |filename, mtime| self.last_mtime < mtime }
  # nothing to update or initially run
  unless updated.empty? || self.last_mtime.to_i == 0 then
    p updated if options[:verbose]
    hook :updated, updated
  end
  updated.map { |f,m| test_files_for f }.flatten.uniq.each do |filename|
    self.failures[filename] # creates key with default value
    self.files_to_test[filename] # creates key with default value
  end
  if updated.empty? then
    nil
  else
    files.values.max
  end
end