diff options
author | 2018-04-11 12:13:56 -0700 | |
---|---|---|
committer | 2018-04-11 12:15:38 -0700 | |
commit | 7f09a6cec5dd819f65b1c31802481f8a6b140ee7 (patch) | |
tree | 6d94a4c32e251a74e837cfc38dacaedb8045a1bc /src/test/java | |
parent | 6febc73d9d40dfacbb005c3c56820c39addf0546 (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.java | 33 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java | 8 |
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"); |