getdns/src/test
W.C.A. Wijngaards bbdf91de9f Use compiler detected by configure (portability test on Minix). 2014-02-14 11:40:23 +01:00
..
Makefile.in Use compiler detected by configure (portability test on Minix). 2014-02-14 11:40:23 +01:00
README list data type partially implemented, unit test framework started 2013-07-19 16:19:22 -04:00
check_getdns.c fix merge issue 2014-02-11 16:39:35 -05:00
check_getdns_address.h Add libuv support. Change event loop handling in tests 2014-02-05 00:01:55 -05:00
check_getdns_address_sync.h Adjust all context = NULL tests to expect GETDNS_RETURN_INVALID_PARAMETER 2014-02-04 10:17:28 -05:00
check_getdns_cancel_callback.h use enum types where possible 2014-02-09 17:46:12 +01:00
check_getdns_common.c move to enum types leftovers in tests 2014-02-09 21:58:50 +01:00
check_getdns_common.h use enum types where possible 2014-02-09 17:46:12 +01:00
check_getdns_context_create.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_context_destroy.h Add libuv support. Change event loop handling in tests 2014-02-05 00:01:55 -05:00
check_getdns_context_set_context_update_callback.h use enum types where possible 2014-02-09 17:46:12 +01:00
check_getdns_context_set_dns_transport.h use enum types where possible 2014-02-09 17:46:12 +01:00
check_getdns_context_set_timeout.c remove bzero usage (portability). 2014-02-11 10:01:23 +01:00
check_getdns_context_set_timeout.h Add timeout test. 2014-02-06 22:40:36 -05:00
check_getdns_context_set_upstream_recursive_servers.h add some more new test and fix auto merge issue on git pull 2014-02-08 11:42:54 -05:00
check_getdns_convert_alabel_to_ulabel.h fixed assert on return code for NULL input values 2014-01-27 19:43:12 +00:00
check_getdns_convert_ulabel_to_alabel.h fixed assert on return code for NULL input values 2014-01-27 19:43:12 +00:00
check_getdns_dict_destroy.h Added tests for getdns_dict_destroy() 2014-01-08 11:29:33 -05:00
check_getdns_dict_get_bindata.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_dict_get_data_type.h Test adjustments for GETDNS_RETURN_INVALID_PARAMETER 2014-01-10 11:57:37 -05:00
check_getdns_dict_get_dict.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_dict_get_int.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_dict_get_list.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_dict_get_names.h Remove warnings about sprintf and strcat tests. 2014-02-04 11:20:33 +01:00
check_getdns_dict_set_bindata.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_dict_set_dict.h Test adjustments for GETDNS_RETURN_INVALID_PARAMETER 2014-01-10 11:57:37 -05:00
check_getdns_dict_set_int.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_dict_set_list.h Added tests for getdns_dict_set_list() 2014-01-10 13:50:31 -05:00
check_getdns_display_ip_address.h added test for display ip addresses and context_set_context_update 2014-01-30 14:24:22 -05:00
check_getdns_general.h Strike BAD DOMAIN tests for IPs 2014-02-05 15:55:40 -05:00
check_getdns_general_sync.h Strike BAD DOMAIN tests for IPs 2014-02-05 15:55:40 -05:00
check_getdns_hostname.h Add libuv support. Change event loop handling in tests 2014-02-05 00:01:55 -05:00
check_getdns_hostname_sync.h Adjust all context = NULL tests to expect GETDNS_RETURN_INVALID_PARAMETER 2014-02-04 10:17:28 -05:00
check_getdns_libev.c Remove printfs. 2014-02-06 00:29:34 -05:00
check_getdns_libev.h Fix some major bugs in extensions when clearing timeout. Add libev 2014-02-06 00:24:26 -05:00
check_getdns_libevent.h Add libuv support. Change event loop handling in tests 2014-02-05 00:01:55 -05:00
check_getdns_list_get_bindata.h add new test for getdns_list 2014-01-23 10:26:13 -05:00
check_getdns_list_get_data_type.h Fixed false negatives in check_getdns_list_get_data_type.h 2014-01-28 10:28:27 -05:00
check_getdns_list_get_dict.h add new test for getdns_list 2014-01-23 10:26:13 -05:00
check_getdns_list_get_int.h fix code 2014-01-23 15:52:18 -05:00
check_getdns_list_get_length.h Modify expected return code for INVALID_PARAMETER conditions 2014-01-13 14:13:52 -05:00
check_getdns_list_get_list.h add new test for getdns_list 2014-01-23 10:26:13 -05:00
check_getdns_pretty_print_dict.h pretty_print_dict print ints in lists 2014-02-04 10:10:12 +01:00
check_getdns_service.h fix return type 2014-02-11 16:43:00 -05:00
check_getdns_service_sync.h fix merge issue 2014-02-11 16:39:35 -05:00
testmessages.c removed references to MIT license, replaced with BSD license 2014-01-28 09:37:35 -05:00
testmessages.h removed references to MIT license, replaced with BSD license 2014-01-28 09:37:35 -05:00
tests_dict.c Remove warnings about sprintf and strcat tests. 2014-02-04 11:20:33 +01:00
tests_dict.good update testscript, check_dns is much better than diff. 2014-02-04 11:35:28 +01:00
tests_dnssec.c Eliminate use of uninitialized variable warning 2014-02-11 10:18:41 +01:00
tests_list.c Remove warnings about sprintf and strcat tests. 2014-02-04 11:20:33 +01:00
tests_list.good update testscript, check_dns is much better than diff. 2014-02-04 11:35:28 +01:00
tests_stub_async.c use enum types where possible 2014-02-09 17:46:12 +01:00
tests_stub_async.good update testscript, check_dns is much better than diff. 2014-02-04 11:35:28 +01:00
tests_stub_sync.c use enum types where possible 2014-02-09 17:46:12 +01:00
tests_stub_sync.good update testscript, check_dns is much better than diff. 2014-02-04 11:35:28 +01:00
testscript.sh make tests work repeatedly (make test) 2014-02-06 09:11:42 +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