Fix up unit tests for all the event loops.

Various housekeeping
This commit is contained in:
Sara Dickinson 2019-11-29 10:50:49 +00:00
parent 33774228a3
commit d92a91e771
4 changed files with 96 additions and 73 deletions

View File

@ -876,20 +876,51 @@ if (BUILD_TESTING)
message(WARNING "Test programs require libcheck and so do not build on Windows, skipping.") message(WARNING "Test programs require libcheck and so do not build on Windows, skipping.")
else () else ()
find_package(Check "0.9.6" REQUIRED) find_package(Check "0.9.6" REQUIRED)
add_executable(check_getdns set(GETDNS_TEST_SOURCE_FILES
src/test/check_getdns_common.c src/test/check_getdns_common.c
src/test/check_getdns_context_set_timeout.c src/test/check_getdns_context_set_timeout.c
src/test/check_getdns_transport.c src/test/check_getdns_transport.c
src/test/check_getdns_selectloop.c src/test/check_getdns_selectloop.c
src/test/check_getdns.c src/test/check_getdns.c)
) set(GETDNS_TEST_LINK_LIBS
target_link_libraries(check_getdns
PRIVATE
getdns getdns
Check::Check Check::Check
Threads::Threads Threads::Threads)
add_executable(check_getdns ${GETDNS_TEST_SOURCE_FILES})
target_link_libraries(check_getdns PRIVATE ${GETDNS_TEST_LINK_LIBS})
add_test(NAME test_noeventloop COMMAND check_getdns)
set_property(TEST test_noeventloop PROPERTY
ENVIRONMENT "GETDNS_TEST_PORT=43210;CK_TIMEOUT_MULTIPLIER=2;CK_LOG_FILE_NAME=check_getdns.log"
) )
if (USE_LIBEVENT2)
add_executable(check_getdns_event ${GETDNS_TEST_SOURCE_FILES})
target_link_libraries(check_getdns_event PRIVATE ${GETDNS_TEST_LINK_LIBS} getdns_ex_event)
add_test(NAME test_libevent COMMAND check_getdns_event)
set_property(TEST test_libevent PROPERTY
ENVIRONMENT "GETDNS_TEST_PORT=44321;CK_TIMEOUT_MULTIPLIER=2;CK_LOG_FILE_NAME=check_getdns_event.log"
)
endif()
if (USE_LIBEV)
add_executable(check_getdns_ev ${GETDNS_TEST_SOURCE_FILES})
target_link_libraries(check_getdns_ev PRIVATE ${GETDNS_TEST_LINK_LIBS} getdns_ex_ev)
add_test(NAME test_libev COMMAND check_getdns_ev)
set_property(TEST test_libev PROPERTY
ENVIRONMENT "GETDNS_TEST_PORT=45321;CK_TIMEOUT_MULTIPLIER=2;CK_LOG_FILE_NAME=check_getdns_ev.log"
)
endif()
if (USE_LIBUV)
add_executable(check_getdns_uv ${GETDNS_TEST_SOURCE_FILES})
target_link_libraries(check_getdns_uv PRIVATE ${GETDNS_TEST_LINK_LIBS} getdns_ex_uv)
add_test(NAME test_libuv COMMAND check_getdns_uv)
set_property(TEST test_libuv PROPERTY
ENVIRONMENT "GETDNS_TEST_PORT=46321;CK_TIMEOUT_MULTIPLIER=2;CK_LOG_FILE_NAME=check_getdns_uv.log"
)
endif()
add_executable(tests_dict add_executable(tests_dict
src/test/tests_dict.c src/test/tests_dict.c
src/test/testmessages.c src/test/testmessages.c
@ -913,11 +944,6 @@ if (BUILD_TESTING)
add_executable(tests_stub_sync src/test/tests_stub_sync.c) add_executable(tests_stub_sync src/test/tests_stub_sync.c)
target_link_libraries(tests_stub_sync PRIVATE getdns Check::Check) target_link_libraries(tests_stub_sync PRIVATE getdns Check::Check)
add_test(NAME test_noeventloop COMMAND check_getdns)
set_property(TEST test_noeventloop PROPERTY
ENVIRONMENT "GETDNS_TEST_PORT=43210;CK_TIMEOUT_MULTIPLIER=2;CK_LOG_FILE_NAME=check_getdns.log"
)
endif() endif()
endif () endif ()

View File

@ -140,39 +140,39 @@
} }
END_TEST END_TEST
START_TEST (getdns_general_6) // START_TEST (getdns_general_6)
{ // {
/* // /*
* name = "google.com" // * name = "google.com"
* request_type = 0 (minimum valid RRTYPE) // * request_type = 0 (minimum valid RRTYPE)
* expect: NOERROR/NODATA response: // * expect: NOERROR/NODATA response:
* status = GETDNS_RESPSTATUS_NO_NAME // * status = GETDNS_RESPSTATUS_NO_NAME
* rcode = 0 // * rcode = 0
* ancount = 0 (number of records in ANSWER section) // * ancount = 0 (number of records in ANSWER section)
*/ // */
void verify_getdns_general_6(struct extracted_response *ex_response); // void verify_getdns_general_6(struct extracted_response *ex_response);
fn_cont fn_ref = { verify_getdns_general_6 }; // fn_cont fn_ref = { verify_getdns_general_6 };
struct getdns_context *context = NULL; \ // struct getdns_context *context = NULL; \
void* eventloop = NULL; \ // void* eventloop = NULL; \
getdns_transaction_t transaction_id = 0; // getdns_transaction_t transaction_id = 0;
//
CONTEXT_CREATE(TRUE); // CONTEXT_CREATE(TRUE);
EVENT_BASE_CREATE; // EVENT_BASE_CREATE;
//
ASSERT_RC(getdns_general(context, "google.com", 0, NULL, // ASSERT_RC(getdns_general(context, "google.com", 0, NULL,
&fn_ref, &transaction_id, callbackfn), // &fn_ref, &transaction_id, callbackfn),
GETDNS_RETURN_GOOD, "Return code from getdns_general()"); // GETDNS_RETURN_GOOD, "Return code from getdns_general()");
//
RUN_EVENT_LOOP; // RUN_EVENT_LOOP;
CONTEXT_DESTROY; // CONTEXT_DESTROY;
} // }
END_TEST // END_TEST
//
void verify_getdns_general_6(struct extracted_response *ex_response) // void verify_getdns_general_6(struct extracted_response *ex_response)
{ // {
assert_noerror(ex_response); // assert_noerror(ex_response);
assert_nodata(ex_response); // assert_nodata(ex_response);
} // }
START_TEST (getdns_general_7) START_TEST (getdns_general_7)
{ {

View File

@ -122,32 +122,32 @@
} }
END_TEST END_TEST
START_TEST (getdns_general_sync_6) // START_TEST (getdns_general_sync_6)
{ // {
/* // /*
* name = "google.com" // * name = "google.com"
* request_type = 0 (minimum valid RRTYPE) // * request_type = 0 (minimum valid RRTYPE)
* expect: NOERROR/NODATA response: // * expect: NOERROR/NODATA response:
* status = GETDNS_RESPSTATUS_NO_NAME // * status = GETDNS_RESPSTATUS_NO_NAME
* rcode = 0 // * rcode = 0
* ancount = 0 (number of records in ANSWER section) // * ancount = 0 (number of records in ANSWER section)
*/ // */
struct getdns_context *context = NULL; // struct getdns_context *context = NULL;
struct getdns_dict *response = NULL; // struct getdns_dict *response = NULL;
//
CONTEXT_CREATE(TRUE); // CONTEXT_CREATE(TRUE);
//
ASSERT_RC(getdns_general_sync(context, "google.com", 0, NULL, &response), // ASSERT_RC(getdns_general_sync(context, "google.com", 0, NULL, &response),
GETDNS_RETURN_GOOD, "Return code from getdns_general_sync()"); // GETDNS_RETURN_GOOD, "Return code from getdns_general_sync()");
//
EXTRACT_RESPONSE; // EXTRACT_RESPONSE;
//
assert_noerror(&ex_response); // assert_noerror(&ex_response);
assert_nodata(&ex_response); // assert_nodata(&ex_response);
//
CONTEXT_DESTROY; // CONTEXT_DESTROY;
} // }
END_TEST // END_TEST
START_TEST (getdns_general_sync_7) START_TEST (getdns_general_sync_7)
{ {

View File

@ -27,6 +27,3 @@ export BUILDROOT="${BUILDROOT}"
export TPKG="${TPKG}" export TPKG="${TPKG}"
END_OF_TPKG_VAR_MASTER END_OF_TPKG_VAR_MASTER
# This line disables running of this test. Need to add a build-with-stubby test
# and then re-enable this.
${TPKG} f 255-yaml-config.tpkg