Merge pull request #446 from saradickinson/feature/more_cmake

Feature/more cmake
This commit is contained in:
Willem Toorop 2019-12-16 12:16:22 +01:00 committed by GitHub
commit 306110ab7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 143 additions and 88 deletions

View File

@ -23,4 +23,4 @@ script:
- mkdir tests - mkdir tests
- cd tests - cd tests
- ../src/test/tpkg/run-all.sh - ../src/test/tpkg/run-all.sh
# - ../src/test/tpkg/run-one.sh 225-stub-only-valgrind-checks # - ../src/test/tpkg/run-one.sh 275-server-capabilities.tpkg -V

View File

@ -484,10 +484,11 @@ else ()
message(WARNING "TCP Fast Open not available, continuing without.") message(WARNING "TCP Fast Open not available, continuing without.")
endif () endif ()
else () else ()
check_include_file(netinet/tcp.h HAVE_NETINET_TCP_H)
check_symbol_exists(TCP_FASTOPEN "sys/socket.h;netinet/tcp.h" HAVE_DECL_TCP_FASTOPEN) check_symbol_exists(TCP_FASTOPEN "sys/socket.h;netinet/tcp.h" HAVE_DECL_TCP_FASTOPEN)
check_symbol_exists(TCP_FASTOPEN_CONNECT "sys/socket.h;netinet/tcp.h" HAVE_DECL_TCP_FASTOPEN_CONNECT) check_symbol_exists(TCP_FASTOPEN_CONNECT "sys/socket.h;netinet/tcp.h" HAVE_DECL_TCP_FASTOPEN_CONNECT)
check_symbol_exists(MSG_FASTOPEN "sys/socket.h;netinet/tcp.h" HAVE_DECL_MSG_FASTOPEN) check_symbol_exists(MSG_FASTOPEN "sys/socket.h;netinet/tcp.h" HAVE_DECL_MSG_FASTOPEN)
if (NOT TCP_FASTOPEN) if (NOT HAVE_DECL_TCP_FASTOPEN)
message(WARNING "TCP Fast Open not available, continuing without.") message(WARNING "TCP Fast Open not available, continuing without.")
endif () endif ()
endif () endif ()
@ -711,21 +712,24 @@ if (USE_LIBEV)
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${LIBEV_INCLUDE_DIR} ${LIBEV_INCLUDE_DIR}
) )
if (Libunbound_FOUND)
target_link_libraries(ev_objects PUBLIC Libunbound::Libunbound)
endif ()
set_property(TARGET ev_objects PROPERTY POSITION_INDEPENDENT_CODE 1) set_property(TARGET ev_objects PROPERTY POSITION_INDEPENDENT_CODE 1)
set_property(TARGET ev_objects PROPERTY C_STANDARD 11) set_property(TARGET ev_objects PROPERTY C_STANDARD 11)
if (ENABLE_STATIC) if (ENABLE_STATIC)
add_library(getdns_ex_ev STATIC $<TARGET_OBJECTS:ev_objects>) add_library(getdns_ex_ev STATIC $<TARGET_OBJECTS:ev_objects>)
target_include_directories(getdns_ex_ev PRIVATE Libev::Libev) target_include_directories(getdns_ex_ev PRIVATE Libev::Libev)
target_link_libraries(getdns_ex_ev PUBLIC getdns Libev::Libev) target_link_libraries(getdns_ex_ev PUBLIC getdns Libev::Libev)
if (Libunbound_FOUND)
target_link_libraries(getdns_ex_ev PUBLIC Libunbound::Libunbound)
endif ()
set_target_properties(getdns_ex_ev PROPERTIES OUTPUT_NAME getdns_ex_ev${static_lib_suffix}) set_target_properties(getdns_ex_ev PROPERTIES OUTPUT_NAME getdns_ex_ev${static_lib_suffix})
endif () endif ()
if (ENABLE_SHARED) if (ENABLE_SHARED)
add_library(getdns_ex_ev_shared SHARED $<TARGET_OBJECTS:ev_objects>) add_library(getdns_ex_ev_shared SHARED $<TARGET_OBJECTS:ev_objects>)
target_include_directories(getdns_ex_ev_shared PRIVATE Libev::Libev) target_include_directories(getdns_ex_ev_shared PRIVATE Libev::Libev)
target_link_libraries(getdns_ex_ev_shared PUBLIC getdns_shared Libev::Libev) target_link_libraries(getdns_ex_ev_shared PUBLIC getdns_shared Libev::Libev)
if (Libunbound_FOUND)
target_link_libraries(getdns_ex_ev_shared PUBLIC Libunbound::Libunbound)
endif ()
set_target_properties(getdns_ex_ev_shared PROPERTIES OUTPUT_NAME getdns_ex_ev) set_target_properties(getdns_ex_ev_shared PROPERTIES OUTPUT_NAME getdns_ex_ev)
target_shared_library_version(getdns_ex_ev_shared ${GETDNS_VERSION_CURRENT} ${GETDNS_VERSION_REVISION} ${GETDNS_VERSION_AGE}) target_shared_library_version(getdns_ex_ev_shared ${GETDNS_VERSION_CURRENT} ${GETDNS_VERSION_REVISION} ${GETDNS_VERSION_AGE})
file(STRINGS src/extension/libev.symbols symbols) file(STRINGS src/extension/libev.symbols symbols)
@ -758,21 +762,24 @@ if (USE_LIBEVENT2)
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${LIBEVENT2_INCLUDE_DIR} ${LIBEVENT2_INCLUDE_DIR}
) )
if (Libunbound_FOUND)
target_link_libraries(event2_objects PUBLIC Libunbound::Libunbound)
endif ()
set_property(TARGET event2_objects PROPERTY POSITION_INDEPENDENT_CODE 1) set_property(TARGET event2_objects PROPERTY POSITION_INDEPENDENT_CODE 1)
set_property(TARGET event2_objects PROPERTY C_STANDARD 11) set_property(TARGET event2_objects PROPERTY C_STANDARD 11)
if (ENABLE_STATIC) if (ENABLE_STATIC)
add_library(getdns_ex_event STATIC $<TARGET_OBJECTS:event2_objects>) add_library(getdns_ex_event STATIC $<TARGET_OBJECTS:event2_objects>)
target_include_directories(getdns_ex_event PRIVATE Libevent2::Libevent_code) target_include_directories(getdns_ex_event PRIVATE Libevent2::Libevent_code)
target_link_libraries(getdns_ex_event PUBLIC getdns Libevent2::Libevent_core) target_link_libraries(getdns_ex_event PUBLIC getdns Libevent2::Libevent_core)
if (Libunbound_FOUND)
target_link_libraries(getdns_ex_event PUBLIC Libunbound::Libunbound)
endif ()
set_target_properties(getdns_ex_event PROPERTIES OUTPUT_NAME getdns_ex_event${static_lib_suffix}) set_target_properties(getdns_ex_event PROPERTIES OUTPUT_NAME getdns_ex_event${static_lib_suffix})
endif () endif ()
if (ENABLE_SHARED) if (ENABLE_SHARED)
add_library(getdns_ex_event_shared SHARED $<TARGET_OBJECTS:event2_objects>) add_library(getdns_ex_event_shared SHARED $<TARGET_OBJECTS:event2_objects>)
target_include_directories(getdns_ex_event_shared PRIVATE Libevent2::Libevent_code) target_include_directories(getdns_ex_event_shared PRIVATE Libevent2::Libevent_code)
target_link_libraries(getdns_ex_event_shared PUBLIC getdns_shared Libevent2::Libevent_core) target_link_libraries(getdns_ex_event_shared PUBLIC getdns_shared Libevent2::Libevent_core)
if (Libunbound_FOUND)
target_link_libraries(getdns_ex_event_shared PUBLIC Libunbound::Libunbound)
endif ()
set_target_properties(getdns_ex_event_shared PROPERTIES OUTPUT_NAME getdns_ex_event) set_target_properties(getdns_ex_event_shared PROPERTIES OUTPUT_NAME getdns_ex_event)
target_shared_library_version(getdns_ex_event_shared ${GETDNS_VERSION_CURRENT} ${GETDNS_VERSION_REVISION} ${GETDNS_VERSION_AGE}) target_shared_library_version(getdns_ex_event_shared ${GETDNS_VERSION_CURRENT} ${GETDNS_VERSION_REVISION} ${GETDNS_VERSION_AGE})
file(STRINGS src/extension/libevent.symbols symbols) file(STRINGS src/extension/libevent.symbols symbols)
@ -806,21 +813,24 @@ if (USE_LIBUV)
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${LIBUV_INCLUDE_DIR} ${LIBUV_INCLUDE_DIR}
) )
if (Libunbound_FOUND)
target_link_libraries(uv_objects PUBLIC Libunbound::Libunbound)
endif ()
set_property(TARGET uv_objects PROPERTY POSITION_INDEPENDENT_CODE 1) set_property(TARGET uv_objects PROPERTY POSITION_INDEPENDENT_CODE 1)
set_property(TARGET uv_objects PROPERTY C_STANDARD 11) set_property(TARGET uv_objects PROPERTY C_STANDARD 11)
if (ENABLE_STATIC) if (ENABLE_STATIC)
add_library(getdns_ex_uv STATIC $<TARGET_OBJECTS:uv_objects>) add_library(getdns_ex_uv STATIC $<TARGET_OBJECTS:uv_objects>)
target_include_directories(getdns_ex_uv PRIVATE Libuv::Libuv) target_include_directories(getdns_ex_uv PRIVATE Libuv::Libuv)
target_link_libraries(getdns_ex_uv PUBLIC getdns Libuv::Libuv) target_link_libraries(getdns_ex_uv PUBLIC getdns Libuv::Libuv)
if (Libunbound_FOUND)
target_link_libraries(getdns_ex_uv PUBLIC Libunbound::Libunbound)
endif ()
set_target_properties(getdns_ex_uv PROPERTIES OUTPUT_NAME getdns_ex_uv${static_lib_suffix}) set_target_properties(getdns_ex_uv PROPERTIES OUTPUT_NAME getdns_ex_uv${static_lib_suffix})
endif () endif ()
if (ENABLE_SHARED) if (ENABLE_SHARED)
add_library(getdns_ex_uv_shared SHARED $<TARGET_OBJECTS:uv_objects>) add_library(getdns_ex_uv_shared SHARED $<TARGET_OBJECTS:uv_objects>)
target_include_directories(getdns_ex_uv_shared PRIVATE Libuv::Libuv) target_include_directories(getdns_ex_uv_shared PRIVATE Libuv::Libuv)
target_link_libraries(getdns_ex_uv_shared PUBLIC getdns_shared Libuv::Libuv) target_link_libraries(getdns_ex_uv_shared PUBLIC getdns_shared Libuv::Libuv)
if (Libunbound_FOUND)
target_link_libraries(getdns_ex_uv_shared PUBLIC Libunbound::Libunbound)
endif ()
set_target_properties(getdns_ex_uv_shared PROPERTIES OUTPUT_NAME getdns_ex_uv) set_target_properties(getdns_ex_uv_shared PROPERTIES OUTPUT_NAME getdns_ex_uv)
target_shared_library_version(getdns_ex_uv_shared ${GETDNS_VERSION_CURRENT} ${GETDNS_VERSION_REVISION} ${GETDNS_VERSION_AGE}) target_shared_library_version(getdns_ex_uv_shared ${GETDNS_VERSION_CURRENT} ${GETDNS_VERSION_REVISION} ${GETDNS_VERSION_AGE})
file(STRINGS src/extension/libuv.symbols symbols) file(STRINGS src/extension/libuv.symbols symbols)
@ -863,26 +873,54 @@ if (BUILD_GETDNS_SERVER_MON)
endif () endif ()
if (BUILD_TESTING) if (BUILD_TESTING)
find_package(Check "0.9.6" REQUIRED)
if (WIN32) if (WIN32)
message(WARNING "test programs do not build on Windows, skipping.") message(WARNING "Test programs require libcheck and so do not build on Windows, skipping.")
elseif (NOT Check_FOUND)
message(WARNING "check library not found, not building test programs.")
else () else ()
add_executable(check_getdns find_package(Check "0.9.6" REQUIRED)
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
@ -907,12 +945,7 @@ 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)
endif()
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 ()
# Substitutions in files. # Substitutions in files.

