aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2015-08-31 13:41:45 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2015-08-31 19:15:44 +0000
commitff62b9b8d3ecd0c05cff6a7d8edfd63cd16117ee (patch)
tree1d5a59f970b023f50e595629eacdeee5e8efe1b9 /src/test/java
parentc9fa70824299e489d5b7b8328877fda4a10f49ba (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.java34
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();
}