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

index 342d25f4918a950eb7c88b12589846571972bba5..dc14aace41c5b76fa92c63f18c29824068056b9e 100644 (file)
@@ -1,4 +1,4 @@
 syntax(2)
 test_suite('bind9')
 
-atf_test_program{name='parser_test'}
+tap_test_program{name='parser_test'}
index 78506208b1bddfc57d876ca6e2a9e69d594ba0fa..9022f94504129c123c4d4189a3f9d398d98b2478 100644 (file)
@@ -27,10 +27,8 @@ DNSDEPLIBS = ../../dns/libdns.@A@
 ISCCFGLIBS =   ../libisccfg.@A@
 ISCCFGDEPLIBS = ../libisccfg.@A@
 
-LIBS =         @LIBS@ @ATFLIBS@
-
-CMOCKA_CFLAGS =        @CMOCKA_CFLAGS@
-CMOCKA_LIBS =  @CMOCKA_LIBS@
+CFLAGS =       @CFLAGS@ @CMOCKA_CFLAGS@
+LIBS =         @LIBS@ @CMOCKA_LIBS@
 
 OBJS =
 SRCS =         parser_test.c
@@ -41,9 +39,9 @@ TARGETS =     parser_test@EXEEXT@
 @BIND9_MAKE_RULES@
 
 parser_test@EXEEXT@: parser_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} ${ISCCFGDEPLIBS}
-       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
-                       parser_test.@O@ ${ISCCFGLIBS} ${DNSLIBS} \
-                       ${ISCLIBS} ${LIBS}
+       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
+               ${LDFLAGS} -o $@ parser_test.@O@ \
+               ${ISCCFGLIBS} ${DNSLIBS} ${ISCLIBS} ${LIBS}
 
 unit::
        sh ${top_builddir}/unit/unittest.sh
index 606bbeb26dc05e0d8ae585720d2121f264781eae..9cadf19a4600d3480c98e65230b00f16aa6c585e 100644 (file)
 
 #include <config.h>
 
-#include <atf-c.h>
+#if HAVE_CMOCKA
+
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 
+#define UNIT_TESTING
+#include <cmocka.h>
+
 #include <isc/buffer.h>
 #include <isc/lex.h>
 #include <isc/log.h>
