aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-05-16 12:19:56 -0400
committerNick Mathewson <nickm@torproject.org>2012-05-16 12:19:56 -0400
commit75fc4dbbcabaedc715f0f9e883ccab1c9634e787 (patch)
tree925334cccd4c403870d8a893a178238427c8a167 /src
parentdd749798a436688cbbe3fc23fe6d4f5041a3e015 (diff)
downloadtor-75fc4dbbcabaedc715f0f9e883ccab1c9634e787.tar
tor-75fc4dbbcabaedc715f0f9e883ccab1c9634e787.tar.gz
Make the succeeding parse_http_time tests more obviously right
(When the correct answer is given in terms of seconds since the epoch, it's hard to be sure that it really is the right answer just by reading the code.)
Diffstat (limited to 'src')
-rw-r--r--src/test/test_util.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/test/test_util.c b/src/test/test_util.c
index cc0181c92..f9a83a38a 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -90,9 +90,15 @@ static void
test_util_parse_http_time(void *arg)
{
struct tm a_time;
-
+ char b[ISO_TIME_LEN+1];
(void)arg;
+#define T(s) do { \
+ format_iso_time(b, tor_timegm(&a_time)); \
+ tt_str_op(b, ==, (s)); \
+ b[0]='\0'; \
+ } while (0)
+
/* Test parse_http_time */
test_eq(-1, parse_http_time("", &a_time));
@@ -105,26 +111,37 @@ test_util_parse_http_time(void *arg)
test_eq(0, parse_http_time("Wednesday, 04 Aug 1994 00:48:22 GMT", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Wednesday, 4 Aug 1994 0:48:22 GMT", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Miercoles, 4 Aug 1994 0:48:22 GMT", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Wednesday, 04-Aug-94 00:48:22 GMT", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Wednesday, 4-Aug-94 0:48:22 GMT", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Miercoles, 4-Aug-94 0:48:22 GMT", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Wed Aug 04 00:48:22 1994", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Wed Aug 4 0:48:22 1994", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Mie Aug 4 0:48:22 1994", &a_time));
test_eq((time_t)775961302UL, tor_timegm(&a_time));
+ T("1994-08-04 00:48:22");
test_eq(0, parse_http_time("Sun, 1 Jan 2012 00:00:00 GMT", &a_time));
test_eq((time_t)1325376000UL, tor_timegm(&a_time));
+ T("2012-01-01 00:00:00");
test_eq(0, parse_http_time("Mon, 31 Dec 2012 00:00:00 GMT", &a_time));
test_eq((time_t)1356912000UL, tor_timegm(&a_time));
+ T("2012-12-31 00:00:00");
test_eq(-1, parse_http_time("2004-08-zz 99-99x99 GMT", &a_time));
test_eq(-1, parse_http_time("2011-03-32 00:00:00 GMT", &a_time));
test_eq(-1, parse_http_time("2011-03-30 24:00:00 GMT", &a_time));
@@ -134,6 +151,7 @@ test_util_parse_http_time(void *arg)
test_eq(-1, parse_http_time("2011-00-30 23:59:59 GMT", &a_time));
test_eq(-1, parse_http_time("2011-03-30 23:59", &a_time));
+#undef T
done:
;
}