From 6b9c38e14cd3abf9b95cabe8b86954f0c4e94a38 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Mon, 11 Jul 2016 19:54:18 -0400 Subject: t0006: skip "far in the future" test when unsigned long is not long enough Git's source code refers to timestamps as unsigned longs. On 32-bit platforms, as well as on Windows, unsigned long is not large enough to capture dates that are "absurdly far in the future". While we can fix this issue properly by replacing unsigned long with a larger type, we want to be a bit more conservative and just skip those tests on the maint track. Signed-off-by: Jeff King Helped-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- t/t0006-date.sh | 6 +++--- t/test-lib.sh | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 't') diff --git a/t/t0006-date.sh b/t/t0006-date.sh index 04ce53509c..4c8cf58512 100755 --- a/t/t0006-date.sh +++ b/t/t0006-date.sh @@ -31,7 +31,7 @@ check_show () { format=$1 time=$2 expect=$3 - test_expect_${4:-success} "show date ($format:$time)" ' + test_expect_success $4 "show date ($format:$time)" ' echo "$time -> $expect" >expect && test-date show:$format "$time" >actual && test_cmp expect actual @@ -50,8 +50,8 @@ check_show iso-local "$TIME" '2016-06-15 14:13:20 +0000' # arbitrary time absurdly far in the future FUTURE="5758122296 -0400" -check_show iso "$FUTURE" "2152-06-19 18:24:56 -0400" -check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" +check_show iso "$FUTURE" "2152-06-19 18:24:56 -0400" LONG_IS_64BIT +check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" LONG_IS_64BIT check_parse() { echo "$1 -> $2" >expect diff --git a/t/test-lib.sh b/t/test-lib.sh index 51e4a88c33..4595734f95 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -1098,3 +1098,12 @@ run_with_limited_cmdline () { } test_lazy_prereq CMDLINE_LIMIT 'run_with_limited_cmdline true' + +build_option () { + git version --build-options | + sed -ne "s/^$1: //p" +} + +test_lazy_prereq LONG_IS_64BIT ' + test 8 -le "$(build_option sizeof-long)" +' -- cgit v1.2.3