method
start
v6.0.0 -
Show latest stable
- Class:
ActiveSupport::Testing::Parallelization
start()public
No documentation available.
# File activesupport/lib/active_support/testing/parallelization.rb, line 73
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