class ActiveSupport::Testing::Parallelization
def start
def start @pool = @queue_size.times.map do |worker| fork do DRb.stop_service begin after_fork(worker) rescue => setup_exception; end queue = DRbObject.new_with_uri(@url) while job = queue.pop klass = job[0] method = job[1] reporter = job[2] result = klass.with_info_handler reporter do Minitest.run_one_method(klass, method) end add_setup_exception(result, setup_exception) if setup_exception begin queue.record(reporter, result) rescue DRb::DRbConnError result.failures.each do |failure| failure.exception = DRb::DRbRemoteError.new(failure.exception) end queue.record(reporter, result) end end ensure run_cleanup(worker) end end end