Commit 3dac444c authored by Kamil Trzcinski's avatar Kamil Trzcinski Committed by Grzegorz Bizon

Fix SimpleCov report merging

parent 070a96f5
...@@ -74,7 +74,8 @@ update-coverage: ...@@ -74,7 +74,8 @@ update-coverage:
artifacts: artifacts:
expire_in: 31d expire_in: 31d
paths: paths:
- coverage/ - coverage/index.html
- coverage/assets/
# Execute all testing suites # Execute all testing suites
......
...@@ -46,11 +46,42 @@ def all_results ...@@ -46,11 +46,42 @@ def all_results
results results
end end
def merge_resultset(a1, a2)
return a1 || [] unless a2
return a2 || [] unless a1
new_array = a1.dup
a2.each_with_index do |element, i|
if element.nil? && new_array[i].nil?
new_array[i] = nil
elsif element.nil? && new_array[i] == 0 || element == 0 && new_array[i].nil?
new_array[i] = nil
else
local_value = element || 0
other_value = new_array[i] || 0
new_array[i] = local_value + other_value
end
end
new_array
end
def merge_hashes(h1, h2)
new_resultset = {}
(h1.keys + h2.keys).each do |filename|
new_resultset[filename] = []
end
new_resultset.each_key do |filename|
new_resultset[filename] = merge_resultset(h1[filename], h2[filename])
end
new_resultset
end
def merged_result def merged_result
merged = {} merged = {}
results = all_results results = all_results
results.each do |result| results.each do |result|
merged = result.original_result.merge_resultset(merged) merged = merge_hashes(result.original_result, merged)
end end
result = SimpleCov::Result.new(merged) result = SimpleCov::Result.new(merged)
# Specify the command name # Specify the command name
...@@ -58,6 +89,10 @@ def merged_result ...@@ -58,6 +89,10 @@ def merged_result
result result
end end
# Ignore CI environment
ENV['CI'] = nil
ENV['CI_BUILD_NAME'] = nil
require_relative '../spec/simplecov_env' require_relative '../spec/simplecov_env'
merged_result.format! merged_result.format!
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment