From: Joey Date: Fri, 26 Oct 2018 09:07:50 +0000 (+0800) Subject: convert socket_test; remove ATF from lib/isc/tests X-Git-Tag: v9.13.4~21^2~34 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9eea00cd3c1ababa36fab01ab74e0283df041567;p=thirdparty%2Fbind9.git convert socket_test; remove ATF from lib/isc/tests --- diff --git a/lib/isc/tests/Kyuafile b/lib/isc/tests/Kyuafile index e96fd6e8338..e2b2498bde3 100644 --- a/lib/isc/tests/Kyuafile +++ b/lib/isc/tests/Kyuafile @@ -22,7 +22,7 @@ tap_test_program{name='regex_test'} tap_test_program{name='result_test'} tap_test_program{name='safe_test'} tap_test_program{name='sockaddr_test'} -atf_test_program{name='socket_test'} +tap_test_program{name='socket_test'} tap_test_program{name='symtab_test'} tap_test_program{name='task_test'} tap_test_program{name='taskpool_test'} diff --git a/lib/isc/tests/Makefile.in b/lib/isc/tests/Makefile.in index 77d2d0e645f..80bbb70cc9e 100644 --- a/lib/isc/tests/Makefile.in +++ b/lib/isc/tests/Makefile.in @@ -21,10 +21,8 @@ CDEFINES = -DTESTS="\"${top_builddir}/lib/isc/tests/\"" ISCLIBS = ../libisc.@A@ @OPENSSL_LIBS@ ISCDEPLIBS = ../libisc.@A@ -LIBS = @LIBS@ @ATFLIBS@ - -CMOCKA_CFLAGS = @CMOCKA_CFLAGS@ -CMOCKA_LIBS = @CMOCKA_LIBS@ +LIBS = @LIBS@ @CMOCKA_LIBS@ +CFLAGS = @CFLAGS@ @CMOCKA_CFLAGS@ OBJS = isctest.@O@ @@ -54,145 +52,149 @@ TARGETS = aes_test@EXEEXT@ buffer_test@EXEEXT@ \ @BIND9_MAKE_RULES@ aes_test@EXEEXT@: aes_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ aes_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} buffer_test@EXEEXT@: buffer_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ buffer_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} counter_test@EXEEXT@: counter_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ counter_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} crc64_test@EXEEXT@: crc64_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} ${LDFLAGS} -o $@ \ - crc64_test.@O@ ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ + ${LDFLAGS} -o $@ crc64_test.@O@ \ + ${ISCLIBS} ${LIBS} errno_test@EXEEXT@: errno_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ errno_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} file_test@EXEEXT@: file_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ file_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} hash_test@EXEEXT@: hash_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ hash_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} heap_test@EXEEXT@: heap_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ heap_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} hmac_test@EXEEXT@: hmac_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} ${LDFLAGS} -o $@ \ - hmac_test.@O@ ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ + ${LDFLAGS} -o $@ hmac_test.@O@ \ + ${ISCLIBS} ${LIBS} ht_test@EXEEXT@: ht_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ ht_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} lex_test@EXEEXT@: lex_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ lex_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} md_test@EXEEXT@: md_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} ${LDFLAGS} -o $@ \ - md_test.@O@ ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ + ${LDFLAGS} -o $@ md_test.@O@ \ + ${ISCLIBS} ${LIBS} mem_test@EXEEXT@: mem_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ mem_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} netaddr_test@EXEEXT@: netaddr_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ netaddr_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} parse_test@EXEEXT@: parse_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ parse_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} pool_test@EXEEXT@: pool_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ pool_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} queue_test@EXEEXT@: queue_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ queue_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} radix_test@EXEEXT@: radix_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ radix_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} random_test@EXEEXT@: random_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ random_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} -lm regex_test@EXEEXT@: regex_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ regex_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} result_test@EXEEXT@: result_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ result_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} safe_test@EXEEXT@: safe_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ safe_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} socket_test@EXEEXT@: socket_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ - socket_test.@O@ isctest.@O@ ${ISCLIBS} ${LIBS} + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ + ${LDFLAGS} -o $@ socket_test.@O@ isctest.@O@ \ + ${ISCLIBS} ${LIBS} sockaddr_test@EXEEXT@: sockaddr_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ sockaddr_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} symtab_test@EXEEXT@: symtab_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ symtab_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} task_test@EXEEXT@: task_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ task_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} taskpool_test@EXEEXT@: taskpool_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ taskpool_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} time_test@EXEEXT@: time_test.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ time_test.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} timer_test@EXEEXT@: timer_test.@O@ isctest.@O@ ${ISCDEPLIBS} - ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${CMOCKA_CFLAGS} \ + ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \ ${LDFLAGS} -o $@ timer_test.@O@ isctest.@O@ \ - ${ISCLIBS} ${LIBS} ${CMOCKA_LIBS} + ${ISCLIBS} ${LIBS} unit:: sh ${top_builddir}/unit/unittest.sh diff --git a/lib/isc/tests/socket_test.c b/lib/isc/tests/socket_test.c index 5342961fa7c..e7784b0b95d 100644 --- a/lib/isc/tests/socket_test.c +++ b/lib/isc/tests/socket_test.c @@ -13,12 +13,19 @@ #include -#include +#if HAVE_CMOCKA +#include +#include +#include #include +#include #include #include +#define UNIT_TESTING +#include + #include #include #include @@ -35,6 +42,27 @@ static bool recv_trunc; * Helper functions */ +static int +_setup(void **state) { + isc_result_t result; + + UNUSED(state); + + result = isc_test_begin(NULL, true, 0); + assert_int_equal(result, ISC_R_SUCCESS); + + return (0); +} + +static int +_teardown(void **state) { + UNUSED(state); + + isc_test_end(); + + return (0); +} + typedef struct { bool done; isc_result_t result; @@ -56,8 +84,9 @@ accept_done(isc_task_t *task, isc_event_t *event) { completion->result = nevent->result; completion->done = true; - if (completion->result == ISC_R_SUCCESS) + if (completion->result == ISC_R_SUCCESS) { completion->socket = nevent->newsocket; + } isc_event_free(&event); } @@ -88,23 +117,11 @@ waitfor(completion_t *completion) { while (!completion->done && i++ < 5000) { isc_test_nap(1000); } - if (completion->done) + if (completion->done) { return (ISC_R_SUCCESS); - return (ISC_R_FAILURE); -} - -#if 0 -static isc_result_t -waitfor(completion_t *completion) { - int i = 0; - while (!completion->done && i++ < 5000) { - waitbody(); } - if (completion->done) - return (ISC_R_SUCCESS); return (ISC_R_FAILURE); } -#endif static void waitbody(void) { @@ -118,8 +135,9 @@ waitfor2(completion_t *c1, completion_t *c2) { while (!(c1->done && c2->done) && i++ < 5000) { waitbody(); } - if (c1->done && c2->done) + if (c1->done && c2->done) { return (ISC_R_SUCCESS); + } return (ISC_R_FAILURE); } @@ -128,11 +146,8 @@ waitfor2(completion_t *c1, completion_t *c2) { */ /* Test UDP sendto/recv (IPv4) */ -ATF_TC(udp_sendto); -ATF_TC_HEAD(udp_sendto, tc) { - atf_tc_set_md_var(tc, "descr", "UDP sendto/recv"); -} -ATF_TC_BODY(udp_sendto, tc) { +static void +udp_sendto_test(void **state) { isc_result_t result; isc_sockaddr_t addr1, addr2; struct in_addr in; @@ -142,35 +157,30 @@ ATF_TC_BODY(udp_sendto, tc) { completion_t completion; isc_region_t r; - UNUSED(tc); - - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + UNUSED(state); in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); isc_sockaddr_fromin(&addr2, &in, 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s1); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s2); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s2, &addr2, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s2, &addr2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr2) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr2) != 0); result = isc_task_create(taskmgr, 0, &task); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); r.base = (void *) sendbuf; @@ -179,35 +189,31 @@ ATF_TC_BODY(udp_sendto, tc) { completion_init(&completion); result = isc_socket_sendto(s1, &r, task, event_done, &completion, &addr2, NULL); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); isc_task_detach(&task); isc_socket_detach(&s1); isc_socket_detach(&s2); - isc_test_end(); } /* Test UDP sendto/recv with duplicated socket */ -ATF_TC(udp_dup); -ATF_TC_HEAD(udp_dup, tc) { - atf_tc_set_md_var(tc, "descr", "duplicated socket sendto/recv"); -} -ATF_TC_BODY(udp_dup, tc) { +static void +udp_dup_test(void **state) { isc_result_t result; isc_sockaddr_t addr1, addr2; struct in_addr in; @@ -217,38 +223,33 @@ ATF_TC_BODY(udp_dup, tc) { completion_t completion; isc_region_t r; - UNUSED(tc); - - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + UNUSED(state); in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); isc_sockaddr_fromin(&addr2, &in, 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s1); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s2); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s2, &addr2, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s2, &addr2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr2) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr2) != 0); result = isc_socket_dup(s2, &s3); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_task_create(taskmgr, 0, &task); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); r.base = (void *) sendbuf; @@ -257,10 +258,10 @@ ATF_TC_BODY(udp_dup, tc) { completion_init(&completion); result = isc_socket_sendto(s1, &r, task, event_done, &completion, &addr2, NULL); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "World"); r.base = (void *) sendbuf; @@ -269,30 +270,30 @@ ATF_TC_BODY(udp_dup, tc) { completion_init(&completion); result = isc_socket_sendto(s1, &r, task, event_done, &completion, &addr2, NULL); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s3, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "World"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "World"); isc_task_detach(&task); @@ -300,15 +301,11 @@ ATF_TC_BODY(udp_dup, tc) { isc_socket_detach(&s2); isc_socket_detach(&s3); - isc_test_end(); } -/* Test TCP sendto/recv (IPv4) */ -ATF_TC(udp_dscp_v4); -ATF_TC_HEAD(udp_dscp_v4, tc) { - atf_tc_set_md_var(tc, "descr", "UDP DSCP IPV4"); -} -ATF_TC_BODY(udp_dscp_v4, tc) { +/* Test UDP sendto/recv (IPv4) */ +static void +udp_dscp_v4_test(void **state) { isc_result_t result; isc_sockaddr_t addr1, addr2; struct in_addr in; @@ -319,40 +316,31 @@ ATF_TC_BODY(udp_dscp_v4, tc) { isc_region_t r; isc_socketevent_t *socketevent; - UNUSED(tc); + UNUSED(state); - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); isc_sockaddr_fromin(&addr2, &in, 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, ISC_SOCKET_REUSEADDRESS); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s2, &addr2, ISC_SOCKET_REUSEADDRESS); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s2, &addr2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr2) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr2) != 0); result = isc_task_create(taskmgr, 0, &task); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); r.base = (void *) sendbuf; @@ -362,7 +350,7 @@ ATF_TC_BODY(udp_dscp_v4, tc) { socketevent = isc_socket_socketevent(mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); - ATF_REQUIRE(socketevent != NULL); + assert_non_null(socketevent); if ((isc_net_probedscp() & ISC_NET_DSCPPKTV4) != 0) { socketevent->dscp = 056; /* EF */ @@ -377,41 +365,37 @@ ATF_TC_BODY(udp_dscp_v4, tc) { recv_dscp_value = 0; result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0); - ATF_REQUIRE_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); if ((isc_net_probedscp() & ISC_NET_DSCPRECVV4) != 0) { - ATF_CHECK(recv_dscp); - ATF_CHECK_EQ(recv_dscp_value, 056); - } else - ATF_CHECK(!recv_dscp); + assert_true(recv_dscp); + assert_int_equal(recv_dscp_value, 056); + } else { + assert_false(recv_dscp); + } isc_task_detach(&task); isc_socket_detach(&s1); isc_socket_detach(&s2); - isc_test_end(); } -/* Test TCP sendto/recv (IPv4) */ -ATF_TC(udp_dscp_v6); -ATF_TC_HEAD(udp_dscp_v6, tc) { - atf_tc_set_md_var(tc, "descr", "udp dscp ipv6"); -} -ATF_TC_BODY(udp_dscp_v6, tc) { +/* Test UDP sendto/recv (IPv6) */ +static void +udp_dscp_v6_test(void **state) { isc_result_t result; isc_sockaddr_t addr1, addr2; struct in6_addr in6; @@ -423,43 +407,34 @@ ATF_TC_BODY(udp_dscp_v6, tc) { isc_socketevent_t *socketevent; int n; - UNUSED(tc); + UNUSED(state); - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); n = inet_pton(AF_INET6, "::1", &in6.s6_addr); - ATF_REQUIRE(n == 1); + assert_true(n == 1); isc_sockaddr_fromin6(&addr1, &in6, 0); isc_sockaddr_fromin6(&addr2, &in6, 0); result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_udp, &s1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_udp, &s2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s2, &addr2, 0); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s2, &addr2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr2) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr2) != 0); result = isc_task_create(taskmgr, 0, &task); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); snprintf(sendbuf, sizeof(sendbuf), "Hello"); r.base = (void *) sendbuf; @@ -469,52 +444,50 @@ ATF_TC_BODY(udp_dscp_v6, tc) { socketevent = isc_socket_socketevent(mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); - ATF_REQUIRE(socketevent != NULL); + assert_non_null(socketevent); if ((isc_net_probedscp() & ISC_NET_DSCPPKTV6) != 0) { socketevent->dscp = 056; /* EF */ socketevent->attributes = ISC_SOCKEVENTATTR_DSCP; - } else if ((isc_net_probedscp() & ISC_NET_DSCPSETV6) != 0) + } else if ((isc_net_probedscp() & ISC_NET_DSCPSETV6) != 0) { isc_socket_dscp(s1, 056); /* EF */ + } recv_dscp = false; recv_dscp_value = 0; result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); if ((isc_net_probedscp() & ISC_NET_DSCPRECVV6) != 0) { - ATF_CHECK(recv_dscp); - ATF_CHECK_EQ(recv_dscp_value, 056); - } else - ATF_CHECK(!recv_dscp); + assert_true(recv_dscp); + assert_int_equal(recv_dscp_value, 056); + } else { + assert_false(recv_dscp); + } isc_task_detach(&task); isc_socket_detach(&s1); isc_socket_detach(&s2); - isc_test_end(); } /* Test TCP sendto/recv (IPv4) */ -ATF_TC(tcp_dscp_v4); -ATF_TC_HEAD(tcp_dscp_v4, tc) { - atf_tc_set_md_var(tc, "descr", "tcp dscp ipv4"); -} -ATF_TC_BODY(tcp_dscp_v4, tc) { +static void +tcp_dscp_v4_test(void **state) { isc_result_t result; isc_sockaddr_t addr1; struct in_addr in; @@ -524,45 +497,42 @@ ATF_TC_BODY(tcp_dscp_v4, tc) { completion_t completion, completion2; isc_region_t r; - UNUSED(tc); + UNUSED(state); - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_tcp, &s1); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_listen(s1, 3); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_tcp, &s2); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_task_create(taskmgr, 0, &task); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); completion_init(&completion2); result = isc_socket_accept(s1, task, accept_done, &completion2); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); completion_init(&completion); result = isc_socket_connect(s2, &addr1, task, event_done, &completion); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor2(&completion, &completion2); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK(completion2.done); - ATF_CHECK_EQ(completion2.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_true(completion2.done); + assert_int_equal(completion2.result, ISC_R_SUCCESS); s3 = completion2.socket; isc_socket_dscp(s2, 056); /* EF */ @@ -577,26 +547,28 @@ ATF_TC_BODY(tcp_dscp_v4, tc) { completion_init(&completion); result = isc_socket_sendto(s2, &r, task, event_done, &completion, NULL, NULL); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s3, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); if ((isc_net_probedscp() & ISC_NET_DSCPRECVV4) != 0) { - if (recv_dscp) - ATF_CHECK_EQ(recv_dscp_value, 056); - } else - ATF_CHECK(!recv_dscp); + if (recv_dscp) { + assert_int_equal(recv_dscp_value, 056); + } + } else { + assert_false(recv_dscp); + } isc_task_detach(&task); @@ -604,15 +576,11 @@ ATF_TC_BODY(tcp_dscp_v4, tc) { isc_socket_detach(&s2); isc_socket_detach(&s3); - isc_test_end(); } /* Test TCP sendto/recv (IPv6) */ -ATF_TC(tcp_dscp_v6); -ATF_TC_HEAD(tcp_dscp_v6, tc) { - atf_tc_set_md_var(tc, "descr", "tcp dscp ipv6"); -} -ATF_TC_BODY(tcp_dscp_v6, tc) { +static void +tcp_dscp_v6_test(void **state) { isc_result_t result; isc_sockaddr_t addr1; struct in6_addr in6; @@ -623,48 +591,45 @@ ATF_TC_BODY(tcp_dscp_v6, tc) { isc_region_t r; int n; - UNUSED(tc); + UNUSED(state); - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); n = inet_pton(AF_INET6, "::1", &in6.s6_addr); - ATF_REQUIRE(n == 1); + assert_true(n == 1); isc_sockaddr_fromin6(&addr1, &in6, 0); result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp, &s1); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_listen(s1, 3); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_create(socketmgr, PF_INET6, isc_sockettype_tcp, &s2); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_task_create(taskmgr, 0, &task); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); completion_init(&completion2); result = isc_socket_accept(s1, task, accept_done, &completion2); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); completion_init(&completion); result = isc_socket_connect(s2, &addr1, task, event_done, &completion); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor2(&completion, &completion2); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK(completion2.done); - ATF_CHECK_EQ(completion2.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_true(completion2.done); + assert_int_equal(completion2.result, ISC_R_SUCCESS); s3 = completion2.socket; isc_socket_dscp(s2, 056); /* EF */ @@ -679,30 +644,32 @@ ATF_TC_BODY(tcp_dscp_v6, tc) { completion_init(&completion); result = isc_socket_sendto(s2, &r, task, event_done, &completion, NULL, NULL); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); result = isc_socket_recv(s3, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); if ((isc_net_probedscp() & ISC_NET_DSCPRECVV6) != 0) { /* * IPV6_RECVTCLASS is undefined for TCP however * if we do get it it should be the value we set. */ - if (recv_dscp) - ATF_CHECK_EQ(recv_dscp_value, 056); - } else - ATF_CHECK(!recv_dscp); + if (recv_dscp) { + assert_int_equal(recv_dscp_value, 056); + } + } else { + assert_false(recv_dscp); + } isc_task_detach(&task); @@ -710,36 +677,27 @@ ATF_TC_BODY(tcp_dscp_v6, tc) { isc_socket_detach(&s2); isc_socket_detach(&s3); - isc_test_end(); } -ATF_TC(net_probedscp); -ATF_TC_HEAD(net_probedscp, tc) { - atf_tc_set_md_var(tc, "descr", "probe dscp capabilities"); -} -ATF_TC_BODY(net_probedscp, tc) { +/* probe dscp capabilities */ +static void +net_probedscp_test(void **state) { unsigned int n; - UNUSED(tc); + UNUSED(state); n = isc_net_probedscp(); - ATF_CHECK((n & ~ISC_NET_DSCPALL) == 0); + assert_true((n & ~ISC_NET_DSCPALL) == 0); /* ISC_NET_DSCPSETV4 MUST be set if any is set. */ - if (n & (ISC_NET_DSCPSETV4|ISC_NET_DSCPPKTV4|ISC_NET_DSCPRECVV4)) - ATF_CHECK_MSG((n & ISC_NET_DSCPSETV4) != 0, - "IPv4:%s%s%s\n", - (n & ISC_NET_DSCPSETV4) ? " set" : " none", - (n & ISC_NET_DSCPPKTV4) ? " packet" : "", - (n & ISC_NET_DSCPRECVV4) ? " receive" : ""); + if (n & (ISC_NET_DSCPPKTV4|ISC_NET_DSCPRECVV4)) { + assert_true((n & ISC_NET_DSCPSETV4) != 0); + } /* ISC_NET_DSCPSETV6 MUST be set if any is set. */ - if (n & (ISC_NET_DSCPSETV6|ISC_NET_DSCPPKTV6|ISC_NET_DSCPRECVV6)) - ATF_CHECK_MSG((n & ISC_NET_DSCPSETV6) != 0, - "IPv6:%s%s%s\n", - (n & ISC_NET_DSCPSETV6) ? " set" : " none", - (n & ISC_NET_DSCPPKTV6) ? " packet" : "", - (n & ISC_NET_DSCPRECVV6) ? " receive" : ""); + if (n & (ISC_NET_DSCPPKTV6|ISC_NET_DSCPRECVV6)) { + assert_true((n & ISC_NET_DSCPSETV6) != 0); + } #if 0 fprintf(stdout, "IPv4:%s%s%s\n", @@ -755,11 +713,8 @@ ATF_TC_BODY(net_probedscp, tc) { } /* Test UDP truncation detection */ -ATF_TC(udp_trunc); -ATF_TC_HEAD(udp_trunc, tc) { - atf_tc_set_md_var(tc, "descr", "UDP Truncation detection"); -} -ATF_TC_BODY(udp_trunc, tc) { +static void +udp_trunc_test(void **state) { isc_result_t result; isc_sockaddr_t addr1, addr2; struct in_addr in; @@ -770,40 +725,29 @@ ATF_TC_BODY(udp_trunc, tc) { isc_region_t r; isc_socketevent_t *socketevent; - UNUSED(tc); - - result = isc_test_begin(NULL, true, 0); - ATF_REQUIRE_EQ(result, ISC_R_SUCCESS); + UNUSED(state); in.s_addr = inet_addr("127.0.0.1"); isc_sockaddr_fromin(&addr1, &in, 0); isc_sockaddr_fromin(&addr2, &in, 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s1, &addr1, ISC_SOCKET_REUSEADDRESS); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s1, &addr1); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr1) != 0); - + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr1) != 0); result = isc_socket_create(socketmgr, PF_INET, isc_sockettype_udp, &s2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_bind(s2, &addr2, ISC_SOCKET_REUSEADDRESS); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); result = isc_socket_getsockname(s2, &addr2); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); - ATF_REQUIRE(isc_sockaddr_getport(&addr2) != 0); + assert_int_equal(result, ISC_R_SUCCESS); + assert_true(isc_sockaddr_getport(&addr2) != 0); result = isc_task_create(taskmgr, 0, &task); - ATF_CHECK_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); /* * Send a message that will not be truncated. @@ -817,26 +761,25 @@ ATF_TC_BODY(udp_trunc, tc) { socketevent = isc_socket_socketevent(mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); - ATF_REQUIRE(socketevent != NULL); + assert_non_null(socketevent); result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0); - ATF_REQUIRE_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); recv_trunc = false; result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); - ATF_CHECK_EQ(recv_trunc, false); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); + assert_false(recv_trunc); /* * Send a message that will be truncated. @@ -850,47 +793,68 @@ ATF_TC_BODY(udp_trunc, tc) { socketevent = isc_socket_socketevent(mctx, s1, ISC_SOCKEVENT_SENDDONE, event_done, &completion); - ATF_REQUIRE(socketevent != NULL); + assert_non_null(socketevent); result = isc_socket_sendto2(s1, &r, task, &addr2, NULL, socketevent, 0); - ATF_REQUIRE_EQ_MSG(result, ISC_R_SUCCESS, "%s", - isc_result_totext(result)); + assert_int_equal(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); r.base = (void *) recvbuf; r.length = BUFSIZ; completion_init(&completion); recv_trunc = false; result = isc_socket_recv(s2, &r, 1, task, event_done, &completion); - ATF_CHECK_EQ(result, ISC_R_SUCCESS); waitfor(&completion); - ATF_CHECK(completion.done); - ATF_CHECK_EQ(completion.result, ISC_R_SUCCESS); - ATF_CHECK_STREQ(recvbuf, "Hello"); - ATF_CHECK_EQ(recv_trunc, true); + assert_true(completion.done); + assert_int_equal(completion.result, ISC_R_SUCCESS); + assert_string_equal(recvbuf, "Hello"); + assert_true(recv_trunc); isc_task_detach(&task); isc_socket_detach(&s1); isc_socket_detach(&s2); - isc_test_end(); } /* * Main */ -ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, udp_sendto); - ATF_TP_ADD_TC(tp, udp_dup); - ATF_TP_ADD_TC(tp, tcp_dscp_v4); - ATF_TP_ADD_TC(tp, tcp_dscp_v6); - ATF_TP_ADD_TC(tp, udp_dscp_v4); - ATF_TP_ADD_TC(tp, udp_dscp_v6); - ATF_TP_ADD_TC(tp, net_probedscp); - ATF_TP_ADD_TC(tp, udp_trunc); - - return (atf_no_error()); +int +main(void) { + const struct CMUnitTest tests[] = { + cmocka_unit_test_setup_teardown(udp_sendto_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(udp_dup_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(tcp_dscp_v4_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(tcp_dscp_v6_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(udp_dscp_v4_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(udp_dscp_v6_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(net_probedscp_test, + _setup, _teardown), + cmocka_unit_test_setup_teardown(udp_trunc_test, + _setup, _teardown), + }; + + 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