class ParallelTests::Gherkin::Runner

def run_tests(test_files, process_number, num_processes, options)

def run_tests(test_files, process_number, num_processes, options)
  combined_scenarios = test_files
  if options[:group_by] == :scenarios
    grouped = test_files.map { |t| t.split(':') }.group_by(&:first)
    combined_scenarios = grouped.map do |file, files_and_lines|
      "#{file}:#{files_and_lines.map(&:last).join(':')}"
    end
  end
  options[:env] ||= {}
  options[:env] = options[:env].merge({ 'AUTOTEST' => '1' }) if $stdout.tty?
  cmd = executable
  cmd += runtime_logging if File.directory?(File.dirname(runtime_log))
  cmd += combined_scenarios
  cmd += cucumber_opts(options[:test_options])
  execute_command(cmd, process_number, num_processes, options)
end