getdns/src/test
Craig E. Despeaux c1f7ced032 Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
..
Makefile.in refactoring: check_getdns_common.h check_getdns_common.c check_getdns.c, tests are now in header files 2013-12-19 19:36:41 -05:00
README list data type partially implemented, unit test framework started 2013-07-19 16:19:22 -04:00
check_getdns.c Added test suites for getdns_list_get_length() and getdns_list_get_data_type(). 2013-12-20 11:20:57 -05:00
check_getdns_address_sync.h Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
check_getdns_common.c Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
check_getdns_common.h Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
check_getdns_general.h Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
check_getdns_general_sync.h Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
check_getdns_libevent.h A little cleanup to eliminate some compile warnings. 2013-12-20 00:00:41 -05:00
check_getdns_list_get_data_type.h Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
check_getdns_list_get_length.h Implemented most of Neel's review feedback. 2013-12-20 14:08:19 -05:00
testmessages.c Ran indent with the indent.pro committed 2013-11-05 15:03:44 -05:00
testmessages.h the dict and list data types with helper functions work, unit tests 2013-07-31 16:21:42 -04:00
tests_dict.c Remove/add missing prototypes 2013-12-03 16:09:26 +01:00
tests_dict.can the dict and list data types with helper functions work, unit tests 2013-07-31 16:21:42 -04:00
tests_dict.good OSX. Header more lenient, no linenr in test 2013-12-03 12:13:10 +01:00
tests_list.c getdns_list_set_* on list length mean append 2013-12-09 16:26:18 +01:00
tests_list.can the dict and list data types with helper functions work, unit tests 2013-07-31 16:21:42 -04:00
tests_list.good make test and a testscript and output comparisons. 2013-11-29 16:24:39 +01:00
tests_stub_async.c Fix example-reverse (and reverse_address) 2013-12-11 23:41:21 +01:00
tests_stub_async.good make test and a testscript and output comparisons. 2013-11-29 16:24:39 +01:00
tests_stub_sync.c Get rid of typedefs for structs 2013-12-06 15:54:06 +01:00
tests_stub_sync.good make test and a testscript and output comparisons. 2013-11-29 16:24:39 +01:00
testscript.sh Fix shell portability, test succeeds on NetBSD. 2013-11-30 12:32:17 +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