@@ -52,10 +59,12 @@ static isc_logcategory_t categories[] = {
 
 static void
 cleanup() {
-       if (lctx != NULL)
+       if (lctx != NULL) {
                isc_log_destroy(&lctx);
-       if (mctx != NULL)
+       }
+       if (mctx != NULL) {
                isc_mem_destroy(&mctx);
+       }
 }
 
 static isc_result_t
@@ -89,18 +98,16 @@ setup() {
        return (result);
 }
 
-ATF_TC(parse_buffer);
-ATF_TC_HEAD(parse_buffer, tc) {
-       atf_tc_set_md_var(tc, "descr", "cfg_parse_buffer");
-}
-ATF_TC_BODY(parse_buffer, tc) {
+/* test cfg_parse_buffer() */
+static void
+parse_buffer_test(void **state) {
        isc_result_t result;
        unsigned char text[] = "options\n{\nrecursion yes;\n};\n";
        isc_buffer_t buf1, buf2;
        cfg_parser_t *p1 = NULL, *p2 = NULL;
        cfg_obj_t *c1 = NULL, *c2 = NULL;
 
-       UNUSED(tc);
+       UNUSED(state);
 
        setup();
 
@@ -109,24 +116,24 @@ ATF_TC_BODY(parse_buffer, tc) {
 
        /* Parse with default line numbering */
        result = cfg_parser_create(mctx, lctx, &p1);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        result = cfg_parse_buffer3(p1, &buf1, "text1", 0,
                                   &cfg_type_namedconf, &c1);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
-       ATF_REQUIRE_EQ(p1->line, 5);
+       assert_int_equal(result, ISC_R_SUCCESS);
+       assert_int_equal(p1->line, 5);
 
        isc_buffer_init(&buf2, &text[0], sizeof(text) - 1);
        isc_buffer_add(&buf2, sizeof(text) - 1);
 
        /* Parse with changed line number */
        result = cfg_parser_create(mctx, lctx, &p2);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        result = cfg_parse_buffer3(p2, &buf2, "text2", 100,
                                   &cfg_type_namedconf, &c2);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
-       ATF_REQUIRE_EQ(p2->line, 104);
+       assert_int_equal(result, ISC_R_SUCCESS);
+       assert_int_equal(p2->line, 104);
 
        cfg_obj_destroy(p1, &c1);
        cfg_obj_destroy(p2, &c2);
@@ -137,56 +144,65 @@ ATF_TC_BODY(parse_buffer, tc) {
        cleanup();
 }
 
-ATF_TC(cfg_map_firstclause);
-ATF_TC_HEAD(cfg_map_firstclause, tc) {
-       atf_tc_set_md_var(tc, "descr", "cfg_map_firstclause");
-}
-ATF_TC_BODY(cfg_map_firstclause, tc) {
+/* test cfg_map_firstclause() */
+static void
+cfg_map_firstclause_test(void **state) {
        const char *name = NULL;
        const void *clauses = NULL;
        unsigned int idx;
 
-       UNUSED(tc);
+       UNUSED(state);
 
        name = cfg_map_firstclause(&cfg_type_zoneopts, &clauses, &idx);
-       ATF_CHECK(name != NULL);
-       ATF_CHECK(clauses != NULL);
-       ATF_CHECK_EQ(idx, 0);
+       assert_non_null(name);
+       assert_non_null(clauses);
+       assert_int_equal(idx, 0);
 }
 
-ATF_TC(cfg_map_nextclause);
-ATF_TC_HEAD(cfg_map_nextclause, tc) {
-       atf_tc_set_md_var(tc, "descr", "cfg_map_firstclause");
-}
-ATF_TC_BODY(cfg_map_nextclause, tc) {
+/* test cfg_map_nextclause() */
+static void
+cfg_map_nextclause_test(void **state) {
        const char *name = NULL;
        const void *clauses = NULL;
        unsigned int idx;
 
-       UNUSED(tc);
+       UNUSED(state);
 
        name = cfg_map_firstclause(&cfg_type_zoneopts, &clauses, &idx);
-       ATF_REQUIRE(name != NULL);
-       ATF_REQUIRE(clauses != NULL);
-       ATF_REQUIRE_EQ(idx, ISC_R_SUCCESS);
+       assert_non_null(name);
+       assert_non_null(clauses);
+       assert_int_equal(idx, ISC_R_SUCCESS);
 
        do {
                name = cfg_map_nextclause(&cfg_type_zoneopts, &clauses, &idx);
                if (name != NULL) {
-                       ATF_CHECK(clauses != NULL);
+                       assert_non_null(clauses);
                } else {
-                       ATF_CHECK_EQ(clauses, NULL);
-                       ATF_CHECK_EQ(idx, 0);
+                       assert_null(clauses);
+                       assert_int_equal(idx, 0);
                }
        } while (name != NULL);
 }
 
-/*
- * Main
- */
-ATF_TP_ADD_TCS(tp) {
-       ATF_TP_ADD_TC(tp, parse_buffer);
-       ATF_TP_ADD_TC(tp, cfg_map_firstclause);
-       ATF_TP_ADD_TC(tp, cfg_map_nextclause);
-       return (atf_no_error());
+int
+main(void) {
+       const struct CMUnitTest tests[] = {
+               cmocka_unit_test(parse_buffer_test),
+               cmocka_unit_test(cfg_map_firstclause_test),
+               cmocka_unit_test(cfg_map_nextclause_test),
+       };
+
+       return (cmocka_run_group_tests(tests, NULL, NULL));
+}
+
+#else /* HAVE_CMOCKA */
+
+#include <stdio.h>
+
+int
+main(void) {
+       printf("1..0 # Skipped: cmocka not available\n");
+       return (0);
 }
+
+#endif