class Minitest::Reporters::JUnitReporter

def filename_for(suite)

def filename_for(suite)
  file_counter = 0
  # restrict max filename length, to be kind to filesystems

  suite_name = suite.to_s[0..240].gsub(/[^a-zA-Z0-9]+/, '-')
  filename = "TEST-#{suite_name}.xml"
  while File.exist?(File.join(@reports_path, filename)) # restrict number of tries, to avoid infinite loops

    file_counter += 1
    filename = "TEST-#{suite_name}-#{file_counter}.xml"
    puts "Too many duplicate files, overwriting earlier report #{filename}" and break if file_counter >= 99
  end
  File.join(@reports_path, filename)
end