Class: Minitest::Queue::BuildStatusReporter

Inherits:
Reporters::BaseReporter
  • Object
show all
Includes:
CI::Queue::OutputHelpers
Defined in:
lib/minitest/queue/build_status_reporter.rb

Instance Method Summary collapse

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:, **options)
  @build = build
  super(options)
end

Instance Method Details

#assertionsObject



58
59
60
# File 'lib/minitest/queue/build_status_reporter.rb', line 58

def assertions
  fetch_summary['assertions'].to_i
end

#completed?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/minitest/queue/build_status_reporter.rb', line 12

def completed?
  build.queue_exhausted?
end

#error_reportsObject



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

#errorsObject



54
55
56
# File 'lib/minitest/queue/build_status_reporter.rb', line 54

def errors
  fetch_summary['errors'].to_i
end

#failuresObject



50
51
52
# File 'lib/minitest/queue/build_status_reporter.rb', line 50

def failures
  fetch_summary['failures'].to_i
end

#flaky_reportsObject



20
21
22
# File 'lib/minitest/queue/build_status_reporter.rb', line 20

def flaky_reports
  build.flaky_reports
end

#progressObject



74
75
76
# File 'lib/minitest/queue/build_status_reporter.rb', line 74

def progress
  build.progress
end

#recordObject

Raises:

  • (NotImplementedError)


46
47
48
# File 'lib/minitest/queue/build_status_reporter.rb', line 46

def record(*)
  raise NotImplementedError
end

#reportObject



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_testsObject



24
25
26
# File 'lib/minitest/queue/build_status_reporter.rb', line 24

def requeued_tests
  build.requeued_tests
end

#requeuesObject



66
67
68
# File 'lib/minitest/queue/build_status_reporter.rb', line 66

def requeues
  fetch_summary['requeues'].to_i
end

#skipsObject



62
63
64
# File 'lib/minitest/queue/build_status_reporter.rb', line 62

def skips
  fetch_summary['skips'].to_i
end

#success?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/minitest/queue/build_status_reporter.rb', line 42

def success?
  build.error_reports.empty?
end

#total_timeObject



70
71
72
# File 'lib/minitest/queue/build_status_reporter.rb', line 70

def total_time
  fetch_summary['total_time'].to_f
end