getdns/src/test
Willem Toorop f95a052e55 Rewrite DNS proxy in transport/timeout test suites
To use the new DNS packet conversion functions.
This looses the dependency on ldns for unit tests too.
2016-03-14 10:41:32 +01:00
..
tpkg Loose bc dependency with tpkg 2016-03-10 14:37:00 +01:00
Makefile.in Rewrite DNS proxy in transport/timeout test suites 2016-03-14 10:41:32 +01:00
README list data type partially implemented, unit test framework started 2013-07-19 16:19:22 -04:00
check_getdns.c Added a check for transport 2014-09-04 14:50:09 +00:00
check_getdns_address.h Miscelaneous fixes that came out of the unit tests 2014-10-15 01:13:39 +02:00
check_getdns_address_sync.h Fix test for NODATA address_sync lookup 2015-07-07 11:46:52 +02:00
check_getdns_cancel_callback.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_common.c Fix reversed IPv6 to domain under our control 2015-02-19 10:31:18 +01:00
check_getdns_common.h Fix ASSERT_RC macro with check_getdns 2015-04-03 00:15:32 +02:00
check_getdns_context_create.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_context_destroy.h Fix signal.h include. 2014-03-12 21:32:18 -04:00
check_getdns_context_set_context_update_callback.h Unit test fail with unimplemented follow_redirect 2015-12-30 14:10:36 +01:00
check_getdns_context_set_dns_transport.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_context_set_timeout.c Rewrite DNS proxy in transport/timeout test suites 2016-03-14 10:41:32 +01:00
check_getdns_context_set_timeout.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_context_set_upstream_recursive_servers.h Disable IPv6 only test, because travis containers 2015-12-10 16:49:55 +01:00
check_getdns_convert_alabel_to_ulabel.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_convert_ulabel_to_alabel.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_destroy.h Fix signal.h include. 2014-03-12 21:32:18 -04:00
check_getdns_dict_get_bindata.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_get_data_type.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_get_dict.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_get_int.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_get_list.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_get_names.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_set_bindata.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_set_dict.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_set_int.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_dict_set_list.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_display_ip_address.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_eventloop.h Prevent duplicate symbol _context on Darwin 2014-11-06 21:09:28 +01:00
check_getdns_general.h Fix NOERROR/NODATA test 2015-03-02 11:44:27 +01:00
check_getdns_general_sync.h Fix NOERROR/NODATA test 2015-03-02 11:44:27 +01:00
check_getdns_hostname.h enlarge timeouts for hostname_12 unit tests 2015-03-26 13:40:39 -05:00
check_getdns_hostname_sync.h enlarge timeouts for hostname_12 unit tests 2015-03-26 13:40:39 -05:00
check_getdns_libev.c Make libev work on Fedora too 2014-05-26 15:56:30 +02:00
check_getdns_libevent.c prefer includes local to builddir 2014-05-19 15:50:34 +02:00
check_getdns_libevent.h Define u_char if including event.h for libevent1 2014-02-25 14:21:44 -05:00
check_getdns_libuv.c prefer includes local to builddir 2014-05-19 15:50:34 +02:00
check_getdns_list_get_bindata.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_list_get_data_type.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_list_get_dict.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_list_get_int.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_list_get_length.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_list_get_list.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_pretty_print_dict.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_selectloop.c Miscelaneous fixes that came out of the unit tests 2014-10-15 01:13:39 +02:00
check_getdns_service.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_service_sync.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
check_getdns_transport.c Rewrite DNS proxy in transport/timeout test suites 2016-03-14 10:41:32 +01:00
check_getdns_transport.h Added a check for transport 2014-09-04 14:50:09 +00:00
getdns_query.c Default is stub when compiling stub only 2016-01-05 12:30:58 +01:00
scratchpad.template.c Bugfixes for setting with json pointers 2015-10-08 12:54:30 +02:00
testmessages.c Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
testmessages.h Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00
tests_dict.c Loose non standard unexposed prototypes 2014-05-21 10:13:02 +02:00
tests_dict.good update testscript, check_dns is much better than diff. 2014-02-04 11:35:28 +01:00
tests_list.c Internal symbols always prefixed with _getdns 2015-08-19 16:30:15 +02:00
tests_list.good update testscript, check_dns is much better than diff. 2014-02-04 11:35:28 +01:00
tests_namespaces.c No executable flags on source files 2015-01-20 12:16:49 +01:00
tests_namespaces.good rm spurious execute bits +unit test to detect them 2015-05-26 14:16:27 +02:00
tests_stub_async.c Fix tests 2015-12-18 16:14:54 +00:00
tests_stub_async.good Crude changes to stub test scripts to allow testing of all transport and recusive mode combinations 2014-10-22 17:09:33 +00:00
tests_stub_sync.c Synchronize with October 2015 spec 2015-10-22 12:02:04 +02:00
tests_stub_sync.good Crude changes to stub test scripts to allow testing of all transport and recusive mode combinations 2014-10-22 17:09:33 +00:00
tests_transports.sh Final mixups 2015-12-24 10:00:15 +00:00
testscript.sh Fill in <organization> place holder. 2014-02-25 14:23:19 +01:00

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