Module: Minitest::Queue
- Defined in:
- lib/minitest/queue.rb,
lib/minitest/queue/runner.rb,
lib/minitest/queue/statsd.rb,
lib/minitest/queue/error_report.rb,
lib/minitest/queue/junit_reporter.rb,
lib/minitest/queue/failure_formatter.rb,
lib/minitest/queue/build_status_recorder.rb,
lib/minitest/queue/build_status_reporter.rb,
lib/minitest/queue/local_requeue_reporter.rb
Defined Under Namespace
Classes: BuildStatusRecorder, BuildStatusReporter, ErrorReport, FailureFormatter, JUnitReporter, LocalRequeueReporter, OrderReporter, Runner, SingleExample, Statsd
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
#queue ⇒ Object
Returns the value of attribute queue.
122
123
124
|
# File 'lib/minitest/queue.rb', line 122
def queue
@queue
end
|
Instance Method Details
#__run(*args) ⇒ Object
143
144
145
146
147
148
149
150
151
152
153
|
# File 'lib/minitest/queue.rb', line 143
def __run(*args)
if queue
run_from_queue(*args)
if queue.config.circuit_breaker.open?
STDERR.puts "This worker is exiting early because it encountered too many consecutive test failures, probably because of some corrupted state."
end
else
super
end
end
|
#loaded_tests ⇒ Object
135
136
137
138
139
140
141
|
# File 'lib/minitest/queue.rb', line 135
def loaded_tests
Minitest::Test.runnables.flat_map do |runnable|
runnable.runnable_methods.map do |method_name|
SingleExample.new(runnable, method_name)
end
end
end
|
#queue_reporters=(reporters) ⇒ Object
128
129
130
131
132
133
|
# File 'lib/minitest/queue.rb', line 128
def queue_reporters=(reporters)
@queue_reporters ||= []
Reporters.use!(((Reporters.reporters || []) - @queue_reporters) + reporters)
Minitest.backtrace_filter.add_filter(%r{exe/minitest-queue|lib/ci/queue/})
@queue_reporters = reporters
end
|
#run_from_queue(reporter) ⇒ Object
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
# File 'lib/minitest/queue.rb', line 155
def run_from_queue(reporter, *)
queue.poll do |example|
result = example.run
failed = !(result.passed? || result.skipped?)
if example.flaky?
result.mark_as_flaked!
failed = false
end
if failed
queue.report_failure!
else
queue.report_success!
end
if failed && queue.requeue(example)
result.requeue!
reporter.record(result)
elsif queue.acknowledge(example) || !failed
reporter.record(result)
end
end
end
|