View File

@ -5,7 +5,7 @@
* libunbound 1.5.9 is now required * libunbound 1.5.9 is now required
* Only libidn2 2.0.0 and later is supported (not libidn) * Only libidn2 2.0.0 and later is supported (not libidn)
* Windows uses ENABLE_STUB_ONLY=ON as the default * Windows uses ENABLE_STUB_ONLY=ON as the default
* Regression tests work on Linux/macOS (not Windows yet) * Unit and regression tests work on Linux/macOS (but not Windows yet)
* 2019-04-03: Version 1.5.2 * 2019-04-03: Version 1.5.2
* PR #424: Two small trust anchor fetcher fixes * PR #424: Two small trust anchor fetcher fixes

View File

@ -85,7 +85,7 @@ Required to build the documentation:
* [Doxygen](http://www.doxygen.nl) is used to generate documentation; while this is not technically necessary for the build it makes things a lot more pleasant. * [Doxygen](http://www.doxygen.nl) is used to generate documentation; while this is not technically necessary for the build it makes things a lot more pleasant.
For example, to build on a recent version of Ubuntu, you would need the following packages for a full build: For example, to build on Ubuntu 18.04 or later, you would need the following packages for a full build:
# apt install build-essential libunbound-dev libidn2-dev libssl-dev cmake # apt install build-essential libunbound-dev libidn2-dev libssl-dev cmake
@ -273,6 +273,8 @@ build the packages; this is simply the one we chose to use.
getdns should also work on Ubuntu 16.04, however if you require IDN functionality you will have to install a recent version of libidn2 via a ppa e.g. from https://launchpad.net/~ondrej/+archive/ubuntu/php getdns should also work on Ubuntu 16.04, however if you require IDN functionality you will have to install a recent version of libidn2 via a ppa e.g. from https://launchpad.net/~ondrej/+archive/ubuntu/php
You will also have to build Unbound from source code to provide libunbound at version >= 1.5.9.
## OSX ## OSX
A self-compiled version of OpenSSL or the version installed via Homebrew is required and the options OPENSSL_ROOT_DIR, OPENSSL_CRYPTO_LIBRARY and OPENSSL_SSL_LIBRARY can be used to specify the location of the libraries. A self-compiled version of OpenSSL or the version installed via Homebrew is required and the options OPENSSL_ROOT_DIR, OPENSSL_CRYPTO_LIBRARY and OPENSSL_SSL_LIBRARY can be used to specify the location of the libraries.
@ -296,7 +298,7 @@ Windows versions of the following libraries are available using [the vcpkg packa
* OpenSSL * OpenSSL
* libevent * libevent
* libiconv * libiconv (required for libidn2)
* libidn2 * libidn2
* libyaml * libyaml
* libuv * libuv
@ -311,6 +313,8 @@ Full support for Windows is a work in progress. The following limitations will
* At present, no native Windows DLL version of libunbound exists; support for linking against libunbound is not currently available. The default build option for ENABLE_STUB_ONLY_ is ON for Windows. * At present, no native Windows DLL version of libunbound exists; support for linking against libunbound is not currently available. The default build option for ENABLE_STUB_ONLY_ is ON for Windows.
* The getdns unit tests (built with `make test`) require libcheck which is not currently available for Windows and so cannot be built.
* The getdns tpkg test suite is not currently supported on Windows. * The getdns tpkg test suite is not currently supported on Windows.
* The detection of the location of the `/etc/hosts` file should be optimised - it currently assumes Windows is installed in the default directory on the C: drive * The detection of the location of the `/etc/hosts` file should be optimised - it currently assumes Windows is installed in the default directory on the C: drive

View File

@ -35,6 +35,7 @@
#cmakedefine HAVE_NETDB_H 1 #cmakedefine HAVE_NETDB_H 1
#cmakedefine HAVE_ARPA_INET_H 1 #cmakedefine HAVE_ARPA_INET_H 1
#cmakedefine HAVE_NETINET_IN_H 1 #cmakedefine HAVE_NETINET_IN_H 1
#cmakedefine HAVE_NETINET_TCP_H 1
#cmakedefine HAVE_SYS_SELECT_H 1 #cmakedefine HAVE_SYS_SELECT_H 1
#cmakedefine HAVE_SYS_SOCKET_H 1 #cmakedefine HAVE_SYS_SOCKET_H 1
#cmakedefine HAVE_SYS_SYSCTL_H 1 #cmakedefine HAVE_SYS_SYSCTL_H 1
@ -127,9 +128,9 @@
#cmakedefine HAVE_DECL_SIGADDSET 1 #cmakedefine HAVE_DECL_SIGADDSET 1
#cmakedefine HAVE_DECL_STRPTIME 1 #cmakedefine HAVE_DECL_STRPTIME 1
#cmakedefine USE_DECL_TCP_FASTOPEN 1 #cmakedefine HAVE_DECL_TCP_FASTOPEN 1
#cmakedefine USE_DECL_TCP_FASTOPEN_CONNECT 1 #cmakedefine HAVE_DECL_TCP_FASTOPEN_CONNECT 1
#cmakedefine USE_DECL_MSG_FASTOPEN 1 #cmakedefine HAVE_DECL_MSG_FASTOPEN 1
#if defined(HAVE_DECL_INET_PTON) || defined(HAVE_WIN_DECL_INET_PTON) #if defined(HAVE_DECL_INET_PTON) || defined(HAVE_WIN_DECL_INET_PTON)
#undef HAVE_DECL_INET_PTON #undef HAVE_DECL_INET_PTON
@ -392,6 +393,10 @@ static inline int _gldns_custom_vsnprintf(char *str, size_t size, const char *fo
#include <netinet/in.h> #include <netinet/in.h>
#endif #endif
#ifdef HAVE_NETINET_TCP_H
#include <netinet/tcp.h>
#endif
#ifdef HAVE_ARPA_INET_H #ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h> #include <arpa/inet.h>
#endif #endif

View File

@ -455,7 +455,8 @@ tcp_connect(getdns_upstream *upstream, getdns_transport_list_t transport)
GETDNS_LOG_UPSTREAM_STATS, GETDNS_LOG_WARNING, GETDNS_LOG_UPSTREAM_STATS, GETDNS_LOG_WARNING,
"%-40s : Upstream : Could not setup TCP TFO\n", "%-40s : Upstream : Could not setup TCP TFO\n",
upstream->addr_str); upstream->addr_str);
# else
(void)transport;
# endif/* HAVE_DECL_TCP_FASTOPEN*/ # endif/* HAVE_DECL_TCP_FASTOPEN*/
# endif /* HAVE_DECL_TCP_FASTOPEN_CONNECT */ # endif /* HAVE_DECL_TCP_FASTOPEN_CONNECT */
#endif /* USE_OSX_TCP_FASTOPEN */ #endif /* USE_OSX_TCP_FASTOPEN */

View File

@ -224,7 +224,9 @@
EVENT_BASE_CREATE; EVENT_BASE_CREATE;
ASSERT_RC(getdns_address(context, "hostnamedoesntexist.", NULL, // Ubuntu 18.04 system resolver - does not foward single labels, returns
// SERVFAIL so this must be a multilabel name
ASSERT_RC(getdns_address(context, "hostname.doesntexist.", NULL,
&fn_ref, &transaction_id, callbackfn), &fn_ref, &transaction_id, callbackfn),
GETDNS_RETURN_GOOD, "Return code from getdns_address()"); GETDNS_RETURN_GOOD, "Return code from getdns_address()");
@ -237,7 +239,8 @@
{ {
assert_nxdomain(ex_response); assert_nxdomain(ex_response);
assert_nodata(ex_response); assert_nodata(ex_response);
assert_soa_in_authority(ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(ex_response);
} }

View File

@ -140,6 +140,7 @@
} }
END_TEST END_TEST
#if 0
START_TEST (getdns_general_6) START_TEST (getdns_general_6)
{ {
/* /*
@ -173,6 +174,7 @@
assert_noerror(ex_response); assert_noerror(ex_response);
assert_nodata(ex_response); assert_nodata(ex_response);
} }
#endif
START_TEST (getdns_general_7) START_TEST (getdns_general_7)
{ {
@ -313,7 +315,8 @@
{ {
assert_nxdomain(ex_response); assert_nxdomain(ex_response);
assert_nodata(ex_response); assert_nodata(ex_response);
assert_soa_in_authority(ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(ex_response);
} }
START_TEST (getdns_general_11) START_TEST (getdns_general_11)
@ -401,7 +404,8 @@
/* Positive test cases */ /* Positive test cases */
TCase *tc_pos = tcase_create("Positive"); TCase *tc_pos = tcase_create("Positive");
tcase_add_test(tc_pos, getdns_general_6); // Ubuntu 18.04 system resolver returns FORMERR for this query
//tcase_add_test(tc_pos, getdns_general_6);
tcase_add_test(tc_pos, getdns_general_7); tcase_add_test(tc_pos, getdns_general_7);
tcase_add_test(tc_pos, getdns_general_8); tcase_add_test(tc_pos, getdns_general_8);
tcase_add_test(tc_pos, getdns_general_9); tcase_add_test(tc_pos, getdns_general_9);

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)
{ {
@ -257,7 +257,8 @@
assert_nxdomain(&ex_response); assert_nxdomain(&ex_response);
assert_nodata(&ex_response); assert_nodata(&ex_response);
assert_soa_in_authority(&ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(&ex_response);
CONTEXT_DESTROY; CONTEXT_DESTROY;
} }
@ -334,7 +335,8 @@
/* Positive test cases */ /* Positive test cases */
TCase *tc_pos = tcase_create("Positive"); TCase *tc_pos = tcase_create("Positive");
tcase_add_test(tc_pos, getdns_general_sync_6); // Ubuntu 18.04 system resolver returns FORMERR for this query
//tcase_add_test(tc_pos, getdns_general_sync_6);
tcase_add_test(tc_pos, getdns_general_sync_7); tcase_add_test(tc_pos, getdns_general_sync_7);
tcase_add_test(tc_pos, getdns_general_sync_8); tcase_add_test(tc_pos, getdns_general_sync_8);
tcase_add_test(tc_pos, getdns_general_sync_9); tcase_add_test(tc_pos, getdns_general_sync_9);

View File

@ -361,7 +361,7 @@
struct getdns_context *context = NULL; struct getdns_context *context = NULL;
struct getdns_dict *address = NULL; struct getdns_dict *address = NULL;
struct getdns_bindata address_type = { 5, (void *)"IPv4" }; struct getdns_bindata address_type = { 5, (void *)"IPv4" };
struct getdns_bindata address_data = { 4, (void *)"\xb9\x31\x8c\x00" }; struct getdns_bindata address_data = { 4, (void *)"\x08\x08\x08\x00" };
void* eventloop = NULL; void* eventloop = NULL;
getdns_transaction_t transaction_id = 0; getdns_transaction_t transaction_id = 0;
@ -390,7 +390,8 @@
{ {
assert_nxdomain(ex_response); assert_nxdomain(ex_response);
assert_nodata(ex_response); assert_nodata(ex_response);
assert_soa_in_authority(ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(ex_response);
} }
START_TEST (getdns_hostname_12) START_TEST (getdns_hostname_12)
@ -478,7 +479,8 @@
{ {
assert_nxdomain(ex_response); assert_nxdomain(ex_response);
assert_nodata(ex_response); assert_nodata(ex_response);
assert_soa_in_authority(ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(ex_response);
} }
Suite * Suite *

View File

@ -304,7 +304,7 @@
struct getdns_context *context = NULL; struct getdns_context *context = NULL;
struct getdns_dict *address = NULL; struct getdns_dict *address = NULL;
struct getdns_bindata address_type = { 5, (void *)"IPv4" }; struct getdns_bindata address_type = { 5, (void *)"IPv4" };
struct getdns_bindata address_data = { 4, (void *)"\xb9\x31\x8c\x00" }; struct getdns_bindata address_data = { 4, (void *)"\x08\x08\x08\x00" };
struct getdns_dict *response = NULL; struct getdns_dict *response = NULL;
CONTEXT_CREATE(TRUE); CONTEXT_CREATE(TRUE);
@ -322,7 +322,8 @@
assert_nxdomain(&ex_response); assert_nxdomain(&ex_response);
assert_nodata(&ex_response); assert_nodata(&ex_response);
assert_soa_in_authority(&ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(&ex_response);
DICT_DESTROY(address); DICT_DESTROY(address);
CONTEXT_DESTROY; CONTEXT_DESTROY;
@ -392,7 +393,8 @@
assert_nxdomain(&ex_response); assert_nxdomain(&ex_response);
assert_nodata(&ex_response); assert_nodata(&ex_response);
assert_soa_in_authority(&ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(&ex_response);
DICT_DESTROY(address); DICT_DESTROY(address);
CONTEXT_DESTROY; CONTEXT_DESTROY;

View File

@ -170,7 +170,8 @@
{ {
assert_nxdomain(ex_response); assert_nxdomain(ex_response);
assert_nodata(ex_response); assert_nodata(ex_response);
assert_soa_in_authority(ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(ex_response);
} }

View File

@ -135,7 +135,8 @@
assert_nxdomain(&ex_response); assert_nxdomain(&ex_response);
assert_nodata(&ex_response); assert_nodata(&ex_response);
assert_soa_in_authority(&ex_response); // Ubuntu 18.04 system resolver does not return an SOA
//assert_soa_in_authority(&ex_response);
} }
END_TEST END_TEST

View File

@ -5,7 +5,7 @@
[ -f .tpkg.var.test ] && source .tpkg.var.test [ -f .tpkg.var.test ] && source .tpkg.var.test
LOCALHOST=`${GETDNS_STUB_QUERY} '{namespaces:[GETDNS_NAMESPACE_LOCALNAMES]}' -A localhost. -J \ LOCALHOST=`${GETDNS_STUB_QUERY} '{namespaces:[GETDNS_NAMESPACE_LOCALNAMES]}' -A localhost. -J \
| awk -F: '/\"address_data\".*\"127/{print $2}' \ | awk -F: '/\"address_data\".*\"127/{print $2;exit}' \
| sed -e 's/^[^"]*"//g' -e 's/"[^"]*$//g'` | sed -e 's/^[^"]*"//g' -e 's/"[^"]*$//g'`
echo "localhost: $LOCALHOST" echo "localhost: $LOCALHOST"
@ -15,9 +15,9 @@ cmake . && make && valgrind -v --log-file=valgrind.log --leak-check=full --error
${GETDNS_STUB_QUERY} -s -t 1000 @${LOCALHOST}:$PORT TXT cancel. +return_call_reporting 2>&1 > time_out ${GETDNS_STUB_QUERY} -s -t 1000 @${LOCALHOST}:$PORT TXT cancel. +return_call_reporting 2>&1 > time_out
${GETDNS_STUB_QUERY} -s @${LOCALHOST}:$PORT TXT test +return_call_reporting 2>&1 > tcp_out ${GETDNS_STUB_QUERY} -s @${LOCALHOST}:$PORT TXT test. +return_call_reporting 2>&1 > tcp_out
${GETDNS_STUB_QUERY} -s -U @${LOCALHOST}:$PORT2 TXT test +return_call_reporting 2>&1 > udp_out ${GETDNS_STUB_QUERY} -s -U @${LOCALHOST}:$PORT2 TXT test. +return_call_reporting 2>&1 > udp_out
${GETDNS_STUB_QUERY} -s -q @${LOCALHOST}:$PORT TXT quit. ${GETDNS_STUB_QUERY} -s -q @${LOCALHOST}:$PORT TXT quit.
) )

View File

@ -6,7 +6,7 @@
LOCALHOST=`${GETDNS_STUB_QUERY} '{namespaces:[GETDNS_NAMESPACE_LOCALNAMES]}' -A localhost. -J \ LOCALHOST=`${GETDNS_STUB_QUERY} '{namespaces:[GETDNS_NAMESPACE_LOCALNAMES]}' -A localhost. -J \
| awk -F: '/\"address_data\".*\"127/{print $2}' \ | awk -F: '/\"address_data\".*\"127/{print $2;exit}' \
| sed -e 's/^[^"]*"//g' -e 's/"[^"]*$//g'` | sed -e 's/^[^"]*"//g' -e 's/"[^"]*$//g'`
echo "localhost: $LOCALHOST" echo "localhost: $LOCALHOST"

View File

@ -6,7 +6,7 @@
LOCALHOST=`${GETDNS_STUB_QUERY} '{namespaces:[GETDNS_NAMESPACE_LOCALNAMES]}' -A localhost. -J \ LOCALHOST=`${GETDNS_STUB_QUERY} '{namespaces:[GETDNS_NAMESPACE_LOCALNAMES]}' -A localhost. -J \
| awk -F: '/\"address_data\".*\"127/{print $2}' \ | awk -F: '/\"address_data\".*\"127/{print $2;exit}' \
| sed -e 's/^[^"]*"//g' -e 's/"[^"]*$//g'` | sed -e 's/^[^"]*"//g' -e 's/"[^"]*$//g'`
echo "localhost: $LOCALHOST" echo "localhost: $LOCALHOST"

View File

@ -6,7 +6,7 @@
( (
cd "${BUILDDIR}/build-static-analysis" cd "${BUILDDIR}/build-static-analysis"
scan-build -o ../scan-build-reports -v --status-bugs make -j 4 everything scan-build -o ../scan-build-reports -v --status-bugs make -j 4 all
) || ( ) || (
chmod 0400 ./400-static-analysis chmod 0400 ./400-static-analysis
scp -o "StrictHostKeyChecking no" -i ./400-static-analysis -r "${BUILDDIR}/scan-build-reports" static-analysis@getdnsapi.net:scan-build-resports-$$-`date +%s` scp -o "StrictHostKeyChecking no" -i ./400-static-analysis -r "${BUILDDIR}/scan-build-reports" static-analysis@getdnsapi.net:scan-build-resports-$$-`date +%s`

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