summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeTests
diff options
context:
space:
mode:
authorBernhard M. Wiedemann <bwiedemann@suse.de>2018-02-26 13:47:54 (GMT)
committerBrad King <brad.king@kitware.com>2018-02-26 15:35:30 (GMT)
commite1cd936c62cdcd8a2031e899238310a1ec12196d (patch)
tree84f7e3c234810cc346c888b5d2e80f4e119d6dc7 /Tests/CMakeTests
parent9c1efb614dee294cb3a1077e8a232573f309c605 (diff)
downloadCMake-e1cd936c62cdcd8a2031e899238310a1ec12196d.zip
CMake-e1cd936c62cdcd8a2031e899238310a1ec12196d.tar.gz
CMake-e1cd936c62cdcd8a2031e899238310a1ec12196d.tar.bz2
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
Diffstat (limited to 'Tests/CMakeTests')
-rw-r--r--Tests/CMakeTests/String-TIMESTAMP-UnixTime.cmake6
-rw-r--r--Tests/CMakeTests/StringTest.cmake.in2
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