diff --git a/lib/isc/tests/Kyuafile b/lib/isc/tests/Kyuafile index f4b02430c3..5a871c9d83 100644 --- a/lib/isc/tests/Kyuafile +++ b/lib/isc/tests/Kyuafile @@ -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'} diff --git a/lib/isc/tests/Makefile.in b/lib/isc/tests/Makefile.in index 92f5731f32..fb082e690b 100644 --- a/lib/isc/tests/Makefile.in +++ b/lib/isc/tests/Makefile.in @@ -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 $@ \ diff --git a/lib/isc/tests/lex_test.c b/lib/isc/tests/lex_test.c index 1315022634..cb485f6706 100644 --- a/lib/isc/tests/lex_test.c +++ b/lib/isc/tests/lex_test.c @@ -11,23 +11,27 @@ #include -#include +#if HAVE_CMOCKA + +#include +#include +#include -#include #include #include #include +#define UNIT_TESTING +#include + #include #include #include #include -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 + +int +main(void) { + printf("1..0 # Skipped: cmocka not available\n"); + return (0); +} + +#endif