t0006: simplify prerequisites
The system must support 64-bit time and its time_t must be 64-bit wide to pass these tests. Combine these two prerequisites together to simplify the tests. In theory, they could be fulfilled independently and tests could require only one without the other, but in practice, these must come hand-in-hand. Update the "check_parse" test helper to pay attention to the REQUIRE_64BIT_TIME variable, which can be set to the HAVE_64BIT_TIME prerequisite so that a parse test can be skipped on 32-bit systems. This will be used in the next step to skip tests for timestamps near the end of year 2099, as 32-bit systems will not be able to express a timestamp beyond 2038 anyway. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Jun 25, 2024 at 16:12 UTC
a59275d5d6ccd5c40e1515bf2e3acc71e7dae8ae
1 file changed
+12
-6
t/t0006-date.sh
+12
-6
@@ -8,6 +8,11 @@ TEST_PASSES_SANITIZE_LEAK=true
8
# arbitrary reference time: 2009-08-30 19:20:00
9
GIT_TEST_DATE_NOW=1251660000; export GIT_TEST_DATE_NOW
10
11
+if test_have_prereq TIME_IS_64BIT,TIME_T_IS_64BIT
12
+then
13
+ test_set_prereq HAVE_64BIT_TIME
14
+fi
15
+
16
check_relative() {
17
t=$(($GIT_TEST_DATE_NOW - $1))
18
echo "$t -> $2" >expect
@@ -80,14 +85,15 @@ check_show raw "$TIME" '1466000000 -0200'
85
86
# arbitrary time absurdly far in the future
87
FUTURE="5758122296 -0400"
83
-check_show iso "$FUTURE" "2152-06-19 18:24:56 -0400" TIME_IS_64BIT,TIME_T_IS_64BIT
84
-check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" TIME_IS_64BIT,TIME_T_IS_64BIT
88
+check_show iso "$FUTURE" "2152-06-19 18:24:56 -0400" HAVE_64BIT_TIME
89
+check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" HAVE_64BIT_TIME
90
86
-check_parse() {
91
+REQUIRE_64BIT_TIME=
92
+check_parse () {
93
echo "$1 -> $2" >expect
88
- test_expect_${4:-success} "parse date ($1${3:+ TZ=$3})" "
89
- TZ=${3:-$TZ} test-tool date parse '$1' >actual &&
90
- test_cmp expect actual
94
+ test_expect_success $REQUIRE_64BIT_TIME "parse date ($1${3:+ TZ=$3}) -> $2" "
95
+ TZ=${3:-$TZ} test-tool date parse '$1' >actual &&
96
+ test_cmp expect actual
97
"
98
}
99