Class: Megatest::Queue
Defined Under Namespace
Classes: Summary
Instance Attribute Summary collapse
-
#summary ⇒ Object
(also: #global_summary)
readonly
Returns the value of attribute summary.
#size, #test_cases_index
Instance Method Summary
collapse
#cleanup, #populated?, #record_lost_test, #retrying?
Constructor Details
#initialize(config) ⇒ Queue
Returns a new instance of Queue.
166
167
168
169
170
171
172
173
174
|
# File 'lib/megatest/queue.rb', line 166
def initialize(config)
super(config)
@queue = nil
@summary = Summary.new
@success = true
@retries = Hash.new(0)
@leases = {}
end
|
Instance Attribute Details
#summary ⇒ Object
Also known as:
global_summary
Returns the value of attribute summary.
163
164
165
|
# File 'lib/megatest/queue.rb', line 163
def summary
@summary
end
|
Instance Method Details
#distributed? ⇒ Boolean
176
177
178
|
# File 'lib/megatest/queue.rb', line 176
def distributed?
false
end
|
#empty? ⇒ Boolean
188
189
190
|
# File 'lib/megatest/queue.rb', line 188
def empty?
@queue.empty? && @leases.empty?
end
|
#monitor ⇒ Object
184
185
186
|
# File 'lib/megatest/queue.rb', line 184
def monitor
nil
end
|
#pop_test ⇒ Object
205
206
207
208
209
210
|
# File 'lib/megatest/queue.rb', line 205
def pop_test
if test = @queue.pop
@leases[test.id] = true
end
test
end
|
#populate(test_cases) ⇒ Object
192
193
194
195
|
# File 'lib/megatest/queue.rb', line 192
def populate(test_cases)
super
@queue = test_cases.reverse
end
|
#record_result(result) ⇒ Object
212
213
214
215
216
217
218
219
220
221
222
223
|
# File 'lib/megatest/queue.rb', line 212
def record_result(result)
@leases.delete(result.test_id)
if result.failed?
if attempt_to_retry(result)
result = result.retry
else
@success &&= result.ok?
end
end
@summary.record_result(result)
result
end
|
#remaining_size ⇒ Object
197
198
199
|
# File 'lib/megatest/queue.rb', line 197
def remaining_size
@queue.size + @leases.size
end
|
#sharded? ⇒ Boolean
180
181
182
|
# File 'lib/megatest/queue.rb', line 180
def sharded?
@config.workers_count > 1
end
|
#success? ⇒ Boolean
201
202
203
|
# File 'lib/megatest/queue.rb', line 201
def success?
@success && @queue.empty?
end
|