diff --git a/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java b/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java
index c118bad..6574e7b 100644
--- a/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/assertions/RemoveAssertionsTest.java
@@ -179,17 +179,17 @@
     // Assertion is hit.
     result = ToolHelper.runJava(buildTestToCf(options -> {}), "-ea", main, "0");
     assertEquals(1, result.exitCode);
-    assertEquals("1\n", result.stdout);
+    assertEquals("1\n".replace("\n", System.lineSeparator()), result.stdout);
     // Assertion is not hit.
     result = ToolHelper.runJava(buildTestToCf(options -> {}), "-ea", main, "1");
     assertEquals(0, result.exitCode);
-    assertEquals("1\n2\n", result.stdout);
+    assertEquals("1\n2\n".replace("\n", System.lineSeparator()), result.stdout);
     // Assertion is hit, but removed.
     result = ToolHelper.runJava(
         buildTestToCf(
             options -> options.disableAssertions = true), "-ea", main, "0");
     assertEquals(0, result.exitCode);
-    assertEquals("1\n2\n", result.stdout);
+    assertEquals("1\n2\n".replace("\n", System.lineSeparator()), result.stdout);
   }
 
   private byte[] identity(byte[] classBytes) {
@@ -225,8 +225,10 @@
     // Assertions not removed when default assertion code is not present.
     app = runRegress110887293(this::chromiumAssertionEnabler);
     assertEquals(
-        "1\nGot AssertionError java.lang.AssertionError\n2\n",
+        "1\nGot AssertionError java.lang.AssertionError\n2\n".replace("\n", System.lineSeparator()),
         runOnArt(app, ClassWithAssertions.class.getCanonicalName(), "0"));
-    assertEquals("1\n2\n", runOnArt(app, ClassWithAssertions.class.getCanonicalName(), "1"));
+    assertEquals(
+        "1\n2\n".replace("\n", System.lineSeparator()),
+        runOnArt(app, ClassWithAssertions.class.getCanonicalName(), "1"));
   }
 }
