Unconditionally include the "message", if any, in SimpleSpawnResult. This is the same logic as used in Google-internal code. This allows us to stop passing the verboseFailures boolean around everywhere, since it's then only needed in one place in AbstractSpawnStrategy.

I don't think this justifies a RELNOTES, but ok if you'd prefer one.

#11151

PiperOrigin-RevId: 333156319
diff --git a/src/test/java/com/google/devtools/build/lib/actions/SpawnResultTest.java b/src/test/java/com/google/devtools/build/lib/actions/SpawnResultTest.java
index 2e9b0ff..108bf66 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/SpawnResultTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/SpawnResultTest.java
@@ -41,7 +41,7 @@
             .setExitCode(SpawnResult.POSIX_TIMEOUT_EXIT_CODE)
             .setRunnerName("test")
             .build();
-    assertThat(r.getDetailMessage("", "", false, false, false))
+    assertThat(r.getDetailMessage("", "", false, false))
         .contains("(failed due to timeout after 5.00 seconds.)");
   }
 
@@ -53,8 +53,7 @@
             .setExitCode(SpawnResult.POSIX_TIMEOUT_EXIT_CODE)
             .setRunnerName("test")
             .build();
-    assertThat(r.getDetailMessage("", "", false, false, false))
-        .contains("(failed due to timeout.)");
+    assertThat(r.getDetailMessage("", "", false, false)).contains("(failed due to timeout.)");
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java b/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java
index 54a2dd1..fa8a23b 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java
@@ -54,11 +54,6 @@
   }
 
   @Override
-  public boolean getVerboseFailures() {
-    throw new UnsupportedOperationException();
-  }
-
-  @Override
   public <T extends ActionContext> T getContext(Class<T> type) {
     throw new UnsupportedOperationException();
   }
diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/util/BuildIntegrationTestCase.java b/src/test/java/com/google/devtools/build/lib/buildtool/util/BuildIntegrationTestCase.java
index 0dfd3e2..08815f3 100644
--- a/src/test/java/com/google/devtools/build/lib/buildtool/util/BuildIntegrationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/buildtool/util/BuildIntegrationTestCase.java
@@ -138,7 +138,7 @@
 
     @Override
     public ActionExecutionException toActionExecutionException(
-        String messagePrefix, boolean verboseFailures, Action action) {
+        String messagePrefix, Action action) {
       String message = messagePrefix + getMessage();
       // Append cause.getMessage() if it's different from getMessage(). It typically
       // isn't but if it is we'd like to surface cause.getMessage() as part of the
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 43c2ed5..1e503ab 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
@@ -66,7 +66,7 @@
 public class AbstractSpawnStrategyTest {
   private static class TestedSpawnStrategy extends AbstractSpawnStrategy {
     public TestedSpawnStrategy(Path execRoot, SpawnRunner spawnRunner) {
-      super(execRoot, spawnRunner);
+      super(execRoot, spawnRunner, /*verboseFailures=*/ true);
     }
   }
 
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 052eb9a..3ade294 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
@@ -567,7 +567,7 @@
     private int usedCalled = 0;
 
     public NoopAbstractStrategy(String name) {
-      super(null, null);
+      super(null, null, /*verboseFailures=*/ true);
       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 375fb2da..46dc051 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
@@ -213,7 +213,8 @@
   }
 
   private FakeSpawnExecutionContext getSpawnContext(Spawn spawn) {
-    AbstractSpawnStrategy fakeLocalStrategy = new AbstractSpawnStrategy(execRoot, localRunner) {};
+    AbstractSpawnStrategy fakeLocalStrategy =
+        new AbstractSpawnStrategy(execRoot, localRunner, /*verboseFailures=*/ true) {};
     ClassToInstanceMap<ActionContext> actionContextRegistry =
         ImmutableClassToInstanceMap.of(RemoteLocalFallbackRegistry.class, () -> fakeLocalStrategy);
     return new FakeSpawnExecutionContext(
@@ -821,7 +822,7 @@
 
     SpawnResult result = runner.exec(spawn, policy);
     assertThat(result.exitCode()).isEqualTo(ExitCode.REMOTE_ERROR.getNumericExitCode());
-    assertThat(result.getDetailMessage("", "", false, false, false)).contains("reasons");
+    assertThat(result.getDetailMessage("", "", false, false)).contains("reasons");
   }
 
   @Test
@@ -841,7 +842,7 @@
 
     SpawnResult result = runner.exec(spawn, policy);
     assertThat(result.exitCode()).isEqualTo(ExitCode.REMOTE_ERROR.getNumericExitCode());
-    assertThat(result.getDetailMessage("", "", false, false, false)).contains("reasons");
+    assertThat(result.getDetailMessage("", "", false, false)).contains("reasons");
   }
 
   @Test
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 32154dc..eefdbc8 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
@@ -151,7 +151,8 @@
                 (env, binTools1, fallbackTmpDir) -> ImmutableMap.copyOf(env),
                 binTools,
                 /*processWrapper=*/ null,
-                Mockito.mock(RunfilesTreeUpdater.class)));
+                Mockito.mock(RunfilesTreeUpdater.class)),
+            /*verboseFailures=*/ false);
     this.executor =
         new TestExecutorBuilder(fileSystem, directories, binTools)
             .addStrategy(strategy, "standalone")
@@ -313,8 +314,7 @@
   @Test
   public void testVerboseFailures() {
     ExecException e = assertThrows(ExecException.class, () -> run(createSpawn(getFalseCommand())));
-    ActionExecutionException actionExecutionException =
-        e.toActionExecutionException("", /* verboseFailures= */ true, null);
+    ActionExecutionException actionExecutionException = e.toActionExecutionException("", null);
     assertWithMessage("got: " + actionExecutionException.getMessage())
         .that(actionExecutionException.getMessage().contains("failed: error executing command"))
         .isTrue();