On Mon, Jul 11, 2016 at 11:35:05PM +0200, Andreas Schwab wrote:

> Junio C Hamano <gits...@pobox.com> writes:
> 
> >       local_tzoffset: detect errors from tm_to_time_t
> 
> not ok 19 - show date (iso:5758122296 -0400)
> #      
> #                      echo "$time -> $expect" >expect &&
> #                      test-date show:$format "$time" >actual &&
> #                      test_cmp expect actual
> #              
> not ok 20 - show date (iso-local:5758122296 -0400)
> #      
> #                      echo "$time -> $expect" >expect &&
> #                      test-date show:$format "$time" >actual &&
> #                      test_cmp expect actual
> 
> This is outside the range of 32bit time_t.

Yes, that's somewhat the point of the test.

How does it fail for you (what does it look like with "-v")? We may be
able to check for an outcome that matches both cases.

Otherwise, we'll have to skip the test, perhaps with something like the
patch below. I suspect the problem is actually the size of "unsigned
long", not time_t, as we use that internally for a bunch of time
computation.

---
diff --git a/help.c b/help.c
index 19328ea..0cea240 100644
--- a/help.c
+++ b/help.c
@@ -419,6 +419,13 @@ int cmd_version(int argc, const char **argv, const char 
*prefix)
         * with external projects that rely on the output of "git version".
         */
        printf("git version %s\n", git_version_string);
+       while (*++argv) {
+               if (!strcmp(*argv, "--build-options")) {
+                       printf("sizeof-unsigned-long: %d",
+                              (int)sizeof(unsigned long));
+                       /* maybe also save and output GIT-BUILD_OPTIONS? */
+               }
+       }
        return 0;
 }
 
diff --git a/t/t0006-date.sh b/t/t0006-date.sh
index 04ce535..a0b8497 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" 64BIT
+check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" 64BIT
 
 check_parse() {
        echo "$1 -> $2" >expect
diff --git a/t/test-lib.sh b/t/test-lib.sh
index 0055ebb..d592bdc 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -1111,3 +1111,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 64BIT '
+       test 8 -le "$(build_option sizeof-unsigned-long)"
+'
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to