Class: ActiveSupport::Testing::Parallelization::SharedQueueDistributor

Inherits:
TestDistributor show all
Defined in:
activesupport/lib/active_support/testing/parallelization/test_distributor.rb

Overview

Shared queue distributor - workers compete for tests (work stealing). Internal/testing helper; not exposed as a public distribution mode.

Instance Method Summary collapse

Constructor Details

#initializeSharedQueueDistributor

Returns a new instance of SharedQueueDistributor.



42
43
44
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 42

def initialize
  @queue = Queue.new
end

Instance Method Details

#add_test(test) ⇒ Object



46
47
48
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 46

def add_test(test)
  @queue << test
end

#closeObject



62
63
64
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 62

def close
  @queue.close
end

#interruptObject



54
55
56
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 54

def interrupt
  @queue.clear
end

#pending?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 58

def pending?
  !@queue.empty?
end

#takeObject



50
51
52
# File 'activesupport/lib/active_support/testing/parallelization/test_distributor.rb', line 50

def take(...)
  @queue.pop
end