Migrate Java tests to Truth.
RELNOTES: None.

PiperOrigin-RevId: 157446717
diff --git a/src/test/java/com/google/devtools/build/lib/shell/CommandTest.java b/src/test/java/com/google/devtools/build/lib/shell/CommandTest.java
index 5908da1..caa4b42 100644
--- a/src/test/java/com/google/devtools/build/lib/shell/CommandTest.java
+++ b/src/test/java/com/google/devtools/build/lib/shell/CommandTest.java
@@ -14,21 +14,14 @@
 package com.google.devtools.build.lib.shell;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 import static com.google.devtools.build.lib.shell.TestUtil.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import com.google.common.collect.ImmutableMap;
 import com.google.devtools.build.lib.testutil.BlazeTestUtils;
 import com.google.devtools.build.lib.testutil.TestConstants;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -39,6 +32,10 @@
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
 
 /**
  * Unit tests for {@link Command}. This test will only succeed on Linux,
@@ -95,7 +92,7 @@
     for (final String key : env.keySet()) {
       assertThat(command.getEnvironmentVariables()).containsEntry(key, env.get(key));
     }
-    assertEquals(workingDir, command.getWorkingDirectory());
+    assertThat(command.getWorkingDirectory()).isEqualTo(workingDir);
   }
 
   // Platform-dependent tests ------------------------------------------------
@@ -104,8 +101,8 @@
   public void testSimpleCommand() throws Exception {
     final Command command = new Command(new String[] {"ls"});
     final CommandResult result = command.execute();
-    assertTrue(result.getTerminationStatus().success());
-    assertEquals(0, result.getStderr().length);
+    assertThat(result.getTerminationStatus().success()).isTrue();
+    assertThat(result.getStderr()).isEmpty();
     assertThat(result.getStdout().length).isGreaterThan(0);
   }
 
@@ -141,8 +138,8 @@
                                                        "-e",
                                                        "print 'a'x100000" });
     final CommandResult result = command.execute();
-    assertTrue(result.getTerminationStatus().success());
-    assertEquals(0, result.getStderr().length);
+    assertThat(result.getTerminationStatus().success()).isTrue();
+    assertThat(result.getStderr()).isEmpty();
     assertThat(result.getStdout().length).isGreaterThan(0);
   }
 
@@ -159,16 +156,16 @@
   public void testHugeOutput() throws Exception {
     final Command command = new Command(new String[] {"perl", "-e", "print 'a'x100000"});
     final CommandResult result = command.execute();
-    assertTrue(result.getTerminationStatus().success());
-    assertEquals(0, result.getStderr().length);
-    assertEquals(100000, result.getStdout().length);
+    assertThat(result.getTerminationStatus().success()).isTrue();
+    assertThat(result.getStderr()).isEmpty();
+    assertThat(result.getStdout()).hasLength(100000);
   }
 
   @Test
   public void testIgnoreOutput() throws Exception {
     final Command command = new Command(new String[] {"perl", "-e", "print 'a'x100000"});
     final CommandResult result = command.execute(Command.NO_INPUT, null, true);
-    assertTrue(result.getTerminationStatus().success());
+    assertThat(result.getTerminationStatus().success()).isTrue();
     try {
       result.getStdout();
       fail("Should have thrown IllegalStateException");
@@ -191,7 +188,7 @@
     ByteArrayOutputStream err = new ByteArrayOutputStream();
     CommandResult result = command.execute(emptyInput,
                                            Command.NO_OBSERVER, out, err);
-    assertTrue(result.getTerminationStatus().success());
+    assertThat(result.getTerminationStatus().success()).isTrue();
     assertThat(out.toString("UTF-8")).isEmpty();
     assertThat(err.toString("UTF-8")).isEmpty();
   }
@@ -200,7 +197,7 @@
   public void testNoInputForCat() throws Exception {
     final Command command = new Command(new String[]{"/bin/cat"});
     CommandResult result = command.execute();
-    assertTrue(result.getTerminationStatus().success());
+    assertThat(result.getTerminationStatus().success()).isTrue();
     assertThat(new String(result.getStdout(), "UTF-8")).isEmpty();
     assertThat(new String(result.getStderr(), "UTF-8")).isEmpty();
   }
@@ -212,8 +209,8 @@
     ByteArrayOutputStream stdOut = new ByteArrayOutputStream();
     ByteArrayOutputStream stdErr = new ByteArrayOutputStream();
     command.execute(Command.NO_INPUT, Command.NO_OBSERVER, stdOut, stdErr);
-    assertEquals(helloWorld + "\n", stdOut.toString("UTF-8"));
-    assertEquals(0, stdErr.toByteArray().length);
+    assertThat(stdOut.toString("UTF-8")).isEqualTo(helloWorld + "\n");
+    assertThat(stdErr.toByteArray()).isEmpty();
   }
 
   @Test
@@ -225,8 +222,8 @@
     FutureCommandResult result =
         command.executeAsynchronously(Command.NO_INPUT);
     result.get();
-    assertTrue(tempFile.exists());
-    assertTrue(result.isDone());
+    assertThat(tempFile.exists()).isTrue();
+    assertThat(result.isDone()).isTrue();
     tempFile.delete();
   }
 
@@ -236,14 +233,14 @@
     final SimpleKillableObserver observer = new SimpleKillableObserver();
     FutureCommandResult result =
         command.executeAsynchronously(Command.NO_INPUT, observer);
-    assertFalse(result.isDone());
+    assertThat(result.isDone()).isFalse();
     observer.kill();
     try {
       result.get();
     } catch (AbnormalTerminationException e) {
       // Expects, but does not insist on termination with a signal.
     }
-    assertTrue(result.isDone());
+    assertThat(result.isDone()).isTrue();
   }
 
   @Test
@@ -260,8 +257,8 @@
         stdOut,
         stdErr);
     result.get(); // Make sure the process actually finished
-    assertEquals(helloWorld + "\n", stdOut.toString("UTF-8"));
-    assertEquals(0, stdErr.toByteArray().length);
+    assertThat(stdOut.toString("UTF-8")).isEqualTo(helloWorld + "\n");
+    assertThat(stdErr.toByteArray()).isEmpty();
   }
 
   @Test
@@ -336,9 +333,9 @@
       String args[] = { "/bin/sh", "-c", "exit 0" };
       CommandResult result = new Command(args).execute();
       TerminationStatus status = result.getTerminationStatus();
-      assertTrue(status.success());
-      assertTrue(status.exited());
-      assertEquals(0, status.getExitCode());
+      assertThat(status.success()).isTrue();
+      assertThat(status.exited()).isTrue();
+      assertThat(status.getExitCode()).isEqualTo(0);
     }
 
     // Every exit value in range [1-255] is reported as such (except [129-191],
@@ -352,10 +349,10 @@
         assertThat(e).hasMessage("Process exited with status " + exit);
         checkCommandElements(e, "/bin/sh", "-c", "exit " + exit);
         TerminationStatus status = e.getResult().getTerminationStatus();
-        assertFalse(status.success());
-        assertTrue(status.exited());
-        assertEquals(exit, status.getExitCode());
-        assertEquals("Exit " + exit , status.toShortString());
+        assertThat(status.success()).isFalse();
+        assertThat(status.exited()).isTrue();
+        assertThat(status.getExitCode()).isEqualTo(exit);
+        assertThat(status.toShortString()).isEqualTo("Exit " + exit);
       }
     }
 
@@ -370,10 +367,10 @@
         assertThat(e).hasMessage("Process exited with status " + expected);
         checkCommandElements(e, "/bin/bash", "-c", "exit " + exit);
         TerminationStatus status = e.getResult().getTerminationStatus();
-        assertFalse(status.success());
-        assertTrue(status.exited());
-        assertEquals(expected, status.getExitCode());
-        assertEquals("Exit " + expected, status.toShortString());
+        assertThat(status.success()).isFalse();
+        assertThat(status.exited()).isTrue();
+        assertThat(status.getExitCode()).isEqualTo(expected);
+        assertThat(status.toShortString()).isEqualTo("Exit " + expected);
       }
     }
   }
@@ -395,9 +392,9 @@
         assertThat(e).hasMessage("Process terminated by signal " + signal);
         checkCommandElements(e, killmyself, "" + signal);
         TerminationStatus status = e.getResult().getTerminationStatus();
-        assertFalse(status.success());
-        assertFalse(status.exited());
-        assertEquals(signal, status.getTerminatingSignal());
+        assertThat(status.success()).isFalse();
+        assertThat(status.exited()).isFalse();
+        assertThat(status.getTerminatingSignal()).isEqualTo(signal);
 
         switch (signal) {
           case 1:  assertEquals("Hangup",     status.toShortString()); break;
@@ -464,7 +461,7 @@
 
     CommandResult result = command.execute(in, Command.NO_OBSERVER, out, out);
     TerminationStatus status = result.getTerminationStatus();
-    assertTrue(status.success());
+    assertThat(status.success()).isTrue();
   }
 
   @Test
@@ -489,14 +486,14 @@
       }
     };
     command.execute(Command.NO_INPUT, Command.NO_OBSERVER, out, System.err);
-    assertFalse(flushed[0]);
-    assertFalse(flushed[1]); // 'F'
-    assertFalse(flushed[2]); // 'o'
-    assertTrue(flushed[3]);  // 'o'   <- expect flush here.
-    assertFalse(flushed[4]); // 'B'
-    assertFalse(flushed[5]); // 'a'
-    assertFalse(flushed[6]); // 'r'
-    assertTrue(flushed[7]);  // '\n'
+    assertThat(flushed[0]).isFalse();
+    assertThat(flushed[1]).isFalse(); // 'F'
+    assertThat(flushed[2]).isFalse(); // 'o'
+    assertThat(flushed[3]).isTrue(); // 'o'   <- expect flush here.
+    assertThat(flushed[4]).isFalse(); // 'B'
+    assertThat(flushed[5]).isFalse(); // 'a'
+    assertThat(flushed[6]).isFalse(); // 'r'
+    assertThat(flushed[7]).isTrue(); // '\n'
   }
 
   // See also InterruptibleTest.
@@ -528,9 +525,9 @@
     commandThread.join();
 
     final CommandResult result = resultContainer[0];
-    assertTrue(result.getTerminationStatus().success());
-    assertEquals(0, result.getStderr().length);
-    assertEquals(0, result.getStdout().length);
+    assertThat(result.getTerminationStatus().success()).isTrue();
+    assertThat(result.getStderr()).isEmpty();
+    assertThat(result.getStdout()).isEmpty();
   }
 
   @Test
@@ -570,12 +567,13 @@
       TerminationStatus status = e.getResult().getTerminationStatus();
       // Subprocess either gets a SIGPIPE trying to write to our output stream,
       // or it exits with failure.  Both are observed, nondetermistically.
-      assertTrue(status.exited()
-                 ? status.getExitCode() == 1
-                 : status.getTerminatingSignal() == 13);
-      assertTrue(e.getMessage(),
-          e.getMessage().endsWith("also encountered an error while attempting "
-                                  + "to retrieve output"));
+      assertThat(status.exited() ? status.getExitCode() == 1 : status.getTerminatingSignal() == 13)
+          .isTrue();
+      assertWithMessage(e.getMessage())
+          .that(
+              e.getMessage()
+                  .endsWith("also encountered an error while attempting " + "to retrieve output"))
+          .isTrue();
     }
   }
 
@@ -622,8 +620,8 @@
     TimeoutKillableObserver observer = new TimeoutKillableObserver(LONG_TIME);
     observer.startObserving(killable);
     observer.stopObserving(killable);
-    assertFalse(observer.hasTimedOut());
-    assertFalse(killable.getIsKilled());
+    assertThat(observer.hasTimedOut()).isFalse();
+    assertThat(killable.getIsKilled()).isFalse();
   }
 
   @Test
@@ -633,8 +631,8 @@
     observer.startObserving(killable);
     killable.sleepUntilKilled(SHORT_TIME);
     observer.stopObserving(killable);
-    assertFalse(observer.hasTimedOut());
-    assertFalse(killable.getIsKilled());
+    assertThat(observer.hasTimedOut()).isFalse();
+    assertThat(killable.getIsKilled()).isFalse();
   }
 
   @Test
@@ -644,8 +642,8 @@
     observer.startObserving(killable);
     killable.sleepUntilKilled(LONG_TIME);
     observer.stopObserving(killable);
-    assertTrue(observer.hasTimedOut());
-    assertTrue(killable.getIsKilled());
+    assertThat(observer.hasTimedOut()).isTrue();
+    assertThat(killable.getIsKilled()).isTrue();
   }
 
   @Test
@@ -655,8 +653,8 @@
     observer.startObserving(killable);
     killable.sleepUntilKilled(LONG_TIME);
     observer.stopObserving(killable);
-    assertTrue(observer.hasTimedOut());
-    assertTrue(killable.getIsKilled());
+    assertThat(observer.hasTimedOut()).isTrue();
+    assertThat(killable.getIsKilled()).isTrue();
   }
 
   private static void checkCommandElements(CommandException e,
@@ -666,14 +664,14 @@
 
   private static void checkATE(final AbnormalTerminationException ate) {
     final CommandResult result = ate.getResult();
-    assertFalse(result.getTerminationStatus().success());
+    assertThat(result.getTerminationStatus().success()).isFalse();
   }
 
   private static void checkSuccess(final CommandResult result,
                                    final String expectedOutput) {
-    assertTrue(result.getTerminationStatus().success());
-    assertEquals(0, result.getStderr().length);
-    assertEquals(expectedOutput, new String(result.getStdout()));
+    assertThat(result.getTerminationStatus().success()).isTrue();
+    assertThat(result.getStderr()).isEmpty();
+    assertThat(new String(result.getStdout())).isEqualTo(expectedOutput);
   }
 
   @Test