Pass the ExecutionOptions into the SpawnStrategies.

This makes it possible for the SpawnStrategies to read other options (specifically, --incompatible_remote_use_new_exit_code_for_lost_inputs which I'm about to move into ExecutionOptions) without adding additional constructor parameters.

PiperOrigin-RevId: 516769731
Change-Id: I99479c16fea7a29379f61956e37175826983ee53
diff --git a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java
index 8a33b4d..206f92d 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java
@@ -77,12 +77,13 @@
 
   private final SpawnInputExpander spawnInputExpander;
   private final SpawnRunner spawnRunner;
-  private final boolean verboseFailures;
+  private final ExecutionOptions executionOptions;
 
-  protected AbstractSpawnStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
+  protected AbstractSpawnStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
     this.spawnInputExpander = new SpawnInputExpander(execRoot, false);
     this.spawnRunner = spawnRunner;
-    this.verboseFailures = verboseFailures;
+    this.executionOptions = executionOptions;
   }
 
   /**
@@ -206,7 +207,8 @@
       String message =
           !Strings.isNullOrEmpty(resultMessage)
               ? resultMessage
-              : CommandFailureUtils.describeCommandFailure(verboseFailures, cwd, spawn);
+              : CommandFailureUtils.describeCommandFailure(
+                  executionOptions.verboseFailures, cwd, spawn);
       throw new SpawnExecException(message, spawnResult, /*forciblyRunRemotely=*/ false);
     }
     return ImmutableList.of(spawnResult);
