Fix some test assumptions that are wrong for __LP64__.

Change-Id: Ic79cd5858ceb611640a76bd03f3da4925d3150d9
diff --git a/tests/TemporaryFile.h b/tests/TemporaryFile.h
index 878fb13..b3f085f 100644
--- a/tests/TemporaryFile.h
+++ b/tests/TemporaryFile.h
@@ -19,13 +19,14 @@
 class TemporaryFile {
  public:
   TemporaryFile() {
-#if __BIONIC__
-    const char* tmp_dir = "/data/local/tmp";
-#else
-    const char* tmp_dir = "/tmp";
-#endif
-    snprintf(filename, sizeof(filename), "%s/TemporaryFile-XXXXXX", tmp_dir);
-    fd = mkstemp(filename);
+    // Since we might be running on the host or the target, and if we're
+    // running on the host we might be running under bionic or glibc,
+    // let's just try both possible temporary directories and take the
+    // first one that works.
+    init("/data/local/tmp");
+    if (fd == -1) {
+      init("/tmp");
+    }
   }
 
   ~TemporaryFile() {
@@ -35,4 +36,10 @@
 
   int fd;
   char filename[1024];
+
+ private:
+  void init(const char* tmp_dir) {
+    snprintf(filename, sizeof(filename), "%s/TemporaryFile-XXXXXX", tmp_dir);
+    fd = mkstemp(filename);
+  }
 };
diff --git a/tests/libc_logging_test.cpp b/tests/libc_logging_test.cpp
index 5b10ce3..c44b85b 100644
--- a/tests/libc_logging_test.cpp
+++ b/tests/libc_logging_test.cpp
@@ -121,13 +121,21 @@
 TEST(libc_logging, ld_LONG_MAX) {
   char buf[BUFSIZ];
   __libc_format_buffer(buf, sizeof(buf), "%ld", LONG_MAX);
+#if __LP64__
+  EXPECT_STREQ("9223372036854775807", buf);
+#else
   EXPECT_STREQ("2147483647", buf);
+#endif
 }
 
 TEST(libc_logging, ld_LONG_MIN) {
   char buf[BUFSIZ];
   __libc_format_buffer(buf, sizeof(buf), "%ld", LONG_MIN);
+#if __LP64__
+  EXPECT_STREQ("-9223372036854775808", buf);
+#else
   EXPECT_STREQ("-2147483648", buf);
+#endif
 }
 
 TEST(libc_logging, lld_LLONG_MAX) {
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp
index e47f967..2d9717f 100644
--- a/tests/stdio_test.cpp
+++ b/tests/stdio_test.cpp
@@ -300,13 +300,21 @@
 TEST(stdio, snprintf_ld_LONG_MAX) {
   char buf[BUFSIZ];
   snprintf(buf, sizeof(buf), "%ld", LONG_MAX);
+#if __LP64__
+  EXPECT_STREQ("9223372036854775807", buf);
+#else
   EXPECT_STREQ("2147483647", buf);
+#endif
 }
 
 TEST(stdio, snprintf_ld_LONG_MIN) {
   char buf[BUFSIZ];
   snprintf(buf, sizeof(buf), "%ld", LONG_MIN);
+#if __LP64__
+  EXPECT_STREQ("-9223372036854775808", buf);
+#else
   EXPECT_STREQ("-2147483648", buf);
+#endif
 }
 
 TEST(stdio, snprintf_lld_LLONG_MAX) {