Coverage: Do not prepend a second forward slash in LCOVFormatter
This fixes: https://github.com/bazelbuild/bazel/issues/10863
Closes #10864.
PiperOrigin-RevId: 297352463
diff --git a/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoLCOVFormatter.java b/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoLCOVFormatter.java
index 2f5acf5..6d1ba4a 100644
--- a/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoLCOVFormatter.java
+++ b/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoLCOVFormatter.java
@@ -70,8 +70,10 @@
if (execPathsOfUninstrumentedFiles.isEmpty()) {
return fileName;
}
+
+ String matchingFileName = fileName.startsWith("/") ? fileName : "/" + fileName;
for (String execPath : execPathsOfUninstrumentedFiles) {
- if (execPath.endsWith("/" + fileName)) {
+ if (execPath.endsWith(matchingFileName)) {
return execPath;
}
}
@@ -103,8 +105,9 @@
// information and process everything at the end.
for (IPackageCoverage pkgCoverage : bundle.getPackages()) {
for (IClassCoverage clsCoverage : pkgCoverage.getClasses()) {
- String fileName = getExecPathForEntryName(
- clsCoverage.getPackageName() + "/" + clsCoverage.getSourceFileName());
+ String fileName =
+ getExecPathForEntryName(
+ clsCoverage.getPackageName() + "/" + clsCoverage.getSourceFileName());
if (fileName == null) {
continue;
}
@@ -114,8 +117,8 @@
sourceToClassCoverage.get(fileName).put(clsCoverage.getName(), clsCoverage);
}
for (ISourceFileCoverage srcCoverage : pkgCoverage.getSourceFiles()) {
- String sourceName = getExecPathForEntryName(
- srcCoverage.getPackageName() + "/" + srcCoverage.getName());
+ String sourceName =
+ getExecPathForEntryName(srcCoverage.getPackageName() + "/" + srcCoverage.getName());
if (sourceName != null) {
sourceToFileCoverage.put(sourceName, srcCoverage);
}