aboutsummaryrefslogtreecommitdiff
path: root/src/test/sanity_tests.cpp
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2017-01-16 15:01:37 -0500
committerfanquake <fanquake@gmail.com>2021-02-17 12:26:04 +0800
commit3c2e16be22ae04bf56663ee5ec1554d0d569741b (patch)
tree826d344a5874a6a7c2e71c384288ac4bbc696275 /src/test/sanity_tests.cpp
parent36be9b821ae0882ba5ccba543f959636e413991d (diff)
downloadbitcoin-3c2e16be22ae04bf56663ee5ec1554d0d569741b.tar.xz
time: add runtime sanity check
std::chrono::system_clock.time_since_epoch and time_t(0) are not guaranteed to use the Unix epoch timestamp, but in practice they almost certainly will. Any differing behavior will be assumed to be an error, unless certain platforms prove to consistently deviate, at which point we'll cope with it by adding offsets. Do a quick runtime check to verify that time_t(0) == std::chrono::system_clock's epoch time == unix epoch. Co-authored-by: Anthony Towns <aj@erisian.com.au>
Diffstat (limited to 'src/test/sanity_tests.cpp')
-rw-r--r--src/test/sanity_tests.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/test/sanity_tests.cpp b/src/test/sanity_tests.cpp
index 740b2c72db..3e4b963fe3 100644
--- a/src/test/sanity_tests.cpp
+++ b/src/test/sanity_tests.cpp
@@ -5,6 +5,7 @@
#include <compat/sanity.h>
#include <key.h>
#include <test/util/setup_common.h>
+#include <util/time.h>
#include <boost/test/unit_test.hpp>
@@ -15,6 +16,7 @@ BOOST_AUTO_TEST_CASE(basic_sanity)
BOOST_CHECK_MESSAGE(glibc_sanity_test() == true, "libc sanity test");
BOOST_CHECK_MESSAGE(glibcxx_sanity_test() == true, "stdlib sanity test");
BOOST_CHECK_MESSAGE(ECC_InitSanityCheck() == true, "secp256k1 sanity test");
+ BOOST_CHECK_MESSAGE(ChronoSanityCheck() == true, "chrono epoch test");
}
BOOST_AUTO_TEST_SUITE_END()