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,19 +876,50 @@ if (BUILD_TESTING)
message(WARNING "Test programs require libcheck and so do not build on Windows, skipping.")
else ()
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_context_set_timeout.c
src/test/check_getdns_transport.c
src/test/check_getdns_selectloop.c
src/test/check_getdns.c
)
target_link_libraries(check_getdns
PRIVATE
src/test/check_getdns.c)
set(GETDNS_TEST_LINK_LIBS
getdns
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
src/test/tests_dict.c
@ -913,11 +944,6 @@ if (BUILD_TESTING)
add_executable(tests_stub_sync src/test/tests_stub_sync.c)
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 ()

View File

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

View File

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

View File

@ -27,6 +27,3 @@ export BUILDROOT="${BUILDROOT}"
export TPKG="${TPKG}"
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