1Copyright (C) 2004, 2010, 2011  Internet Systems Consortium, Inc. ("ISC")
2Copyright (C) 2000, 2001  Internet Software Consortium.
3See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
4
5This is a simple test environment for running bind9 system tests
6involving multiple name servers.
7
8There are multiple test suites, each in a separate subdirectory and
9involving a different DNS setup.  They are:
10
11  dnssec/	DNSSEC tests
12  forward/	Forwarding tests
13  glue/		Glue handling tests
14  limits/	Tests of handling of large data (close to server limits)
15  lwresd/	Tests of the lightweight resolver library and daemon
16  notify/	More NOTIFY tests
17  nsupdate/	Dynamic update and IXFR tests
18  resolver/     Regression tests for resolver bugs that have been fixed
19		(not a complete resolver test suite)
20  rpz/		Tests of response policy zone (RPZ) rewriting
21  stub/		Tests of stub zone functionality
22  unknown/	Unknown type and class tests
23  upforwd/	Update forwarding tests
24  views/	Tests of the "views" statement
25  xfer/		Zone transfer tests
26  xferquota/	Zone transfer quota tests
27
28Typically each test suite sets up 2-5 name servers and then performs
29one or more tests against them.  Within the test suite subdirectory,
30each name server has a separate subdirectory containing its
31configuration data.  By convention, these subdirectories are named
32"ns1", "ns2", etc.
33
34The tests are completely self-contained and do not require access to
35the real DNS.  Generally, one of the test servers (ns1) is set up as a
36root name server and is listed in the hints file of the others.
37
38To enable all servers to run on the same machine, they bind to
39separate virtual IP address on the loopback interface.  ns1 runs on
4010.53.0.1, ns2 on 10.53.0.2, etc.  Before running any tests, you must
41set up these addresses by running "ifconfig.sh up" as root.
42
43Mac OS X:
44If you wish to make the interfaces survive across reboots
45copy org.isc.bind.system and org.isc.bind.system to
46/Library/LaunchDaemons then run
47"launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist" as
48root.
49
50The servers use port 5300 instead of the usual port 53, so they can be
51run without root privileges once the interfaces have been set up.
52
53The tests can be run individually like this:
54
55  sh run.sh xfer
56  sh run.sh notify
57  etc.
58
59To run all the tests, just type "make test".
60
61$Id: README,v 1.16 2011/01/13 04:59:24 tbox Exp $
62