Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
t0006: test timezone parsing
author
Jeff King
<peff@peff.net>
Sun, 4 Jul 2010 10:48:35 +0000
(06:48 -0400)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 5 Jul 2010 18:54:50 +0000
(11:54 -0700)
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>
t/t0006-date.sh
patch
|
blob
|
history
test-date.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
2c64034
)
diff --git
a/t/t0006-date.sh
b/t/t0006-date.sh
index 75b02af86d4d613fac91b3cec28044e3b7f6274e..3ea4f9eff923c963aeb9635be6d77dce99f3bf4a 100755
(executable)
--- 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
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
"
}
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 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
check_approxidate() {
echo "$1 -> $2 +0000" >expect
diff --git
a/test-date.c
b/test-date.c
index a9e705f79a148790f4de55c7918dc9c669382a4f..ac6854a541ec762a68b01bbc5f591c6c49d71cac 100644
(file)
--- 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;
for (; *argv; argv++) {
char result[100];
time_t t;
+ int tz;
result[0] = 0;
parse_date(*argv, result, sizeof(result));
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);
}
}
}
}