1933707f3SsthenREADME unbound tests 2933707f3Ssthen 3933707f3SsthenFor a quick test that runs unit tests and state machine tests, use 4933707f3Ssthen make test 5933707f3Ssthen 6933707f3SsthenThere is a long test setup for unbound that needs tools installed. Use 7933707f3Ssthen make longtest 8933707f3SsthenTo make and run the long tests. The results are summarized at the end. 9933707f3Ssthen 10933707f3SsthenYou need to have the following programs installed and in your PATH. 11933707f3Ssthen* dig - from the bind-tools package. Used to send DNS queries. 12933707f3Ssthen* splint (optional) - for lint test 13933707f3Ssthen* doxygen (optional) - for doc completeness test 14933707f3Ssthen* ldns-testns - from ldns examples. Used as DNS auth server. 15933707f3Ssthen* xxd and nc (optional) - for (malformed) packet transmission. 16933707f3SsthenThe optional programs are detected and can be omitted. 17933707f3Ssthen 18*83152a15SsthenYou can also use prepared Dockerfile to run tests inside docker based on latest gcc image: 19*83152a15Ssthen* build container: docker build -t unbound-tester -f contrib/Dockerfile.tests . 20*83152a15Ssthen* run container: docker run -it --mount type=bind,source="$(pwd)",target=/usr/src/unbound --rm unbound-tester 21*83152a15Ssthen* configure environment: ./configure 22*83152a15Ssthen* run test: make test 23*83152a15Ssthen* run long tests: make longtest 24*83152a15SsthenIt is worth to mention that you need to enable [ipv6 in your docker daemon configuration](https://docs.docker.com/config/daemon/ipv6/) because some tests need ipv6 network stack. 25*83152a15Ssthen 26933707f3Ssthentestdata/ contains the data for tests. 27933707f3Ssthentestcode/ contains scripts and c code for the tests. 28933707f3Ssthen 29933707f3Ssthendo-tests.sh : runs all the tests in the testdata directory. 30933707f3Ssthentestbed.sh : compiles on a set of (user specific) hosts and runs do-tests. 31933707f3Ssthen 32933707f3SsthenTests are run using testcode/mini_tpkg.sh. 33