README revision c13b8351b4dfb18806af4eb3c0fea240d83d1f82
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence
b624001e36cf750d88a13d300915b0a8ea936d3aTinderbox UserThis is a simple test environment for running bind9 system tests
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewsinvolving multiple name servers.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence
ec5347e2c775f027573ce5648b910361aa926c01Automatic UpdaterThere are multiple test suites, each in a separate subdirectory and
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrenceinvolving a different DNS setup. They are:
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence xfer/ Zone transfer, update, and NOTIFY tests
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews dnssec/ DNSSEC tests
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews xferquote/ Zone transfer quota tests
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews
dafcb997e390efa4423883dafd100c975c4095d6Mark AndrewsTypically each test suite sets up 2-4 name servers and then performs
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewsone or more tests against them. Within the test suite subdirectory,
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewseach name server has a separate subdirectory containing its
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrewsconfiguration data. By convention, these subdirectories are named
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence"ns1", "ns2", etc.
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence
a2734fa74aecefc958622b01467398985041cec1Mark AndrewsThe tests are completely self-contained and do not require access to
a2734fa74aecefc958622b01467398985041cec1Mark Andrewsthe real DNS. One of the test servers (ns1) is set up as a root
a2734fa74aecefc958622b01467398985041cec1Mark Andrewsname server and is listed in the hints file of the others.
a2734fa74aecefc958622b01467398985041cec1Mark Andrews
a2734fa74aecefc958622b01467398985041cec1Mark AndrewsTo enable all servers to run on the same machine, they bind to
a2734fa74aecefc958622b01467398985041cec1Mark Andrewsseparate virtual IP address on the loopback interface. ns1 runs on
a2734fa74aecefc958622b01467398985041cec1Mark Andrews10.53.0.1, ns2 on 10.53.0.2, etc. Before running any tests, you must
a2734fa74aecefc958622b01467398985041cec1Mark Andrewsset up these addresses by running the script "ifconfig.sh".
a2734fa74aecefc958622b01467398985041cec1Mark Andrews
a2734fa74aecefc958622b01467398985041cec1Mark AndrewsXXX the ifconfig.sh script is known to work only on NetBSD.
a2734fa74aecefc958622b01467398985041cec1Mark Andrews
a2734fa74aecefc958622b01467398985041cec1Mark AndrewsBecause the servers run on port 53, the tests must be run as root.
bff64bf12b58a6f80e740e94f2e42a32df18113aEvan Hunt
a2734fa74aecefc958622b01467398985041cec1Mark AndrewsTo run the tests:
a2734fa74aecefc958622b01467398985041cec1Mark Andrews
a2734fa74aecefc958622b01467398985041cec1Mark Andrews sh run.sh xfer
a2734fa74aecefc958622b01467398985041cec1Mark Andrews [check that xfer/ns3/example.bk has been created]
a2734fa74aecefc958622b01467398985041cec1Mark Andrews [run update_test.pl against ns2, check that changes propagate to ns3,
a2734fa74aecefc958622b01467398985041cec1Mark Andrews which they currently don't because notifies are not sent after dynamic
a2734fa74aecefc958622b01467398985041cec1Mark Andrews updates like they ought to be]
a2734fa74aecefc958622b01467398985041cec1Mark Andrews sh stop.sh xfer
a2734fa74aecefc958622b01467398985041cec1Mark Andrews
a2734fa74aecefc958622b01467398985041cec1Mark Andrews sh run.sh dnssec
a2734fa74aecefc958622b01467398985041cec1Mark Andrews dig a.secure.example. a @10.53.0.4
a2734fa74aecefc958622b01467398985041cec1Mark Andrews [should return 10.0.0.1, AD=1]
a2734fa74aecefc958622b01467398985041cec1Mark Andrews dig c.secure.example. a @10.53.0.4
a2734fa74aecefc958622b01467398985041cec1Mark Andrews [should return NXDOMAIN, AD=1]
a2734fa74aecefc958622b01467398985041cec1Mark Andrews sh stop.sh dnssec
a2734fa74aecefc958622b01467398985041cec1Mark Andrews
28a8f5b0de57d269cf2845c69cb6abe18cbd3b3aMark Andrews sh run.sh dnssec --badsig
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein dig a.secure.example. a @10.53.0.4
ab023a65562e62b85a824509d829b6fad87e00b1Rob Austein [should return SERVFAIL]
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence sh stop.sh dnssec
6b7257f756eb0530cdf54df9a7fab8d51a5001c3David Lawrence
6b7257f756eb0530cdf54df9a7fab8d51a5001c3David Lawrence sh run.sh xferquota
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence [check that xferquota/ns2 now contains 100 .bk files]
34e5a08809dda3276252269ebddd1616e62081a2Mark Andrews sh stop.sh xferquota
826c281a05cb89c9c28621937dc83fa676a5b207David Lawrence
ab7c67129234bbaa03c2529729d8da746a453a49Michael Graff sh clean.sh
3507ae5d59e8574970bbe9246287209418d8351bDavid Lawrence
3507ae5d59e8574970bbe9246287209418d8351bDavid LawrenceXXX The manual operations in [brackets] above should be automated.
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence
34e5a08809dda3276252269ebddd1616e62081a2Mark Andrews$Id: README,v 1.2 2000/05/15 23:09:42 gson Exp $
8b7304a34c751e519ede7d00b77f1f962c0a37e4David Lawrence