class ParallelTests::Test::Runner

def execute_command_and_capture_output(env, cmd, options)

def execute_command_and_capture_output(env, cmd, options)
  pid = nil
  output = IO.popen(env, cmd) do |io|
    pid = io.pid
    ParallelTests.pids.add(pid)
    capture_output(io, env, options)
  end
  ParallelTests.pids.delete(pid) if pid
  exitstatus = $?.exitstatus
  seed = output[/seed (\d+)/,1]
  output = [cmd, output].join("\n") if options[:verbose] && options[:serialize_stdout]
  {:stdout => output, :exit_status => exitstatus, :command => cmd, :seed => seed}
end