class ParallelTests::CLI

def run_tests_in_parallel(num_processes, options)

def run_tests_in_parallel(num_processes, options)
  test_results = nil
  report_time_taken do
    groups = @runner.tests_in_groups(options[:files], num_processes, options)
    test_results = if options[:only_group]
      group_to_run = groups[options[:only_group] - 1]
      [run_tests(group_to_run, 0, num_processes, options)]
    else
      report_number_of_tests(groups)
      execute_in_parallel(groups, groups.size, options) do |group|
        run_tests(group, groups.index(group), num_processes, options)
      end
    end
    report_results(test_results)
  end
  abort final_fail_message if any_test_failed?(test_results)
end