Remove IncompatibleMergeException from coverage generator
After changing the handling of mismatched branches in coverage reports
to no longer raise an error, there is nothing that throws this
exception.
Even if the handling of branches were to be changed, it has been made
clear that "inconsistent" reports are something that must be handled
without an error being thrown.
PiperOrigin-RevId: 334391902
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD
index fe7d290..4593cb9 100644
--- a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD
+++ b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/BUILD
@@ -79,7 +79,6 @@
srcs = ["SourceFileCoverage.java"],
deps = [
":BranchCoverage",
- ":IncompatibleMergeException",
":LineCoverage",
"//third_party:auto_value",
"//third_party:guava",
@@ -88,11 +87,6 @@
)
java_library(
- name = "IncompatibleMergeException",
- srcs = ["IncompatibleMergeException.java"],
-)
-
-java_library(
name = "LcovPrinter",
srcs = ["LcovPrinter.java"],
deps = [
@@ -160,7 +154,6 @@
srcs = ["Coverage.java"],
deps = [
":Constants",
- ":IncompatibleMergeException",
":SourceFileCoverage",
"//third_party:guava",
],
@@ -185,7 +178,6 @@
":Coverage",
":GcovJsonParser",
":GcovParser",
- ":IncompatibleMergeException",
":LcovMergerFlags",
":LcovParser",
":LcovPrinter",
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Coverage.java b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Coverage.java
index 711b773..dfee180 100644
--- a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Coverage.java
+++ b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Coverage.java
@@ -31,7 +31,7 @@
sourceFiles = new TreeMap<>();
}
- void add(SourceFileCoverage input) throws IncompatibleMergeException {
+ void add(SourceFileCoverage input) {
String sourceFilename = input.sourceFileName();
if (sourceFiles.containsKey(sourceFilename)) {
SourceFileCoverage old = sourceFiles.get(sourceFilename);
@@ -41,11 +41,11 @@
}
}
- static Coverage merge(Coverage... coverages) throws IncompatibleMergeException {
+ static Coverage merge(Coverage... coverages) {
return merge(asList(coverages));
}
- static Coverage merge(List<Coverage> coverages) throws IncompatibleMergeException {
+ static Coverage merge(List<Coverage> coverages) {
Coverage merged = new Coverage();
for (Coverage c : coverages) {
for (SourceFileCoverage sourceFile : c.getAllSourceFiles()) {
@@ -55,25 +55,11 @@
return merged;
}
- static Coverage mergeUnchecked(Coverage... coverages) {
- return mergeUnchecked(asList(coverages));
- }
-
- static Coverage mergeUnchecked(List<Coverage> coverages) {
- try {
- return merge(coverages);
- } catch (IncompatibleMergeException e) {
- throw new IllegalStateException(e);
- }
- }
-
- static Coverage create(SourceFileCoverage... sourceFilesCoverage)
- throws IncompatibleMergeException {
+ static Coverage create(SourceFileCoverage... sourceFilesCoverage) {
return create(asList(sourceFilesCoverage));
}
- static Coverage create(List<SourceFileCoverage> sourceFilesCoverage)
- throws IncompatibleMergeException {
+ static Coverage create(List<SourceFileCoverage> sourceFilesCoverage) {
Coverage coverage = new Coverage();
for (SourceFileCoverage sourceFileCoverage : sourceFilesCoverage) {
coverage.add(sourceFileCoverage);
@@ -103,11 +89,7 @@
for (SourceFileCoverage source : coverage.getAllSourceFiles()) {
if (!isCcSourceFile(source.sourceFileName())
|| sourcesToKeep.contains(source.sourceFileName())) {
- try {
- finalCoverage.add(source);
- } catch (IncompatibleMergeException e) {
- throw new AssertionError(e);
- }
+ finalCoverage.add(source);
}
}
return finalCoverage;
@@ -150,11 +132,7 @@
Coverage filteredCoverage = new Coverage();
for (SourceFileCoverage source : coverage.getAllSourceFiles()) {
if (!matchesAnyRegex(source.sourceFileName(), regexes)) {
- try {
- filteredCoverage.add(source);
- } catch (IncompatibleMergeException e) {
- throw new AssertionError(e);
- }
+ filteredCoverage.add(source);
}
}
return filteredCoverage;
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/IncompatibleMergeException.java b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/IncompatibleMergeException.java
deleted file mode 100644
index 3a33be5..0000000
--- a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/IncompatibleMergeException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2020 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.devtools.coverageoutputgenerator;
-
-/**
- * Exception indicating two source coverage objects cannot be merged together due to irreconcilable
- * differences.
- */
-public class IncompatibleMergeException extends Exception {
-
- public IncompatibleMergeException(String message) {
- super(message);
- }
-}
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Main.java b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Main.java
index 19194e2..53852be 100644
--- a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Main.java
+++ b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/Main.java
@@ -75,26 +75,18 @@
flags.coverageDir() != null
? getCoverageFilesInDir(flags.coverageDir())
: Collections.emptyList();
- Coverage coverage;
- try {
- coverage =
- Coverage.merge(
- parseFiles(
- getTracefiles(flags, filesInCoverageDir),
- LcovParser::parse,
- flags.parseParallelism()),
- parseFiles(
- getGcovInfoFiles(filesInCoverageDir),
- GcovParser::parse,
- flags.parseParallelism()),
- parseFiles(
- getGcovJsonInfoFiles(filesInCoverageDir),
- GcovJsonParser::parse,
- flags.parseParallelism()));
- } catch (IncompatibleMergeException e) {
- logger.log(Level.SEVERE, e.getMessage());
- return 1;
- }
+ Coverage coverage =
+ Coverage.merge(
+ parseFiles(
+ getTracefiles(flags, filesInCoverageDir),
+ LcovParser::parse,
+ flags.parseParallelism()),
+ parseFiles(
+ getGcovInfoFiles(filesInCoverageDir), GcovParser::parse, flags.parseParallelism()),
+ parseFiles(
+ getGcovJsonInfoFiles(filesInCoverageDir),
+ GcovJsonParser::parse,
+ flags.parseParallelism()));
if (flags.sourcesToReplaceFile() != null) {
coverage.maybeReplaceSourceFileNames(getMapFromFile(flags.sourcesToReplaceFile()));
@@ -331,7 +323,7 @@
for (SourceFileCoverage sourceFileCoverage : sourceFilesCoverage) {
coverage.add(sourceFileCoverage);
}
- } catch (IOException | IncompatibleMergeException e) {
+ } catch (IOException e) {
logger.log(
Level.SEVERE,
"File " + file.getAbsolutePath() + " could not be parsed due to: " + e.getMessage(),
@@ -351,7 +343,7 @@
() ->
partitions.parallelStream()
.map((p) -> parseFilesSequentially(p, parser))
- .reduce((c1, c2) -> Coverage.mergeUnchecked(c1, c2))
+ .reduce((c1, c2) -> Coverage.merge(c1, c2))
.orElse(Coverage.create()))
.get();
}
diff --git a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/SourceFileCoverage.java b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/SourceFileCoverage.java
index 0b399c1..67230c4 100644
--- a/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/SourceFileCoverage.java
+++ b/tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator/SourceFileCoverage.java
@@ -153,8 +153,7 @@
*
* @return a new {@link SourceFileCoverage} that contains the merged coverage.
*/
- static SourceFileCoverage merge(SourceFileCoverage source1, SourceFileCoverage source2)
- throws IncompatibleMergeException {
+ static SourceFileCoverage merge(SourceFileCoverage source1, SourceFileCoverage source2) {
assert source1.sourceFileName.equals(source2.sourceFileName);
SourceFileCoverage merged = new SourceFileCoverage(source2.sourceFileName);
diff --git a/tools/test/CoverageOutputGenerator/javatests/com/google/devtools/coverageoutputgenerator/BUILD b/tools/test/CoverageOutputGenerator/javatests/com/google/devtools/coverageoutputgenerator/BUILD
index 52dfa79..f5f9096 100644
--- a/tools/test/CoverageOutputGenerator/javatests/com/google/devtools/coverageoutputgenerator/BUILD
+++ b/tools/test/CoverageOutputGenerator/javatests/com/google/devtools/coverageoutputgenerator/BUILD
@@ -36,7 +36,6 @@
"//third_party:junit4",
"//third_party:truth",
"//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:BranchCoverage",
- "//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:IncompatibleMergeException",
"//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:LineCoverage",
"//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:SourceFileCoverage",
],