Sha256: 585ec43c9dfb281cc3ca9ad8c2de4540609879c1e040bb285dbc81083f864c1e
Contents?: true
Size: 1.76 KB
Versions: 3
Compression:
Stored size: 1.76 KB
Contents
# typed: strict # frozen_string_literal: true module Minitest module Distributed class ResultAggregate < T::Struct extend T::Sig prop :runs, Integer, default: 0 prop :assertions, Integer, default: 0 prop :passes, Integer, default: 0 prop :failures, Integer, default: 0 prop :errors, Integer, default: 0 prop :skips, Integer, default: 0 prop :reruns, Integer, default: 0 prop :acks, Integer, default: 0 prop :size, Integer, default: 0 sig { params(result: Minitest::Result).void } def update_with_result(result) case (result_type = ResultType.of(result)) when ResultType::Passed then self.passes += 1 when ResultType::Failed then self.failures += 1 when ResultType::Error then self.errors += 1 when ResultType::Skipped then self.skips += 1 else T.absurd(result_type) end self.runs += 1 self.assertions += result.assertions end sig { returns(String) } def to_s str = +"#{runs} runs, #{assertions} assertions, #{passes} passes, #{failures} failures, #{errors} errors" str << ", #{skips} skips" if skips > 0 str << ", #{reruns} re-runs" if reruns > 0 str end sig { returns(Integer) } def unique_runs runs - reruns end sig { returns(Integer) } def reported_results passes + failures + errors + skips end sig { returns(T::Boolean) } def completed? acks == size end sig { returns(T::Boolean) } def valid? unique_runs == reported_results end sig { returns(T::Boolean) } def passed? completed? && valid? && self.failures == 0 && self.errors == 0 end end end end
Version data entries
3 entries across 3 versions & 1 rubygems