# File lib/reap/task/test.rb, line 122
  def fork_test( testfile )
    src = ''
    src << %{$:.unshift('lib')} unless against_installed
    src << %{
      #require 'test/unit'
      require 'test/unit/collector'
      require 'test/unit/collector/objectspace'
      require 'test/unit/ui/testrunnermediator'
    }
    fixture.each do |fix|
      src << %Q{
        require '#{fix}'
      }
    end
    src << %{
      output = STDOUT.dup
      STDOUT.reopen( PLATFORM =~ /mswin/ ? "NUL" : "/dev/null" )

      load('#{testfile}')
      tests = Test::Unit::Collector::ObjectSpace.new.collect
      runner = Test::Unit::UI::TestRunnerMediator.new( tests )
      result = runner.run_suite
      output << Marshal.dump(result)

      STDOUT.reopen(output)
      output.close
    }
    result = IO.popen("ruby","w+") do |ruby|
      ruby.puts src
      ruby.close_write
      ruby.read
    end
    p testfile if $VERBOSE
    return Marshal.load(result)
  end