aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar shahan <shahan@google.com>2018-04-11 12:13:56 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-11 12:15:38 -0700
commit7f09a6cec5dd819f65b1c31802481f8a6b140ee7 (patch)
tree6d94a4c32e251a74e837cfc38dacaedb8045a1bc /src/test/java
parent6febc73d9d40dfacbb005c3c56820c39addf0546 (diff)
Starts threading ActionExecutionContext to sites calling getPath() only within
Action execution. PiperOrigin-RevId: 192488641
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java33
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java8
2 files changed, 39 insertions, 2 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 14157c260f..7129779d58 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
@@ -30,10 +30,13 @@ import com.google.common.collect.Sets;
import com.google.common.eventbus.EventBus;
import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
+import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionGraph;
import com.google.devtools.build.lib.actions.ActionInput;
import com.google.devtools.build.lib.actions.ActionKeyContext;
+import com.google.devtools.build.lib.actions.ActionLogBufferPathGenerator;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander;
import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact;
import com.google.devtools.build.lib.actions.ArtifactOwner;
import com.google.devtools.build.lib.actions.ArtifactRoot;
@@ -44,6 +47,7 @@ import com.google.devtools.build.lib.actions.MutableActionGraph;
import com.google.devtools.build.lib.actions.ResourceManager;
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
+import com.google.devtools.build.lib.actions.util.DummyExecutor;
import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
import com.google.devtools.build.lib.analysis.AnalysisUtils;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
@@ -157,6 +161,7 @@ import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
+import java.util.TreeMap;
import java.util.UUID;
import javax.annotation.Nullable;
import org.junit.Before;
@@ -197,6 +202,8 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
private LoadingOptions customLoadingOptions = null;
protected BuildConfigurationValue.Key targetConfigKey;
+ private ActionLogBufferPathGenerator actionLogBufferPathGenerator;
+
@Before
public final void initializeSkyframeExecutor() throws Exception {
initializeSkyframeExecutor(/*doPackageLoadingChecks=*/ true);
@@ -272,6 +279,9 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
setUpSkyframe();
// Also initializes ResourceManager.
ResourceManager.instance().setAvailableResources(getStartingResources());
+ this.actionLogBufferPathGenerator =
+ new ActionLogBufferPathGenerator(
+ directories.getActionConsoleOutputDirectory(getExecRoot()));
}
public void initializeMockClient() throws IOException {
@@ -1989,4 +1999,27 @@ public abstract class BuildViewTestCase extends FoundationTestCase {
public Path getExecRoot() {
return directories.getExecRoot(ruleClassProvider.getRunfilesPrefix());
}
+
+ /** Creates instances of {@link ActionExecutionContext} consistent with test case. */
+ public class ActionExecutionContextBuilder {
+ private TreeMap<String, String> clientEnv = new TreeMap<>();
+ private ArtifactExpander artifactExpander = null;
+
+ public ActionExecutionContextBuilder setArtifactExpander(ArtifactExpander artifactExpander) {
+ this.artifactExpander = artifactExpander;
+ return this;
+ }
+
+ public ActionExecutionContext build() {
+ return new ActionExecutionContext(
+ new DummyExecutor(fileSystem, getExecRoot(), reporter),
+ /*actionInputFileCache=*/ null,
+ /*actionInputPrefetcher=*/ null,
+ actionKeyContext,
+ /*metadataHandler=*/ null,
+ actionLogBufferPathGenerator.generate(),
+ clientEnv,
+ artifactExpander);
+ }
+ }
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
index 8226bc1bc8..061eac34e4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
@@ -1067,7 +1067,10 @@ public class ObjcLibraryTest extends ObjcRuleTestCase {
.setList("srcs", "a.m")
.write();
CppCompileAction compileAction = (CppCompileAction) compileAction("//lib:lib", "a.o");
- assertThat(compileAction.discoverInputsFromDotdFiles(null, null, null)).isEmpty();
+ assertThat(
+ compileAction.discoverInputsFromDotdFiles(
+ new ActionExecutionContextBuilder().build(), null, null, null))
+ .isEmpty();
}
@Test
@@ -1702,7 +1705,8 @@ public class ObjcLibraryTest extends ObjcRuleTestCase {
createLibraryTargetWriter("//lib:lib").setList("srcs", "a.m").write();
CppCompileAction compileAction = (CppCompileAction) compileAction("//lib:lib", "a.o");
try {
- compileAction.discoverInputsFromDotdFiles(null, null, null);
+ compileAction.discoverInputsFromDotdFiles(
+ new ActionExecutionContextBuilder().build(), null, null, null);
fail("Expected ActionExecutionException");
} catch (ActionExecutionException expected) {
assertThat(expected).hasMessageThat().contains("error while parsing .d file");