README revision 1928be262ca25485f4d7f0f6473fc5cafa0c3905
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThis is a simple test environment for running bind9 system tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininvolving multiple name servers.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThere are multiple test suites, each in a separate subdirectory and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeininvolving a different DNS setup. They are:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein dnssec/ DNSSEC tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein forward/ Forwarding tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein glue/ Glue handling tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein limits/ Tests of handling of large data (close to server limits)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein lwresd/ Tests of the lightweight resolver library and daemon
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein notify/ More NOTIFY tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein nsupdate/ Dynamic update and IXFR tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein resolver/ Regression tests for resolver bugs that have been fixed
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein (not a complete resolver test suite)
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein stub/ Tests of stub zone functionality
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein unknown/ Unknown type and class tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein upforwd/ Update forwarding tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein views/ Tests of the "views" statement
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein xfer/ Zone transfer tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein xferquota/ Zone transfer quota tests
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTypically each test suite sets up 2-5 name servers and then performs
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinone or more tests against them. Within the test suite subdirectory,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeineach name server has a separate subdirectory containing its
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinconfiguration data. By convention, these subdirectories are named
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein"ns1", "ns2", etc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThe tests are completely self-contained and do not require access to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinthe real DNS. Generally, one of the test servers (ns1) is set up as a
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinroot name server and is listed in the hints file of the others.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTo enable all servers to run on the same machine, they bind to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinseparate virtual IP address on the loopback interface. ns1 runs on
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein10.53.0.1, ns2 on 10.53.0.2, etc. Before running any tests, you must
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinset up these addresses by running "ifconfig.sh start".
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThe servers use port 5300 instead of the usual port 53, so they can be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austeinrun without root privileges once the interfaces have been set up.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinThe tests can be run individually like this:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sh run.sh xfer
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein sh run.sh notify
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein etc.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob AusteinTo run all the tests, just type "make test".
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein$Id: README,v 1.9 2000/12/19 19:21:06 gson Exp $
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein