]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add unit test for isc_time_parsehttptimestamp
authorMark Andrews <marka@isc.org>
Fri, 10 Jan 2014 13:30:41 +0000 (00:30 +1100)
committerMark Andrews <marka@isc.org>
Fri, 10 Jan 2014 13:33:45 +0000 (00:33 +1100)
(cherry picked from commit fd0f3e7cd8bc0e7fd08cc81ceb6ced861b706c97)

lib/isc/tests/Makefile.in
lib/isc/tests/time_test.c [new file with mode: 0644]
util/copyrights

index 66d0b152e0ebcc33c0a67a0de92687830bbcfede..ff69412c483a18ff45ddf0664c6732078ae9cec2 100644 (file)
@@ -38,14 +38,16 @@ OBJS =              isctest.@O@
 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 safe_test.c
+               parse_test.c pool_test.c regex_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@ safe_test@EXEEXT@
+               regex_test@EXEEXT@ safe_test@EXEEXT@ \
+               time_test@EXEEXT@
 
 @BIND9_MAKE_RULES@
 
@@ -97,6 +99,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 (file)
index 0000000..912127b
--- /dev/null
@@ -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 <config.h>
+
+#include <atf-c.h>
+
+#include <isc/time.h>
+#include <isc/result.h>
+
+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());
+}
+
index a3137f25cc32031e4cdaecc73195a5f61eac12d4..09ab0bf524f156c0a198ce098711f966aa850d80 100644 (file)
 ./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
 ./lib/isc/timer_api.c                          C       2009,2012
 ./lib/isc/timer_p.h                            C       2000,2001,2004,2005,2007,2009