[compiler-rt] r175515 - [sanitizer] Fix FileOps test on Android.
Evgeniy Stepanov
eugeni.stepanov at gmail.com
Tue Feb 19 07:01:05 PST 2013
Author: eugenis
Date: Tue Feb 19 09:01:05 2013
New Revision: 175515
URL: http://llvm.org/viewvc/llvm-project?rev=175515&view=rev
Log:
[sanitizer] Fix FileOps test on Android.
Modified:
compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_libc_test.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_libc_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_libc_test.cc?rev=175515&r1=175514&r2=175515&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_libc_test.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/tests/sanitizer_libc_test.cc Tue Feb 19 09:01:05 2013
@@ -57,8 +57,18 @@ TEST(SanitizerCommon, FileOps) {
u32 uid = GetUid();
char temp_filename[128];
+#ifdef __ANDROID__
+ // I don't know a way to query temp directory location on Android without
+ // going through Java interfaces. The code below is not ideal, but should
+ // work. May require "adb root", but it is needed for almost any use of ASan
+ // on Android already.
+ internal_snprintf(temp_filename, sizeof(temp_filename),
+ "%s/sanitizer_common.tmp.%d",
+ GetEnv("EXTERNAL_STORAGE"), uid);
+#else
internal_snprintf(temp_filename, sizeof(temp_filename),
"/tmp/sanitizer_common.tmp.%d", uid);
+#endif
fd_t fd = OpenFile(temp_filename, true);
EXPECT_NE(fd, kInvalidFd);
EXPECT_EQ(len1, internal_write(fd, str1, len1));
More information about the llvm-commits
mailing list