xref: /openbsd-src/usr.sbin/unbound/doc/README.tests (revision 83152a15cdc99ac1e0df21c06e440e1660f29e5f)
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