diff options
author | Jeff King <peff@peff.net> | 2010-07-04 06:48:35 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-07-05 11:54:50 -0700 |
commit | 6b097788f88a29d6e171af7a9e87117cf992e833 (patch) | |
tree | 84766fade9042215098fedba4aa698b6190dee51 | |
parent | rerere.txt: Document forget subcommand (diff) | |
download | tgif-6b097788f88a29d6e171af7a9e87117cf992e833.tar.xz |
t0006: test timezone parsing
Previously, test-date simply ignored the parsed timezone and
told show_date() to use UTC. Instead, let's print out what
we actually parsed.
While we're at it, let's make it easy for tests to work in a specific
timezone.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t0006-date.sh | 5 | ||||
-rw-r--r-- | test-date.c | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/t/t0006-date.sh b/t/t0006-date.sh index 75b02af86d..3ea4f9eff9 100755 --- a/t/t0006-date.sh +++ b/t/t0006-date.sh @@ -28,8 +28,8 @@ check_show 31449600 '12 months ago' check_parse() { echo "$1 -> $2" >expect - test_expect_${3:-success} "parse date ($1)" " - test-date parse '$1' >actual && + test_expect_${4:-success} "parse date ($1${3:+ TZ=$3})" " + TZ=${3:-$TZ} test-date parse '$1' >actual && test_cmp expect actual " } @@ -38,6 +38,7 @@ check_parse 2008 bad check_parse 2008-02 bad check_parse 2008-02-14 bad check_parse '2008-02-14 20:30:45' '2008-02-14 20:30:45 +0000' +check_parse '2008-02-14 20:30:45 -0500' '2008-02-14 20:30:45 -0500' check_approxidate() { echo "$1 -> $2 +0000" >expect diff --git a/test-date.c b/test-date.c index a9e705f79a..ac6854a541 100644 --- a/test-date.c +++ b/test-date.c @@ -21,12 +21,15 @@ static void parse_dates(char **argv, struct timeval *now) for (; *argv; argv++) { char result[100]; time_t t; + int tz; result[0] = 0; parse_date(*argv, result, sizeof(result)); - t = strtoul(result, NULL, 0); - printf("%s -> %s\n", *argv, - t ? show_date(t, 0, DATE_ISO8601) : "bad"); + if (sscanf(result, "%ld %d", &t, &tz) == 2) + printf("%s -> %s\n", + *argv, show_date(t, tz, DATE_ISO8601)); + else + printf("%s -> bad\n", *argv); } } |