diff --git a/src/main/java/com/google/devtools/build/lib/exec/BUILD b/src/main/java/com/google/devtools/build/lib/exec/BUILD
index b3dd94d..168ac13 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/exec/BUILD
@@ -17,6 +17,7 @@
     name = "abstract_spawn_strategy",
     srcs = ["AbstractSpawnStrategy.java"],
     deps = [
+        ":execution_options",
         ":spawn_cache",
         ":spawn_exec_exception",
         ":spawn_input_expander",
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java
index 8666631..61d7224 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java
@@ -169,20 +169,20 @@
    * @param registryBuilder builder with which to register the strategy
    */
   public void registerRemoteSpawnStrategy(SpawnStrategyRegistry.Builder registryBuilder) {
-    boolean verboseFailures =
-        checkNotNull(env.getOptions().getOptions(ExecutionOptions.class)).verboseFailures;
+    ExecutionOptions executionOptions =
+        checkNotNull(env.getOptions().getOptions(ExecutionOptions.class));
     RemoteSpawnRunner spawnRunner =
         new RemoteSpawnRunner(
             env.getExecRoot(),
             checkNotNull(env.getOptions().getOptions(RemoteOptions.class)),
             env.getOptions().getOptions(ExecutionOptions.class),
-            verboseFailures,
+            executionOptions.verboseFailures,
             env.getReporter(),
             retryScheduler,
             logDir,
             getRemoteExecutionService());
     registryBuilder.registerStrategy(
-        new RemoteSpawnStrategy(env.getExecRoot(), spawnRunner, verboseFailures), "remote");
+        new RemoteSpawnStrategy(env.getExecRoot(), spawnRunner, executionOptions), "remote");
   }
 
   /**
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java
index 0aff83a..ab27b8e 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteSpawnStrategy.java
@@ -14,6 +14,7 @@
 package com.google.devtools.build.lib.remote;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.vfs.Path;
 
@@ -22,8 +23,8 @@
  * strategy also support offloading the work to a remote worker.
  */
 final class RemoteSpawnStrategy extends AbstractSpawnStrategy {
-  RemoteSpawnStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  RemoteSpawnStrategy(Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/BUILD b/src/main/java/com/google/devtools/build/lib/sandbox/BUILD
index 12438a7..5f550ca 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/BUILD
@@ -215,6 +215,7 @@
         "//src/main/java/com/google/devtools/build/lib:runtime",
         "//src/main/java/com/google/devtools/build/lib/actions",
         "//src/main/java/com/google/devtools/build/lib/exec:abstract_spawn_strategy",
+        "//src/main/java/com/google/devtools/build/lib/exec:execution_options",
         "//src/main/java/com/google/devtools/build/lib/exec:spawn_runner",
         "//src/main/java/com/google/devtools/build/lib/exec:tree_deleter",
         "//src/main/java/com/google/devtools/build/lib/exec/local",
@@ -251,6 +252,7 @@
         "//src/main/java/com/google/devtools/build/lib/analysis:blaze_directories",
         "//src/main/java/com/google/devtools/build/lib/events",
         "//src/main/java/com/google/devtools/build/lib/exec:abstract_spawn_strategy",
+        "//src/main/java/com/google/devtools/build/lib/exec:execution_options",
         "//src/main/java/com/google/devtools/build/lib/exec:spawn_runner",
         "//src/main/java/com/google/devtools/build/lib/exec:tree_deleter",
         "//src/main/java/com/google/devtools/build/lib/exec/local",
@@ -295,6 +297,7 @@
         "//src/main/java/com/google/devtools/build/lib:runtime",
         "//src/main/java/com/google/devtools/build/lib/actions",
         "//src/main/java/com/google/devtools/build/lib/exec:abstract_spawn_strategy",
+        "//src/main/java/com/google/devtools/build/lib/exec:execution_options",
         "//src/main/java/com/google/devtools/build/lib/exec:spawn_runner",
         "//src/main/java/com/google/devtools/build/lib/exec:tree_deleter",
         "//src/main/java/com/google/devtools/build/lib/exec/local",
@@ -323,6 +326,7 @@
         "//src/main/java/com/google/devtools/build/lib/actions",
         "//src/main/java/com/google/devtools/build/lib/actions:artifacts",
         "//src/main/java/com/google/devtools/build/lib/exec:abstract_spawn_strategy",
+        "//src/main/java/com/google/devtools/build/lib/exec:execution_options",
         "//src/main/java/com/google/devtools/build/lib/exec:spawn_runner",
         "//src/main/java/com/google/devtools/build/lib/exec/local",
         "//src/main/java/com/google/devtools/build/lib/shell",
@@ -351,6 +355,7 @@
         "//src/main/java/com/google/devtools/build/lib/analysis/platform:platform_utils",
         "//src/main/java/com/google/devtools/build/lib/events",
         "//src/main/java/com/google/devtools/build/lib/exec:abstract_spawn_strategy",
+        "//src/main/java/com/google/devtools/build/lib/exec:execution_options",
         "//src/main/java/com/google/devtools/build/lib/exec:spawn_runner",
         "//src/main/java/com/google/devtools/build/lib/exec:tree_deleter",
         "//src/main/java/com/google/devtools/build/lib/exec/local",
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
index 2c54c45..6fedb0c 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
@@ -15,13 +15,15 @@
 package com.google.devtools.build.lib.sandbox;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.vfs.Path;
 
 /** Strategy that uses sandboxing to execute a process, for Darwin */
 final class DarwinSandboxedStrategy extends AbstractSpawnStrategy {
-  DarwinSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  DarwinSandboxedStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DockerSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DockerSandboxedStrategy.java
index 9d057a0..06e05493a 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DockerSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DockerSandboxedStrategy.java
@@ -15,13 +15,15 @@
 package com.google.devtools.build.lib.sandbox;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.vfs.Path;
 
 /** Strategy that uses Docker to execute a process. */
 public final class DockerSandboxedStrategy extends AbstractSpawnStrategy {
-  DockerSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  DockerSandboxedStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
index f302f8f..0077922 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategy.java
@@ -15,6 +15,7 @@
 package com.google.devtools.build.lib.sandbox;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.exec.TreeDeleter;
 import com.google.devtools.build.lib.runtime.CommandEnvironment;
@@ -25,8 +26,9 @@
 
 /** Strategy that uses sandboxing to execute a process. */
 public final class LinuxSandboxedStrategy extends AbstractSpawnStrategy {
-  LinuxSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  LinuxSandboxedStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java
index 876febc..30cde73 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/ProcessWrapperSandboxedStrategy.java
@@ -15,13 +15,15 @@
 package com.google.devtools.build.lib.sandbox;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.vfs.Path;
 
 /** Strategy that uses sandboxing to execute a process. */
 final class ProcessWrapperSandboxedStrategy extends AbstractSpawnStrategy {
-  ProcessWrapperSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  ProcessWrapperSandboxedStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java
index 53ebb06..a24a551 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java
@@ -283,8 +283,8 @@
     boolean linuxSandboxSupported = LinuxSandboxedSpawnRunner.isSupported(cmdEnv);
     boolean darwinSandboxSupported = DarwinSandboxedSpawnRunner.isSupported(cmdEnv);
 
-    boolean verboseFailures =
-        checkNotNull(cmdEnv.getOptions().getOptions(ExecutionOptions.class)).verboseFailures;
+    ExecutionOptions executionOptions =
+        checkNotNull(cmdEnv.getOptions().getOptions(ExecutionOptions.class));
     // This works on most platforms, but isn't the best choice, so we put it first and let later
     // platform-specific sandboxing strategies become the default.
     if (processWrapperSupported) {
@@ -300,7 +300,7 @@
                   treeDeleter));
       spawnRunners.add(spawnRunner);
       builder.registerStrategy(
-          new ProcessWrapperSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, verboseFailures),
+          new ProcessWrapperSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, executionOptions),
           "sandboxed",
           "processwrapper-sandbox");
     }
@@ -327,7 +327,7 @@
                     treeDeleter));
         spawnRunners.add(spawnRunner);
         builder.registerStrategy(
-            new DockerSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, verboseFailures),
+            new DockerSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, executionOptions),
             "docker");
       }
     } else if (options.dockerVerbose) {
@@ -354,7 +354,7 @@
                   treeDeleter));
       spawnRunners.add(spawnRunner);
       builder.registerStrategy(
-          new LinuxSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, verboseFailures),
+          new LinuxSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, executionOptions),
           "sandboxed",
           "linux-sandbox");
     }
