From e1cd936c62cdcd8a2031e899238310a1ec12196d Mon Sep 17 00:00:00 2001 From: "Bernhard M. Wiedemann" Date: Mon, 26 Feb 2018 14:47:54 +0100 Subject: Tests: Fix TIMESTAMP-UnixTime test under SOURCE_DATE_EPOCH=1 The test was expecting timestamps on day 1 in 1970 to start at 86400 but they actually started at 0. This worked without `SOURCE_DATE_EPOCH=1` because after 1972, leap days compensated the offset. Fixes: #17762 --- Tests/CMakeTests/String-TIMESTAMP-UnixTime.cmake | 6 +++--- Tests/CMakeTests/StringTest.cmake.in | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/CMakeTests/String-TIMESTAMP-UnixTime.cmake b/Tests/CMakeTests/String-TIMESTAMP-UnixTime.cmake index a93e7f5..43c9384 100644 --- a/Tests/CMakeTests/String-TIMESTAMP-UnixTime.cmake +++ b/Tests/CMakeTests/String-TIMESTAMP-UnixTime.cmake @@ -11,12 +11,12 @@ string(TIMESTAMP days "%j" UTC) # see if we are somewhere in the right region. math(EXPR years_since_epoch "${year} - 1970") -math(EXPR lower_bound "((${years_since_epoch} * 365) + ${days}) * 86400") +math(EXPR lower_bound "((${years_since_epoch} * 365) + ${days} - 1) * 86400") math(EXPR upper_bound "((${years_since_epoch} * 366) + ${days}) * 86400") -if(unix_time GREATER lower_bound AND unix_time LESS upper_bound) +if(unix_time GREATER_EQUAL lower_bound AND unix_time LESS upper_bound) message("~${unix_time}~") else() - message(FATAL_ERROR "${timestamp} unix time not in expected range [${lower_bound}, ${upper_bound}]") + message(FATAL_ERROR "${timestamp} unix time not in expected range [${lower_bound}, ${upper_bound})") endif() diff --git a/Tests/CMakeTests/StringTest.cmake.in b/Tests/CMakeTests/StringTest.cmake.in index 83655da..566f4b1 100644 --- a/Tests/CMakeTests/StringTest.cmake.in +++ b/Tests/CMakeTests/StringTest.cmake.in @@ -47,7 +47,7 @@ set(TIMESTAMP-AllSpecifiers-STDERR "~[0-9]+(;[0-9]+)*~") set(TIMESTAMP-MonthWeekNames-RESULT 0) set(TIMESTAMP-MonthWeekNames-STDERR "~[^%]+;[^%]+~") set(TIMESTAMP-UnixTime-RESULT 0) -set(TIMESTAMP-UnixTime-STDERR "~[1-9][0-9]+~") +set(TIMESTAMP-UnixTime-STDERR "~[0-9]+~") include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake") check_cmake_test(String -- cgit v0.12