Allow string unsafe test to pass on s390x

Hello,

This test fails on s390x (a big endian platform) due to comparison to a `StandardCharsets.UTF_16LE` encoded string. Changing that to `StandardCharsets.UTF_16BE` on s390x could let the test pass. This test now passes on both intel and s390x.

Thanks.

Closes #11866.

PiperOrigin-RevId: 333452089
diff --git a/src/test/java/com/google/devtools/build/lib/unsafe/StringUnsafeTest.java b/src/test/java/com/google/devtools/build/lib/unsafe/StringUnsafeTest.java
index 2801d52..5dec4b3 100644
--- a/src/test/java/com/google/devtools/build/lib/unsafe/StringUnsafeTest.java
+++ b/src/test/java/com/google/devtools/build/lib/unsafe/StringUnsafeTest.java
@@ -16,6 +16,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 import java.nio.charset.StandardCharsets;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -44,8 +45,14 @@
     StringUnsafe stringUnsafe = StringUnsafe.getInstance();
     assertThat(ByteBuffer.wrap(stringUnsafe.getByteArray("hello")))
         .isEqualTo(StandardCharsets.ISO_8859_1.encode("hello"));
-    assertThat(ByteBuffer.wrap(stringUnsafe.getByteArray("lambda λ")))
-        .isEqualTo(StandardCharsets.UTF_16LE.encode("lambda λ"));
+
+    if (ByteOrder.nativeOrder().equals(ByteOrder.BIG_ENDIAN)) {
+      assertThat(ByteBuffer.wrap(stringUnsafe.getByteArray("lambda λ")))
+          .isEqualTo(StandardCharsets.UTF_16BE.encode("lambda λ"));
+    } else {
+      assertThat(ByteBuffer.wrap(stringUnsafe.getByteArray("lambda λ")))
+          .isEqualTo(StandardCharsets.UTF_16LE.encode("lambda λ"));
+    }
   }
 
   @Test