@@ -373,7 +373,7 @@
                   treeDeleter));
       spawnRunners.add(spawnRunner);
       builder.registerStrategy(
-          new DarwinSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, verboseFailures),
+          new DarwinSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, executionOptions),
           "sandboxed",
           "darwin-sandbox");
     }
@@ -386,7 +386,7 @@
                   helpers, cmdEnv, timeoutKillDelay, windowsSandboxPath));
       spawnRunners.add(spawnRunner);
       builder.registerStrategy(
-          new WindowsSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, verboseFailures),
+          new WindowsSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner, executionOptions),
           "sandboxed",
           "windows-sandbox");
     }
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/WindowsSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/WindowsSandboxedStrategy.java
index 8a9b3e2..576b468 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/WindowsSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/WindowsSandboxedStrategy.java
@@ -15,13 +15,15 @@
 package com.google.devtools.build.lib.sandbox;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.vfs.Path;
 
 /** Strategy that uses sandboxing to execute a process. */
 public final class WindowsSandboxedStrategy extends AbstractSpawnStrategy {
-  WindowsSandboxedStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  WindowsSandboxedStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
index 61e38f5..5110e42 100644
--- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
+++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
@@ -86,13 +86,13 @@
             // TODO(buchgr): Replace singleton by a command-scoped RunfilesTreeUpdater
             RunfilesTreeUpdater.INSTANCE);
 
-    boolean verboseFailures =
-        checkNotNull(env.getOptions().getOptions(ExecutionOptions.class)).verboseFailures;
+    ExecutionOptions executionOptions =
+        checkNotNull(env.getOptions().getOptions(ExecutionOptions.class));
     // Order of strategies passed to builder is significant - when there are many strategies that
     // could potentially be used and a spawnActionContext doesn't specify which one it wants, the
     // last one from strategies list will be used
     registryBuilder.registerStrategy(
-        new StandaloneSpawnStrategy(env.getExecRoot(), localSpawnRunner, verboseFailures),
+        new StandaloneSpawnStrategy(env.getExecRoot(), localSpawnRunner, executionOptions),
         "standalone",
         "local");
 
diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java
index 4802704..2a9f71a 100644
--- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java
@@ -14,6 +14,7 @@
 package com.google.devtools.build.lib.standalone;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.exec.SpawnRunner;
 import com.google.devtools.build.lib.vfs.Path;
 
