class ParallelTests::CLI

def execute_shell_command_in_parallel(command, num_processes, options)

def execute_shell_command_in_parallel(command, num_processes, options)
  runs = if options[:only_group]
    options[:only_group].map { |g| g - 1 }
  else
    (0...num_processes).to_a
  end
  results = if options[:non_parallel]
    ParallelTests.with_pid_file do
      runs.map do |i|
        ParallelTests::Test::Runner.execute_command(command, i, num_processes, options)
      end
    end
  else
    execute_in_parallel(runs, runs.size, options) do |i|
      ParallelTests::Test::Runner.execute_command(command, i, num_processes, options)
    end
  end.flatten
  abort if results.any? { |r| r[:exit_status] != 0 }
end