diff options
-rw-r--r-- | lib/System/Unix/TimeValue.inc | 2 | ||||
-rw-r--r-- | unittests/Support/System.cpp | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/lib/System/Unix/TimeValue.inc b/lib/System/Unix/TimeValue.inc index 1ae8c7184d..d8cc8f55ee 100644 --- a/lib/System/Unix/TimeValue.inc +++ b/lib/System/Unix/TimeValue.inc @@ -48,7 +48,7 @@ TimeValue TimeValue::now() { } return TimeValue( - static_cast<TimeValue::SecondsType>( the_time.tv_sec ), + static_cast<TimeValue::SecondsType>( the_time.tv_sec + PosixZeroTime.seconds_ ), static_cast<TimeValue::NanoSecondsType>( the_time.tv_usec * NANOSECONDS_PER_MICROSECOND ) ); } diff --git a/unittests/Support/System.cpp b/unittests/Support/System.cpp new file mode 100644 index 0000000000..b3dd17d380 --- /dev/null +++ b/unittests/Support/System.cpp @@ -0,0 +1,16 @@ +//===- llvm/unittest/Support/System.cpp - System tests --===// +#include "gtest/gtest.h" +#include "llvm/System/TimeValue.h" +#include <time.h> + +using namespace llvm; +namespace { +class SystemTest : public ::testing::Test { +}; + +TEST_F(SystemTest, TimeValue) { + sys::TimeValue now = sys::TimeValue::now(); + time_t now_t = time(NULL); + EXPECT_TRUE(abs(now_t - now.toEpochTime()) < 2); +} +} |