Class: Minitest::Queue::BuildStatusReporter
- Inherits:
-
Reporters::BaseReporter
- Object
- Reporters::BaseReporter
- Minitest::Queue::BuildStatusReporter
- Includes:
- CI::Queue::OutputHelpers
- Defined in:
- lib/minitest/queue/build_status_reporter.rb
Instance Method Summary collapse
- #assertions ⇒ Object
- #completed? ⇒ Boolean
- #error_reports ⇒ Object
- #errors ⇒ Object
- #failures ⇒ Object
- #flaky_reports ⇒ Object
-
#initialize(build:, **options) ⇒ BuildStatusReporter
constructor
A new instance of BuildStatusReporter.
- #progress ⇒ Object
- #record ⇒ Object
- #report ⇒ Object
- #requeued_tests ⇒ Object
- #requeues ⇒ Object
- #skips ⇒ Object
- #success? ⇒ Boolean
- #total_time ⇒ Object
- #write_failure_file(file) ⇒ Object
- #write_flaky_tests_file(file) ⇒ Object
Constructor Details
#initialize(build:, **options) ⇒ BuildStatusReporter
Returns a new instance of BuildStatusReporter.
7 8 9 10 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 7 def initialize(build:, **) @build = build super() end |
Instance Method Details
#assertions ⇒ Object
58 59 60 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 58 def assertions fetch_summary['assertions'].to_i end |
#completed? ⇒ Boolean
12 13 14 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 12 def completed? build.queue_exhausted? end |
#error_reports ⇒ Object
16 17 18 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 16 def error_reports build.error_reports.sort_by(&:first).map { |k, v| ErrorReport.load(v) } end |
#errors ⇒ Object
54 55 56 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 54 def errors fetch_summary['errors'].to_i end |
#failures ⇒ Object
50 51 52 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 50 def failures fetch_summary['failures'].to_i end |
#flaky_reports ⇒ Object
20 21 22 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 20 def flaky_reports build.flaky_reports end |
#progress ⇒ Object
74 75 76 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 74 def progress build.progress end |
#record ⇒ Object
46 47 48 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 46 def record(*) raise NotImplementedError end |
#report ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 28 def report puts aggregates errors = error_reports puts errors requeued_tests.to_a.sort.each do |test_id, count| puts yellow("REQUEUE") puts "#{test_id} (requeued #{count} times)" puts "" end errors.empty? end |
#requeued_tests ⇒ Object
24 25 26 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 24 def requeued_tests build.requeued_tests end |
#requeues ⇒ Object
66 67 68 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 66 def requeues fetch_summary['requeues'].to_i end |
#skips ⇒ Object
62 63 64 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 62 def skips fetch_summary['skips'].to_i end |
#success? ⇒ Boolean
42 43 44 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 42 def success? build.error_reports.empty? end |
#total_time ⇒ Object
70 71 72 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 70 def total_time fetch_summary['total_time'].to_f end |
#write_failure_file(file) ⇒ Object
78 79 80 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 78 def write_failure_file(file) File.write(file, error_reports.map(&:to_h).to_json) end |
#write_flaky_tests_file(file) ⇒ Object
82 83 84 |
# File 'lib/minitest/queue/build_status_reporter.rb', line 82 def write_flaky_tests_file(file) File.write(file, flaky_reports.to_json) end |