mirror of
https://github.com/isc-projects/bind9.git
synced 2026-02-22 01:10:41 -05:00
4708. [cleanup] Legacy Windows builds (i.e. for XP and earlier)
are no longer supported. [RT #45186]
4707. [func] The lightweight resolver daemon and library (lwresd
and liblwres) have been removed. [RT #45186]
4706. [func] Code implementing name server query processing has
been moved from bin/named to a new library "libns".
Functions remaining in bin/named are now prefixed
with "named_" rather than "ns_". This will make it
easier to write unit tests for name server code, or
link name server functionality into new tools.
[RT #45186]
69 lines
2.8 KiB
Text
69 lines
2.8 KiB
Text
Copyright (C) 2000, 2001, 2004, 2010, 2011, 2013, 2015-2017 Internet Systems Consortium, Inc. ("ISC")
|
|
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
This is a simple test environment for running bind9 system tests
|
|
involving multiple name servers.
|
|
|
|
There are multiple test suites, each in a separate subdirectory and
|
|
involving a different DNS setup. They are:
|
|
|
|
dnssec/ DNSSEC tests
|
|
forward/ Forwarding tests
|
|
glue/ Glue handling tests
|
|
limits/ Tests of handling of large data (close to server limits)
|
|
notify/ More NOTIFY tests
|
|
nsupdate/ Dynamic update and IXFR tests
|
|
resolver/ Regression tests for resolver bugs that have been fixed
|
|
(not a complete resolver test suite)
|
|
rrl/ query rate limiting
|
|
rpz/ Tests of response policy zone (RPZ) rewriting
|
|
rpzrecurse/ Another set of RPZ tests to check recursion behavior
|
|
stub/ Tests of stub zone functionality
|
|
unknown/ Unknown type and class tests
|
|
upforwd/ Update forwarding tests
|
|
views/ Tests of the "views" statement
|
|
xfer/ Zone transfer tests
|
|
xferquota/ Zone transfer quota tests
|
|
|
|
Typically each test suite sets up 2-5 name servers and then performs
|
|
one or more tests against them. Within the test suite subdirectory,
|
|
each name server has a separate subdirectory containing its
|
|
configuration data. By convention, these subdirectories are named
|
|
"ns1", "ns2", etc.
|
|
|
|
The tests are completely self-contained and do not require access to
|
|
the real DNS. Generally, one of the test servers (ns1) is set up as a
|
|
root name server and is listed in the hints file of the others.
|
|
|
|
To enable all servers to run on the same machine, they bind to
|
|
separate virtual IP address on the loopback interface. ns1 runs on
|
|
10.53.0.1, ns2 on 10.53.0.2, etc. Before running any tests, you must
|
|
set up these addresses by running "ifconfig.sh up" as root.
|
|
|
|
Mac OS X:
|
|
If you wish to make the interfaces survive across reboots
|
|
copy org.isc.bind.system and org.isc.bind.system to
|
|
/Library/LaunchDaemons then run
|
|
"launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist" as
|
|
root.
|
|
|
|
The servers use port 5300 instead of the usual port 53, so they can be
|
|
run without root privileges once the interfaces have been set up.
|
|
|
|
The tests can be run individually like this:
|
|
|
|
sh run.sh xfer
|
|
sh run.sh notify
|
|
etc.
|
|
|
|
To run all the tests, just type "make test".
|
|
|
|
When running system tests, named can be run under
|
|
Valgrind. The output from Valgrind are sent to per-process files that
|
|
can be reviewed after the test has completed. To enable this, set the
|
|
USE_VALGRIND environment variable to "helgrind" to run the Helgrind
|
|
tool, or any other value to run the Memcheck tool. To use "helgrind"
|
|
effectively, build BIND with --disable-atomic.
|