]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t0006: simplify prerequisites
authorJunio C Hamano <gitster@pobox.com>
Tue, 25 Jun 2024 23:12:47 +0000 (16:12 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 26 Jun 2024 00:07:26 +0000 (17:07 -0700)
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>
t/t0006-date.sh

index 3031256d143b154dc1ff5e55ae46a7ffd4c7cf6d..24e8647f263300cdede2840b88c868629285f905 100755 (executable)
@@ -8,6 +8,11 @@ TEST_PASSES_SANITIZE_LEAK=true
 # arbitrary reference time: 2009-08-30 19:20:00
 GIT_TEST_DATE_NOW=1251660000; export GIT_TEST_DATE_NOW
 
+if test_have_prereq TIME_IS_64BIT,TIME_T_IS_64BIT
+then
+       test_set_prereq HAVE_64BIT_TIME
+fi
+
 check_relative() {
        t=$(($GIT_TEST_DATE_NOW - $1))
        echo "$t -> $2" >expect
@@ -80,14 +85,15 @@ check_show raw "$TIME" '1466000000 -0200'
 
 # arbitrary time absurdly far in the future
 FUTURE="5758122296 -0400"
-check_show iso       "$FUTURE" "2152-06-19 18:24:56 -0400" TIME_IS_64BIT,TIME_T_IS_64BIT
-check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" TIME_IS_64BIT,TIME_T_IS_64BIT
+check_show iso       "$FUTURE" "2152-06-19 18:24:56 -0400" HAVE_64BIT_TIME
+check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" HAVE_64BIT_TIME
 
-check_parse() {
+REQUIRE_64BIT_TIME=
+check_parse () {
        echo "$1 -> $2" >expect
-       test_expect_${4:-success} "parse date ($1${3:+ TZ=$3})" "
-       TZ=${3:-$TZ} test-tool date parse '$1' >actual &&
-       test_cmp expect actual
+       test_expect_success $REQUIRE_64BIT_TIME "parse date ($1${3:+ TZ=$3}) -> $2" "
+               TZ=${3:-$TZ} test-tool date parse '$1' >actual &&
+               test_cmp expect actual
        "
 }