Clean up TestExecutorBuilder interface.
Part of the rollforward of https://github.com/bazelbuild/bazel/commit/37aeabcd39fe326d1c4e55693d8d207f9f7ac6c4.
PiperOrigin-RevId: 303179885
diff --git a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
index a42f915..58124b4 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
@@ -80,7 +80,7 @@
.setReporter(reporter)
.setOptionsParser(parser)
.setExecution("fake", "fake")
- .addStrategy(SpawnStrategy.class, new FakeSpawnStrategy(), "fake")
+ .addContext(SpawnStrategy.class, new FakeSpawnStrategy(), "fake")
.build();
Event event =
diff --git a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
index 5e4b4e5..d74ac49 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
@@ -17,6 +17,7 @@
import com.google.common.eventbus.EventBus;
import com.google.devtools.build.lib.actions.ActionContext;
import com.google.devtools.build.lib.actions.ExecutorInitException;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.actions.FileWriteActionContext;
import com.google.devtools.build.lib.analysis.actions.LocalTemplateExpansionStrategy;
@@ -60,9 +61,9 @@
public TestExecutorBuilder(FileSystem fileSystem, Path execRoot, BinTools binTools) {
this.fileSystem = fileSystem;
this.execRoot = execRoot;
- addStrategy(FileWriteActionContext.class, new FileWriteStrategy());
- addStrategy(TemplateExpansionContext.class, new LocalTemplateExpansionStrategy());
- addStrategy(SymlinkTreeActionContext.class, new SymlinkTreeStrategy(null, binTools));
+ addContext(FileWriteActionContext.class, new FileWriteStrategy());
+ addContext(TemplateExpansionContext.class, new LocalTemplateExpansionStrategy());
+ addContext(SymlinkTreeActionContext.class, new SymlinkTreeStrategy(null, binTools));
}
public TestExecutorBuilder setReporter(Reporter reporter) {
@@ -86,10 +87,26 @@
* <p>If two action contexts are registered with the same identifying type and commandline
* identifier the last registered will take precedence.
*/
- public <T extends ActionContext> TestExecutorBuilder addStrategy(
- Class<T> identifyingType, T strategy, String... commandlineIdentifiers) {
+ public <T extends ActionContext> TestExecutorBuilder addContext(
+ Class<T> identifyingType, T context, String... commandlineIdentifiers) {
spawnMapsBuilder.strategyByContextMap().put(identifyingType, "");
- spawnMapsBuilder.addContext(identifyingType, strategy, commandlineIdentifiers);
+ spawnMapsBuilder.addContext(identifyingType, context, commandlineIdentifiers);
+ return this;
+ }
+
+ /** Makes the given strategy available in the execution phase. */
+ public TestExecutorBuilder addStrategy(SpawnStrategy strategy, String... commandlineIdentifiers) {
+ spawnMapsBuilder.addContext(SpawnStrategy.class, strategy, commandlineIdentifiers);
+ return this;
+ }
+
+ /**
+ * Sets the default strategies to use if none are supplied by the user.
+ *
+ * <p>Replaces any previously set default strategies.
+ */
+ public TestExecutorBuilder setDefaultStrategies(String... strategies) {
+ spawnMapsBuilder.strategyByMnemonicMap().replaceValues("", ImmutableList.copyOf(strategies));
return this;
}
diff --git a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
index 30ac45c..6cdb876 100644
--- a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
@@ -153,8 +153,8 @@
Mockito.mock(RunfilesTreeUpdater.class)));
this.executor =
new TestExecutorBuilder(fileSystem, directories, binTools)
- .addStrategy(SpawnStrategy.class, strategy, "standalone")
- .setExecution("", "standalone")
+ .addStrategy(strategy, "standalone")
+ .setDefaultStrategies("standalone")
.build();
executor.getExecRoot().createDirectoryAndParents();