[libc-test] Smoke test localtime
Bug: 138738352
Change-Id: I41c6fee38f63d9392813fd814bfdcc1328a5b3b4
diff --git a/libc-test/libc_test.c b/libc-test/libc_test.c
index 4b49374..cab36b2 100644
--- a/libc-test/libc_test.c
+++ b/libc-test/libc_test.c
@@ -157,6 +157,34 @@
test_abort:;
}
+/* Smoke test because we mocked out timezone functions. */
+TEST_F(libc, localtime) {
+ time_t time = 0;
+ struct tm* result = localtime(&time);
+ ASSERT_NE(NULL, result);
+
+ /* Epoch. */
+ EXPECT_EQ(70, result->tm_year);
+ EXPECT_EQ(0, result->tm_mon);
+ EXPECT_EQ(1, result->tm_mday);
+ EXPECT_EQ(0, result->tm_hour);
+ EXPECT_EQ(0, result->tm_min);
+ EXPECT_EQ(0, result->tm_sec);
+
+ time += 24 * 60 * 60;
+ result = localtime(&time);
+ ASSERT_NE(NULL, result);
+
+ EXPECT_EQ(70, result->tm_year);
+ EXPECT_EQ(0, result->tm_mon);
+ EXPECT_EQ(2, result->tm_mday);
+ EXPECT_EQ(0, result->tm_hour);
+ EXPECT_EQ(0, result->tm_min);
+ EXPECT_EQ(0, result->tm_sec);
+
+test_abort:;
+}
+
TEST_F(libc, snprintf_test) {
char buffer[16];
ASSERT_EQ(17, snprintf(buffer, sizeof(buffer), "%d %x %s...", 12345, 254,