class ParallelTests::Test::Runner

def capture_output(out, silence)

read output of the process and print it in chunks
def capture_output(out, silence)
  result = ""
  loop do
    begin
      read = out.readpartial(1000000) # read whatever chunk we can get
      if Encoding.default_internal
        read = read.force_encoding(Encoding.default_internal)
      end
      result << read
      unless silence
        $stdout.print read
        $stdout.flush
      end
    end
  end rescue EOFError
  result
end