Fix SimpleCov coverage results for multiple invocations from same build test

This commit is contained in:
Josh Holtrop 2026-01-27 23:49:39 -05:00
parent baf4e036fb
commit e6317ae236

View File

@ -26,6 +26,7 @@ class Test
@block = block @block = block
@coverage_dir = "#{OWD}/coverage/#{@name}" @coverage_dir = "#{OWD}/coverage/#{@name}"
@output = "" @output = ""
@invocation = 0
end end
def run(outfh) def run(outfh)
@ -84,6 +85,7 @@ class Test
end end
def run_rscons(options = {}) def run_rscons(options = {})
@invocation += 1
args = Array(options[:args]) || [] args = Array(options[:args]) || []
if ENV["dist_specs"] if ENV["dist_specs"]
exe = "#{OWD}/test_run/rscons.rb" exe = "#{OWD}/test_run/rscons.rb"
@ -104,7 +106,7 @@ end
SimpleCov.start do SimpleCov.start do
root(#{OWD.inspect}) root(#{OWD.inspect})
coverage_dir(#{@coverage_dir.inspect}) coverage_dir(#{@coverage_dir.inspect})
command_name "#{@name}" command_name "#{@name}_#{@invocation}"
filters.clear filters.clear
add_filter do |src| add_filter do |src|
!(src.filename[SimpleCov.root]) !(src.filename[SimpleCov.root])