Module: Minitest::Queue
- Defined in:
- lib/minitest/queue.rb,
lib/minitest/queue/runner.rb,
lib/minitest/queue/statsd.rb,
lib/minitest/queue/test_data.rb,
lib/minitest/queue/error_report.rb,
lib/minitest/queue/grind_recorder.rb,
lib/minitest/queue/grind_reporter.rb,
lib/minitest/queue/junit_reporter.rb,
lib/minitest/queue/failure_formatter.rb,
lib/minitest/queue/test_data_reporter.rb,
lib/minitest/queue/test_time_recorder.rb,
lib/minitest/queue/test_time_reporter.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, GrindRecorder, GrindReporter, JUnitReporter, LocalRequeueReporter, OrderReporter, Runner, SingleExample, Statsd, TestData, TestDataReporter, TestTimeRecorder, TestTimeReporter
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
#queue ⇒ Object
Returns the value of attribute queue.
129
130
131
|
# File 'lib/minitest/queue.rb', line 129
def queue
@queue
end
|
Instance Method Details
#__run(*args) ⇒ Object
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
# File 'lib/minitest/queue.rb', line 150
def __run(*args)
if queue
run_from_queue(*args)
if queue.config.circuit_breakers.any?(&:open?)
STDERR.puts queue.config.circuit_breakers.map(&:message).join(' ').strip
end
if queue.max_test_failed?
STDERR.puts 'This worker is exiting early because too many failed tests were encountered.'
end
else
super
end
end
|
#loaded_tests ⇒ Object
142
143
144
145
146
147
148
|
# File 'lib/minitest/queue.rb', line 142
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
135
136
137
138
139
140
|
# File 'lib/minitest/queue.rb', line 135
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
# File 'lib/minitest/queue.rb', line 166
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
requeued = false
if failed && queue.requeue(example)
requeued = true
result.requeue!
reporter.record(result)
elsif queue.acknowledge(example) || !failed
reporter.record(result)
end
if !requeued && failed
queue.increment_test_failed
end
end
end
|