summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/msan/tests/msan_test.cc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-02-19 09:19:16 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2013-02-19 09:19:16 +0000
commitea61d08185b8c143d8bb6f625d8c4ed8035c8bd5 (patch)
tree9c1a0431eeecc625e9a5ffff03e7e97ae06683d8 /compiler-rt/lib/msan/tests/msan_test.cc
parent3e62fe8c234b22bb1023c1452f074c9d0d2ecaf5 (diff)
downloadbcm5719-llvm-ea61d08185b8c143d8bb6f625d8c4ed8035c8bd5.tar.gz
bcm5719-llvm-ea61d08185b8c143d8bb6f625d8c4ed8035c8bd5.zip
[sanitizer] Add interceptors for localtime and friends.
llvm-svn: 175499
Diffstat (limited to 'compiler-rt/lib/msan/tests/msan_test.cc')
-rw-r--r--compiler-rt/lib/msan/tests/msan_test.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler-rt/lib/msan/tests/msan_test.cc b/compiler-rt/lib/msan/tests/msan_test.cc
index 7fa6cd2c47f..b30a8dffd79 100644
--- a/compiler-rt/lib/msan/tests/msan_test.cc
+++ b/compiler-rt/lib/msan/tests/msan_test.cc
@@ -807,6 +807,27 @@ TEST(MemorySanitizer, gettimeofday) {
EXPECT_NOT_POISONED(tz.tz_dsttime);
}
+TEST(MemorySanitizer, localtime) {
+ time_t t = 123;
+ struct tm *time = localtime(&t);
+ assert(time != 0);
+ EXPECT_NOT_POISONED(time->tm_sec);
+ EXPECT_NOT_POISONED(time->tm_hour);
+ EXPECT_NOT_POISONED(time->tm_year);
+ EXPECT_NOT_POISONED(time->tm_isdst);
+}
+
+TEST(MemorySanitizer, localtime_r) {
+ time_t t = 123;
+ struct tm time;
+ struct tm *res = localtime_r(&t, &time);
+ assert(res != 0);
+ EXPECT_NOT_POISONED(time.tm_sec);
+ EXPECT_NOT_POISONED(time.tm_hour);
+ EXPECT_NOT_POISONED(time.tm_year);
+ EXPECT_NOT_POISONED(time.tm_isdst);
+}
+
TEST(MemorySanitizer, mmap) {
const int size = 4096;
void *p1, *p2;
OpenPOWER on IntegriCloud