Skip to content

Commit

Permalink
Added primitive support for COVERAGE_PATH_EQUIVALENCE.
Browse files Browse the repository at this point in the history
  • Loading branch information
grigorye committed Oct 5, 2023
1 parent ebbff70 commit 2c95cf5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
6 changes: 5 additions & 1 deletion lib/slather/coverage_info.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,11 @@ def rate_branches_tested
end

def source_file_pathname_relative_to_repo_root
source_file_pathname.realpath.relative_path_from(Pathname("./").realpath)
test_path=source_file_pathname
if ENV["COVERAGE_PATH_EQUIVALENCE"]
test_path=Pathname("." + "#{source_file_pathname}".delete_prefix(ENV["COVERAGE_PATH_EQUIVALENCE"].delete_suffix(",.")))
end
test_path.realpath.relative_path_from(Pathname("./").realpath)
end

def ignored?
Expand Down
6 changes: 6 additions & 0 deletions lib/slather/project.rb
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,9 @@ def unsafe_llvm_cov_export_output(binary_path)
if self.arch
llvm_cov_args << "--arch" << self.arch
end
if ENV["COVERAGE_PATH_EQUIVALENCE"]
llvm_cov_args << "-path-equivalence=#{ENV["COVERAGE_PATH_EQUIVALENCE"]}"
end
`xcrun llvm-cov #{llvm_cov_args.shelljoin}`
end
private :unsafe_llvm_cov_export_output
Expand All @@ -293,6 +296,9 @@ def unsafe_profdata_llvm_cov_output(binary_path, source_files)
if self.arch
llvm_cov_args << "--arch" << self.arch
end
if ENV["COVERAGE_PATH_EQUIVALENCE"]
llvm_cov_args << "-path-equivalence=#{ENV["COVERAGE_PATH_EQUIVALENCE"]}"
end

# POSIX systems have an ARG_MAX for the maximum total length of the command line, so the command may fail with an error message of "Argument list too long".
# Using the xargs command we can break the list of source_files into sublists small enough to be acceptable.
Expand Down

0 comments on commit 2c95cf5

Please sign in to comment.