Sha256: cf94fd63044e884e0a667aa7c5be34a51180effec6a248bcd0f8021742cc4396

Contents?: true

Size: 841 Bytes

Versions: 7

Compression:

Stored size: 841 Bytes

Contents

# frozen_string_literal: true

# Released under the MIT License.
# Copyright, 2022-2023, by Samuel Williams.

def initialize(context)
	super
	
	require_relative '../../lib/covered/config'
end

# Validate the coverage of multiple test runs.
# @parameter paths [Array(String)] The coverage database paths.
# @parameter minimum [Float] The minimum required coverage in order to pass.
# @parameter input [Covered::Policy] The input policy to validate.
def validate(paths: nil, minimum: 1.0, input:)
	policy ||= context.lookup("covered:policy:current").call(paths: paths)
	
	# Calculate statistics:
	statistics = Covered::Statistics.new
	
	policy.each do |coverage|
		statistics << coverage
	end
	
	# Print statistics:
	statistics.print($stderr)
	
	# Validate statistics and raise an error if they are not met:
	statistics.validate!(minimum)
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
covered-0.25.1 bake/covered/validate.rb
covered-0.25.0 bake/covered/validate.rb
covered-0.24.3 bake/covered/validate.rb
covered-0.24.2 bake/covered/validate.rb
covered-0.24.1 bake/covered/validate.rb
covered-0.24.0 bake/covered/validate.rb
covered-0.23.0 bake/covered/validate.rb