]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
convert listenlist_test; remove ATF from lib/ns/tests
authorEvan Hunt <each@isc.org>
Wed, 24 Oct 2018 17:10:59 +0000 (10:10 -0700)
committerEvan Hunt <each@isc.org>
Thu, 15 Nov 2018 04:17:04 +0000 (20:17 -0800)
lib/ns/tests/Kyuafile
lib/ns/tests/Makefile.in
lib/ns/tests/listenlist_test.c

index cc07b8fde50c41469161d0284c51f8d314b04896..ca15d6fb8424a42f0d8d9008309cf8da7f25f6e6 100644 (file)
@@ -1,6 +1,6 @@
 syntax(2)
 test_suite('bind9')
 
-atf_test_program{name='listenlist_test'}
+tap_test_program{name='listenlist_test'}
 tap_test_program{name='notify_test'}
 tap_test_program{name='query_test'}
index a814c113847ae78c2b55407f2e0110836daeb4b4..61a66a9124b1f4f15306eecd4976a8d328d9f57f 100644 (file)
@@ -26,10 +26,9 @@ DNSDEPLIBS = ../../dns/libdns.@A@
 NSLIBS =       ../libns.@A@
 NSDEPLIBS =    ../libns.@A@
 
-LIBS =         @LIBS@ @ATFLIBS@
+CFLAGS =       @CFLAGS@ @CMOCKA_CFLAGS@
+LIBS =         @LIBS@ @CMOCKA_LIBS@
 
-CMOCKA_CFLAGS =        @CMOCKA_CFLAGS@
-CMOCKA_LIBS =  @CMOCKA_LIBS@
 
 OBJS =         nstest.@O@
 SRCS =         nstest.c \
@@ -45,19 +44,19 @@ TARGETS =   listenlist_test@EXEEXT@ \
 @BIND9_MAKE_RULES@
 
 listenlist_test@EXEEXT@: listenlist_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
-       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
-                       listenlist_test.@O@ nstest.@O@ ${NSLIBS} ${DNSLIBS} \
-                               ${ISCLIBS} ${LIBS}
+       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
+               ${LDFLAGS} -o $@ listenlist_test.@O@ nstest.@O@ \
+               ${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
 
 notify_test@EXEEXT@: notify_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
-       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \
+       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
                ${LDFLAGS} -o $@ notify_test.@O@ nstest.@O@ \
-               ${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS}
+               ${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
 
 query_test@EXEEXT@: query_test.@O@ nstest.@O@ ${NSDEPLIBS} ${ISCDEPLIBS} ${DNSDEPLIBS}
-       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \
+       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
                ${LDFLAGS} -o $@ query_test.@O@ nstest.@O@ \
-               ${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS}
+               ${NSLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
 
 unit::
        sh ${top_builddir}/unit/unittest.sh
index a4f7d6e78d59ee77c300d34bbba132aed9087095..4367b297b03f71fc719d176419f89a3b9b160eb7 100644 (file)
@@ -9,17 +9,25 @@
  * information regarding copyright ownership.
  */
 
-/*! \file */
-
 #include <config.h>
 
-#include <atf-c.h>
+#if HAVE_CMOCKA
+
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
 
+#include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #include <unistd.h>
 
+#define UNIT_TESTING
+#include <cmocka.h>
+
 #include <isc/list.h>
 #include <isc/print.h>
+#include <isc/util.h>
 
 #include <dns/acl.h>
 
 
 #include "nstest.h"
 
-/*
- * Helper functions
- */
+static int
+_setup(void **state) {
+       isc_result_t result;
+
+       UNUSED(state);
+
+       result = ns_test_begin(NULL, true);
+       assert_int_equal(result, ISC_R_SUCCESS);
+
+       return (0);
+}
+
+static int
+_teardown(void **state) {
+       UNUSED(state);
+
+       ns_test_end();
 
-ATF_TC(ns_listenlist_default);
-ATF_TC_HEAD(ns_listenlist_default, tc) {
-       atf_tc_set_md_var(tc, "descr", "test that ns_listenlist_default works");
+       return (0);
 }
-ATF_TC_BODY(ns_listenlist_default, tc) {
+
+/* test that ns_listenlist_default() works */
+static void
+ns_listenlist_default_test(void **state) {
        isc_result_t result;
        ns_listenlist_t *list = NULL;
        ns_listenelt_t *elt;
        int count;
 
-       UNUSED(tc);
-
-       result = ns_test_begin(NULL, false);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       UNUSED(state);
 
        result = ns_listenlist_default(mctx, 5300, -1, false, &list);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
-       ATF_REQUIRE(list != NULL);
+       assert_int_equal(result, ISC_R_SUCCESS);
+       assert_non_null(list);
 
-       ATF_CHECK(!ISC_LIST_EMPTY(list->elts));
+       assert_false(ISC_LIST_EMPTY(list->elts));
 
        count = 0;
        elt = ISC_LIST_HEAD(list->elts);
@@ -63,42 +83,54 @@ ATF_TC_BODY(ns_listenlist_default, tc) {
                ns_listenelt_destroy(elt);
                elt = next;
 
-               ATF_CHECK(dns_acl_isnone(acl));
+               assert_true(dns_acl_isnone(acl));
                dns_acl_detach(&acl);
                count++;
        }
 
-       ATF_CHECK(ISC_LIST_EMPTY(list->elts));
-       ATF_CHECK_EQ(count, 1);
+       assert_true(ISC_LIST_EMPTY(list->elts));
+       assert_int_equal(count, 1);
 
        ns_listenlist_detach(&list);
 
        result = ns_listenlist_default(mctx, 5300, -1, true, &list);
-       ATF_CHECK_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
-       ATF_CHECK(!ISC_LIST_EMPTY(list->elts));
+       assert_false(ISC_LIST_EMPTY(list->elts));
 
        /* This time just use ns_listenlist_detach() to destroy elements */
        count = 0;
        elt = ISC_LIST_HEAD(list->elts);
        while (elt != NULL) {
                ns_listenelt_t *next = ISC_LIST_NEXT(elt, link);
-               ATF_CHECK(dns_acl_isany(elt->acl));
+               assert_true(dns_acl_isany(elt->acl));
                elt = next;
                count++;
        }
 
-       ATF_CHECK_EQ(count, 1);
+       assert_int_equal(count, 1);
 
        ns_listenlist_detach(&list);
+}
 
-       ns_test_end();
+int
+main(void) {
+       const struct CMUnitTest tests[] = {
+               cmocka_unit_test_setup_teardown(ns_listenlist_default_test,
+                                               _setup, _teardown),
+       };
+
+       return (cmocka_run_group_tests(tests, NULL, NULL));
 }
 
-/*
- * Main
- */
-ATF_TP_ADD_TCS(tp) {
-       ATF_TP_ADD_TC(tp, ns_listenlist_default);
-       return (atf_no_error());
+#else /* HAVE_CMOCKA */
+
+#include <stdio.h>
+
+int
+main(void) {
+       printf("1..0 # Skipped: cmocka not available\n");
+       return (0);
 }
+
+#endif