]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
convert lex_test
authorEvan Hunt <each@isc.org>
Wed, 24 Oct 2018 05:33:45 +0000 (22:33 -0700)
committerEvan Hunt <each@isc.org>
Thu, 15 Nov 2018 04:17:04 +0000 (20:17 -0800)
lib/isc/tests/Kyuafile
lib/isc/tests/Makefile.in
lib/isc/tests/lex_test.c

index f4b02430c396829c6327a476c4fe6d8779fc0695..5a871c9d832b20e477d0b69ba402bc647de9b439 100644 (file)
@@ -10,7 +10,7 @@ atf_test_program{name='hash_test'}
 tap_test_program{name='heap_test'}
 tap_test_program{name='hmac_test'}
 atf_test_program{name='ht_test'}
-atf_test_program{name='lex_test'}
+tap_test_program{name='lex_test'}
 tap_test_program{name='md_test'}
 atf_test_program{name='mem_test'}
 atf_test_program{name='netaddr_test'}
index 92f5731f326e6f65547904de13248af99f96b12a..fb082e690b80f58c6dfb6dc83c3db20514f1142f 100644 (file)
@@ -99,8 +99,9 @@ ht_test@EXEEXT@: ht_test.@O@ ${ISCDEPLIBS}
                        ht_test.@O@ ${ISCLIBS} ${LIBS}
 
 lex_test@EXEEXT@: lex_test.@O@ ${ISCDEPLIBS}
-       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
-                       lex_test.@O@ ${ISCLIBS} ${LIBS}
+       ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \
+               ${LDFLAGS} -o $@ lex_test.@O@ \
+               ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS}
 
 md_test@EXEEXT@: md_test.@O@ ${ISCDEPLIBS}
        ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} ${LDFLAGS} -o $@ \
index 1315022634df69572fbb3918ad16f20122958360..cb485f670616ced0be9c2b2085a219300c06022d 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/mem.h>
 #include <isc/util.h>
 
-ATF_TC(lex_0xff);
-ATF_TC_HEAD(lex_0xff, tc) {
-       atf_tc_set_md_var(tc, "descr", "check handling of 0xff");
-}
-ATF_TC_BODY(lex_0xff, tc) {
+/* check handling of 0xff */
+static void
+lex_0xff(void **state) {
        isc_mem_t *mctx = NULL;
        isc_result_t result;
        isc_lex_t *lex = NULL;
@@ -36,29 +40,27 @@ ATF_TC_BODY(lex_0xff, tc) {
 
        unsigned char death[] = { EOF, 'A' };
 
-       UNUSED(tc);
+       UNUSED(state);
 
        result = isc_mem_create(0, 0, &mctx);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        result = isc_lex_create(mctx, 1024, &lex);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        isc_buffer_init(&death_buf, &death[0], sizeof(death));
        isc_buffer_add(&death_buf, sizeof(death));
 
        result = isc_lex_openbuffer(lex, &death_buf);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        result = isc_lex_gettoken(lex, 0, &token);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 }
 
-ATF_TC(lex_setline);
-ATF_TC_HEAD(lex_setline, tc) {
-       atf_tc_set_md_var(tc, "descr", "check setting of source line");
-}
-ATF_TC_BODY(lex_setline, tc) {
+/* check setting of source line */
+static void
+lex_setline(void **state) {
        isc_mem_t *mctx = NULL;
        isc_result_t result;
        isc_lex_t *lex = NULL;
@@ -68,44 +70,56 @@ ATF_TC_BODY(lex_setline, tc) {
        unsigned long line;
        int i;
 
-       UNUSED(tc);
+       UNUSED(state);
 
        result = isc_mem_create(0, 0, &mctx);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        result = isc_lex_create(mctx, 1024, &lex);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        isc_buffer_init(&buf, &text[0], sizeof(text));
        isc_buffer_add(&buf, sizeof(text));
 
        result = isc_lex_openbuffer(lex, &buf);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        result = isc_lex_setsourceline(lex, 100);
-       ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+       assert_int_equal(result, ISC_R_SUCCESS);
 
        for (i = 0; i < 6; i++) {
                result = isc_lex_gettoken(lex, 0, &token);
-               ATF_REQUIRE_EQ(result, ISC_R_SUCCESS);
+               assert_int_equal(result, ISC_R_SUCCESS);
 
                line = isc_lex_getsourceline(lex);
-               ATF_REQUIRE_EQ(line, 100U + i);
+               assert_int_equal(line, 100U + i);
        }
 
        result = isc_lex_gettoken(lex, 0, &token);
-       ATF_REQUIRE_EQ(result, ISC_R_EOF);
+       assert_int_equal(result, ISC_R_EOF);
 
        line = isc_lex_getsourceline(lex);
-       ATF_REQUIRE_EQ(line, 105U);
+       assert_int_equal(line, 105U);
 }
 
-/*
- * Main
- */
-ATF_TP_ADD_TCS(tp) {
-       ATF_TP_ADD_TC(tp, lex_0xff);
-       ATF_TP_ADD_TC(tp, lex_setline);
-       return (atf_no_error());
+int
+main(void) {
+       const struct CMUnitTest tests[] = {
+               cmocka_unit_test(lex_0xff),
+               cmocka_unit_test(lex_setline),
+       };
+
+       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