diff options
author | 2015-08-31 13:41:45 +0000 | |
---|---|---|
committer | 2015-08-31 19:15:44 +0000 | |
commit | ff62b9b8d3ecd0c05cff6a7d8edfd63cd16117ee (patch) | |
tree | 1d5a59f970b023f50e595629eacdeee5e8efe1b9 /src/test/java | |
parent | c9fa70824299e489d5b7b8328877fda4a10f49ba (diff) |
Create baseline coverage actions for local sources only and aggregate.
We no longer generate baseline coverage for all transitive source files in
every target; instead, we generate baseline coverage for the files in the
current target and collect all of them transitively. That means much smaller
but more baseline coverage files; the total content is smaller if you were
providing more than one target with overlapping transitive closures on the
command line.
In addition, we now collect baseline coverage for all targets in the transitive
closure of the top-level targets. Previously, if you only passed test targets,
you would not get any baseline coverage.
--
MOS_MIGRATED_REVID=101929897
Diffstat (limited to 'src/test/java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index 6096e4c3b6..7f7d05b052 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java @@ -32,7 +32,6 @@ import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactOwner; -import com.google.devtools.build.lib.actions.Executor; import com.google.devtools.build.lib.actions.MapBasedActionGraph; import com.google.devtools.build.lib.actions.MiddlemanFactory; import com.google.devtools.build.lib.actions.MutableActionGraph; @@ -132,8 +131,6 @@ import com.google.devtools.common.options.Options; import com.google.devtools.common.options.OptionsParser; import com.google.devtools.common.options.OptionsParsingException; -import org.mockito.Mockito; - import java.io.ByteArrayOutputStream; import java.io.IOException; import java.lang.reflect.Field; @@ -1478,27 +1475,22 @@ public abstract class BuildViewTestCase extends FoundationTestCase { protected Iterable<String> baselineCoverageArtifactBasenames(ConfiguredTarget target) throws Exception { - Artifact baselineCoverage = Iterables.getOnlyElement(target - .getProvider(InstrumentedFilesProvider.class) - .getBaselineCoverageArtifacts()); - BaselineCoverageAction baselineAction = - (BaselineCoverageAction) getGeneratingAction(baselineCoverage); - - EventBus eventBus = new EventBus(); - Executor mockExecutor = Mockito.mock(Executor.class); - Mockito.when(mockExecutor.getEventBus()).thenReturn(eventBus); - - ByteArrayOutputStream bytes = new ByteArrayOutputStream(); - baselineAction.newDeterministicWriter(reporter, mockExecutor).writeOutputFile(bytes); - ImmutableList.Builder<String> basenames = ImmutableList.builder(); - for (String line : new String(bytes.toByteArray(), StandardCharsets.UTF_8).split("\n")) { - if (line.startsWith("SF:")) { - String basename = line.substring(line.lastIndexOf('/') + 1); - basenames.add(basename); + for (Artifact baselineCoverage : target + .getProvider(InstrumentedFilesProvider.class) + .getBaselineCoverageArtifacts()) { + BaselineCoverageAction baselineAction = + (BaselineCoverageAction) getGeneratingAction(baselineCoverage); + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + baselineAction.newDeterministicWriter(null, null).writeOutputFile(bytes); + + for (String line : new String(bytes.toByteArray(), StandardCharsets.UTF_8).split("\n")) { + if (line.startsWith("SF:")) { + String basename = line.substring(line.lastIndexOf('/') + 1); + basenames.add(basename); + } } } - return basenames.build(); } |