class ParallelTests::Test::Runner

def execute_command_and_capture_output(env, cmd, silence)

def execute_command_and_capture_output(env, cmd, silence)
  # make processes descriptive / visible in ps -ef
  separator = (WINDOWS ? ' & ' : ';')
  exports = env.map do |k,v|
    if WINDOWS
      "(SET \"#{k}=#{v}\")"
    else
      "#{k}=#{v};export #{k}"
    end
  end.join(separator)
  cmd = "#{exports}#{separator}#{cmd}"
  output = open("|#{cmd}", "r") { |output| capture_output(output, silence) }
  exitstatus = $?.exitstatus
  {:stdout => output, :exit_status => exitstatus}
end