aboutsummaryrefslogtreecommitdiff
path: root/tests/time_test.cpp
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2017-12-20 08:56:18 -0800
committerMark Salyzyn <salyzyn@google.com>2017-12-20 12:36:57 -0800
commit0b846e8c66239090f69faf307ebeb0b4e0dee9e9 (patch)
treece7d93cb73ecd4eb89d4f0609123de961a13feb0 /tests/time_test.cpp
parent777d7c791488c9c7be7ec3d6e47fd02b0baee8bf (diff)
downloadbionic-0b846e8c66239090f69faf307ebeb0b4e0dee9e9.tar.gz
bionic: test: time()
Validate return values from time(), confirm progression. Test: bionic-unit-tests --gtest_filter=time.time Bug: 63737556 Change-Id: I08186780c42ded9648b3e788bb2caa2210d00dab
Diffstat (limited to 'tests/time_test.cpp')
-rw-r--r--tests/time_test.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/time_test.cpp b/tests/time_test.cpp
index 7a96760c2..fccff6737 100644
--- a/tests/time_test.cpp
+++ b/tests/time_test.cpp
@@ -31,6 +31,31 @@
#include "private/bionic_constants.h"
+TEST(time, time) {
+ // Acquire time
+ time_t p1, t1 = time(&p1);
+ // valid?
+ ASSERT_NE(static_cast<time_t>(0), t1);
+ ASSERT_NE(static_cast<time_t>(-1), t1);
+ ASSERT_EQ(p1, t1);
+
+ // Acquire time one+ second later
+ usleep(1010000);
+ time_t p2, t2 = time(&p2);
+ // valid?
+ ASSERT_NE(static_cast<time_t>(0), t2);
+ ASSERT_NE(static_cast<time_t>(-1), t2);
+ ASSERT_EQ(p2, t2);
+
+ // Expect time progression
+ ASSERT_LT(p1, p2);
+ ASSERT_LE(t2 - t1, static_cast<time_t>(2));
+
+ // Expect nullptr call to produce same results
+ ASSERT_LE(t2, time(nullptr));
+ ASSERT_LE(time(nullptr) - t2, static_cast<time_t>(1));
+}
+
TEST(time, gmtime) {
time_t t = 0;
tm* broken_down = gmtime(&t);