From fd0f3e7cd8bc0e7fd08cc81ceb6ced861b706c97 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Sat, 11 Jan 2014 00:30:41 +1100 Subject: [PATCH] add unit test for isc_time_parsehttptimestamp --- lib/isc/tests/Makefile.in | 10 ++++++-- lib/isc/tests/time_test.c | 49 +++++++++++++++++++++++++++++++++++++++ util/copyrights | 1 + 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 lib/isc/tests/time_test.c diff --git a/lib/isc/tests/Makefile.in b/lib/isc/tests/Makefile.in index daedea27f3..84420fbe3f 100644 --- a/lib/isc/tests/Makefile.in +++ b/lib/isc/tests/Makefile.in @@ -39,14 +39,16 @@ SRCS = isctest.c taskpool_test.c socket_test.c hash_test.c \ lex_test.c \ sockaddr_test.c symtab_test.c task_test.c queue_test.c \ parse_test.c pool_test.c regex_test.c socket_test.c \ - safe_test.c + safe_test.c \ + time_test.c SUBDIRS = TARGETS = taskpool_test@EXEEXT@ socket_test@EXEEXT@ hash_test@EXEEXT@ \ lex_test@EXEEXT@ \ sockaddr_test@EXEEXT@ symtab_test@EXEEXT@ task_test@EXEEXT@ \ queue_test@EXEEXT@ parse_test@EXEEXT@ pool_test@EXEEXT@ \ - regex_test@EXEEXT@ socket_test@EXEEXT@ safe_test@EXEEXT@ + regex_test@EXEEXT@ socket_test@EXEEXT@ safe_test@EXEEXT@ \ + time_test@EXEEXT@ @BIND9_MAKE_RULES@ @@ -98,6 +100,10 @@ safe_test@EXEEXT@: safe_test.@O@ ${ISCDEPLIBS} ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ safe_test.@O@ ${ISCLIBS} ${LIBS} +time_test@EXEEXT@: time_test.@O@ ${ISCDEPLIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ + time_test.@O@ ${ISCLIBS} ${LIBS} + unit:: sh ${top_srcdir}/unit/unittest.sh diff --git a/lib/isc/tests/time_test.c b/lib/isc/tests/time_test.c new file mode 100644 index 0000000000..912127bda7 --- /dev/null +++ b/lib/isc/tests/time_test.c @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC") + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#include + +#include + +#include +#include + +ATF_TC(isc_time_parsehttptimestamp); +ATF_TC_HEAD(isc_time_parsehttptimestamp, tc) { + atf_tc_set_md_var(tc, "descr", "parse http time stamp"); +} +ATF_TC_BODY(isc_time_parsehttptimestamp, tc) { + isc_result_t result; + isc_time_t t, x; + char buf[100]; + + result = isc_time_now(&t); + ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + + isc_time_formathttptimestamp(&t, buf, sizeof(buf)); + result = isc_time_parsehttptimestamp(buf, &x); + ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + ATF_REQUIRE_EQ(isc_time_seconds(&t), isc_time_seconds(&x)); +} + +/* + * Main + */ +ATF_TP_ADD_TCS(tp) { + ATF_TP_ADD_TC(tp, isc_time_parsehttptimestamp); + return (atf_no_error()); +} + diff --git a/util/copyrights b/util/copyrights index 714806cea7..32a2d16a1a 100644 --- a/util/copyrights +++ b/util/copyrights @@ -3294,6 +3294,7 @@ ./lib/isc/tests/symtab_test.c C 2011,2012,2013 ./lib/isc/tests/task_test.c C 2011,2012 ./lib/isc/tests/taskpool_test.c C 2011,2012 +./lib/isc/tests/time_test.c C 2014 ./lib/isc/timer.c C 1998,1999,2000,2001,2002,2004,2005,2007,2008,2009,2011,2012,2013 ./lib/isc/timer_p.h C 2000,2001,2004,2005,2007,2009 ./lib/isc/unix/Makefile.in MAKE 1998,1999,2000,2001,2004,2007,2009,2012