frozenstringliteral: true
December 19, 2018 ยท View on GitHub
#!/usr/bin/env ruby
frozen_string_literal: true
require 'simplecov' require 'simplecov-lcov'
puts('Merging coverage results from parallel CircleCI tests containers into a single LCOV report...')
results = [] Dir['/home/circleci/rspec/*.resultset.json'].each do |path| resultset = JSON.parse(File.read(path)) resultset.each do |_, data| cmd = File.basename(path) results << SimpleCov::Result.from_hash(cmd => data) end print '.' end puts
merged_result = SimpleCov::ResultMerger.merge_results(*results)
SimpleCov::Formatter::LcovFormatter.config.report_with_single_file = true SimpleCov::Formatter::LcovFormatter.config.single_report_path = ARGV[0] || 'coverage.lcov' SimpleCov::Formatter::LcovFormatter.new.format(merged_result)
puts("Done! LCOV saved to #{SimpleCov::Formatter::LcovFormatter.config.single_report_path}")