mirror of https://github.com/getdnsapi/getdns.git
ff77af148e | ||
---|---|---|
.. | ||
jsmn@daa17063c6 | ||
tpkg | ||
Makefile.in | ||
README | ||
check_getdns.c | ||
check_getdns_address.h | ||
check_getdns_address_sync.h | ||
check_getdns_cancel_callback.h | ||
check_getdns_common.c | ||
check_getdns_common.h | ||
check_getdns_context_create.h | ||
check_getdns_context_destroy.h | ||
check_getdns_context_set_context_update_callback.h | ||
check_getdns_context_set_dns_transport.h | ||
check_getdns_context_set_timeout.c | ||
check_getdns_context_set_timeout.h | ||
check_getdns_context_set_upstream_recursive_servers.h | ||
check_getdns_convert_alabel_to_ulabel.h | ||
check_getdns_convert_ulabel_to_alabel.h | ||
check_getdns_dict_destroy.h | ||
check_getdns_dict_get_bindata.h | ||
check_getdns_dict_get_data_type.h | ||
check_getdns_dict_get_dict.h | ||
check_getdns_dict_get_int.h | ||
check_getdns_dict_get_list.h | ||
check_getdns_dict_get_names.h | ||
check_getdns_dict_set_bindata.h | ||
check_getdns_dict_set_dict.h | ||
check_getdns_dict_set_int.h | ||
check_getdns_dict_set_list.h | ||
check_getdns_display_ip_address.h | ||
check_getdns_eventloop.h | ||
check_getdns_general.h | ||
check_getdns_general_sync.h | ||
check_getdns_hostname.h | ||
check_getdns_hostname_sync.h | ||
check_getdns_libev.c | ||
check_getdns_libevent.c | ||
check_getdns_libevent.h | ||
check_getdns_libuv.c | ||
check_getdns_list_get_bindata.h | ||
check_getdns_list_get_data_type.h | ||
check_getdns_list_get_dict.h | ||
check_getdns_list_get_int.h | ||
check_getdns_list_get_length.h | ||
check_getdns_list_get_list.h | ||
check_getdns_pretty_print_dict.h | ||
check_getdns_selectloop.c | ||
check_getdns_service.h | ||
check_getdns_service_sync.h | ||
check_getdns_transport.c | ||
check_getdns_transport.h | ||
getdns_query.c | ||
getdns_str2dict.c | ||
getdns_str2dict.h | ||
scratchpad.template.c | ||
testmessages.c | ||
testmessages.h | ||
tests_dict.c | ||
tests_dict.good | ||
tests_list.c | ||
tests_list.good | ||
tests_namespaces.c | ||
tests_namespaces.good | ||
tests_stub_async.c | ||
tests_stub_async.good | ||
tests_stub_sync.c | ||
tests_stub_sync.good | ||
tests_transports.sh | ||
testscript.sh |
README
The programs in this directory are intended to provide a regression test suite - we should be adding tests here as we build the package. When building unit tests one approach that makes regression testing easy is to generate canonical output and maintain that with the code. Changes to the code should produce output that matches the canonical output, if it doesn't then the developer needs to look at the differences to determine whether something broke or is fixed. Once the new output is verified it can replace the canonical output. A typical flow might be illustrated via tests_list: - build tests_list (an executable linked against the library) - run the regression tests ./tests_list > tests_list.out - compare output to canonical output diff tests_list.out tests_list.can > tests_list.res - if there are any diffs then a change affected the output - verify the new output and copy it to tests_list.can - commit the new canonical output to the repository Some of the tests that remain to be implemented: - memory leak testing integrated into the test progs libcheck facilitates selectively debugging of specific cases. Example usage: $ CK_LOG_FILE_NAME="/dev/stderr" CK_FORK=no \ CK_RUN_SUITE="getdns_context_set_timeout()" CK_RUN_CASE="Positive" \ ../../libtool exe gdb --args ./check_getdns