All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] t0006: test timezone parsing
@ 2010-07-04 10:48 Jeff King
  2010-07-04 11:00 ` [PATCH 2/2] parse_date: fix signedness in timezone calculation Jeff King
  2010-07-06  7:01 ` [PATCH 1/2] t0006: test timezone parsing Junio C Hamano
  0 siblings, 2 replies; 11+ messages in thread
From: Jeff King @ 2010-07-04 10:48 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

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>
---
This is a good idea anyway, but it also makes it easy to write a test
for the next patch.

 t/t0006-date.sh |    5 +++--
 test-date.c     |    9 ++++++---
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/t/t0006-date.sh b/t/t0006-date.sh
index 75b02af..3ea4f9e 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 a9e705f..ac6854a 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);
 	}
 }
 
-- 
1.7.2.rc1.209.g2a36c

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-07-07 22:59 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-07-04 10:48 [PATCH 1/2] t0006: test timezone parsing Jeff King
2010-07-04 11:00 ` [PATCH 2/2] parse_date: fix signedness in timezone calculation Jeff King
2010-07-06  2:35   ` Junio C Hamano
2010-07-06 23:34   ` [PATCH] t/t0006: specify timezone as EST5 not EST to comply with POSIX Brandon Casey
2010-07-07  9:48     ` Alex Riesen
2010-07-07 18:12     ` Jeff King
2010-07-07 22:59     ` Andreas Schwab
2010-07-06  7:01 ` [PATCH 1/2] t0006: test timezone parsing Junio C Hamano
2010-07-06  7:28   ` Jeff King
2010-07-06  7:54     ` Jeff King
2010-07-07  5:28       ` Junio C Hamano

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.