class Minitest::Queue::BuildStatusReporter

Attributes

build[R]

Public Class Methods

new(build:, **options) click to toggle source
Calls superclass method
# File lib/minitest/queue/build_status_reporter.rb, line 7
def initialize(build:, **options)
  @build = build
  super(options)
end

Public Instance Methods

assertions() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 44
def assertions
  fetch_summary['assertions'].to_i
end
completed?() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 12
def completed?
  build.queue_exhausted?
end
error_reports() click to toggle source
# 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() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 40
def errors
  fetch_summary['errors'].to_i
end
failures() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 36
def failures
  fetch_summary['failures'].to_i
end
progress() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 60
def progress
  build.progress
end
record(*) click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 32
def record(*)
  raise NotImplementedError
end
report() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 20
def report
  puts aggregates
  errors = error_reports
  puts errors

  errors.empty?
end
requeues() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 52
def requeues
  fetch_summary['requeues'].to_i
end
skips() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 48
def skips
  fetch_summary['skips'].to_i
end
success?() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 28
def success?
  build.error_reports.empty?
end
total_time() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 56
def total_time
  fetch_summary['total_time'].to_f
end

Private Instance Methods

aggregates() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 68
def aggregates
  success = failures.zero? && errors.zero?
  failures_count = "#{failures} failures, #{errors} errors,"

  step([
    'Ran %d tests, %d assertions,' % [progress, assertions],
    success ? green(failures_count) : red(failures_count),
    yellow("#{skips} skips, #{requeues} requeues"),
    'in %.2fs (aggregated)' % total_time,
  ].join(' '), collapsed: success)
end
fetch_summary() click to toggle source
# File lib/minitest/queue/build_status_reporter.rb, line 80
def fetch_summary
  @summary ||= build.fetch_stats(BuildStatusRecorder::COUNTERS)
end