@@ -21,8 +22,9 @@
  * Strategy that uses subprocessing to execute a process.
  */
 public class StandaloneSpawnStrategy extends AbstractSpawnStrategy {
-  public StandaloneSpawnStrategy(Path execRoot, SpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+  public StandaloneSpawnStrategy(
+      Path execRoot, SpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
index 7687f62..1f1b68f 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
@@ -194,8 +194,7 @@
     ExecutionOptions executionOptions =
         checkNotNull(env.getOptions().getOptions(ExecutionOptions.class));
     registryBuilder.registerStrategy(
-        new WorkerSpawnStrategy(env.getExecRoot(), spawnRunner, executionOptions.verboseFailures),
-        "worker");
+        new WorkerSpawnStrategy(env.getExecRoot(), spawnRunner, executionOptions), "worker");
   }
 
   @Subscribe
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java
index 23a8b41..b14082e 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerSpawnStrategy.java
@@ -14,6 +14,7 @@
 package com.google.devtools.build.lib.worker;
 
 import com.google.devtools.build.lib.exec.AbstractSpawnStrategy;
+import com.google.devtools.build.lib.exec.ExecutionOptions;
 import com.google.devtools.build.lib.vfs.Path;
 
 /**
@@ -23,8 +24,8 @@
 public final class WorkerSpawnStrategy extends AbstractSpawnStrategy {
 
   public WorkerSpawnStrategy(
-      Path execRoot, WorkerSpawnRunner spawnRunner, boolean verboseFailures) {
-    super(execRoot, spawnRunner, verboseFailures);
+      Path execRoot, WorkerSpawnRunner spawnRunner, ExecutionOptions executionOptions) {
+    super(execRoot, spawnRunner, executionOptions);
   }
 
   @Override
diff --git a/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java
index a02e8f1..aaac21f 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategyTest.java
@@ -80,7 +80,7 @@
 
   private static class TestedSpawnStrategy extends AbstractSpawnStrategy {
     public TestedSpawnStrategy(Path execRoot, SpawnRunner spawnRunner) {
-      super(execRoot, spawnRunner, /*verboseFailures=*/ true);
+      super(execRoot, spawnRunner, new ExecutionOptions());
     }
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/exec/SpawnStrategyRegistryTest.java b/src/test/java/com/google/devtools/build/lib/exec/SpawnStrategyRegistryTest.java
index 2b9c9ae..6b081a5 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/SpawnStrategyRegistryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/SpawnStrategyRegistryTest.java
@@ -604,7 +604,7 @@
     private int usedCalled = 0;
 
     public NoopAbstractStrategy(String name) {
-      super(null, null, /*verboseFailures=*/ true);
+      super(null, null, null);
       this.name = name;
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnRunnerTest.java b/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnRunnerTest.java
index a6db5fb..ca4e6ec 100644
--- a/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnRunnerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/remote/RemoteSpawnRunnerTest.java
@@ -229,7 +229,7 @@
 
   private FakeSpawnExecutionContext getSpawnContext(Spawn spawn) {
     AbstractSpawnStrategy fakeLocalStrategy =
-        new AbstractSpawnStrategy(execRoot, localRunner, /*verboseFailures=*/ true) {};
+        new AbstractSpawnStrategy(execRoot, localRunner, new ExecutionOptions()) {};
     ClassToInstanceMap<ActionContext> actionContextRegistry =
         ImmutableClassToInstanceMap.of(RemoteLocalFallbackRegistry.class, () -> fakeLocalStrategy);
     return new FakeSpawnExecutionContext(
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 c9e5681..886dd5a 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
@@ -154,10 +154,10 @@
                 resourceManager,
                 (env, binTools1, fallbackTmpDir) -> ImmutableMap.copyOf(env),
                 binTools,
-                /*processWrapper=*/ null,
+                /* processWrapper= */ null,
                 SyscallCache.NO_CACHE,
                 Mockito.mock(RunfilesTreeUpdater.class)),
-            /*verboseFailures=*/ false);
+            new ExecutionOptions());
     this.executor =
         new TestExecutorBuilder(fileSystem, directories, binTools)
             .addStrategy(strategy, "standalone")