Michal 'vorner' Vaner a3ba4cca05 [213] Remove temporary workaround 13 years ago
..
bindctl a3ba4cca05 [213] Remove temporary workaround 13 years ago
common f1a85d0c97 [1213] Initial commit of changes 13 years ago
glue 64978870d1 [master] editorial cleanup: removed incorrect comment 14 years ago
ixfr 357106fc54 [1279] System tests, but still disabled 13 years ago
Makefile.am bf8ba76aed [trac610] added a new system test, "bindctl". 14 years ago
README a4766a155b [1213] Common IXFR test functions now in separate file 13 years ago
cleanall.sh 044381e03b [1213] Merge branch 'master' into trac1213 13 years ago
conf.sh.in a95e958827 [1213] Changes to get BIND 10 to perform IXFR 13 years ago
ifconfig.sh 309d02a51e [trac606-pre] adjusted original scripts so that it can work with BIND 10. 14 years ago
run.sh.in f1a85d0c97 [1213] Initial commit of changes 13 years ago
runall.sh ccd3fea758 [trac606] fixed distcheck problems by making sure all necessary files are in EXTRA_DIST. 14 years ago
start.pl f1a85d0c97 [1213] Initial commit of changes 13 years ago
stop.pl 2298392e3c [trac606] Merge commit '309d02a51ee22f' (in a personal branch) into trac606 with resolving conflicts. 14 years ago

README

Copyright (C) 2004, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2000, 2001 Internet Software Consortium.
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.

This is a simple test environment for running BIND 10 system tests
involving multiple name servers. It was originally developed for BIND
9, and has been ported to test BIND 10 implementations. Ideally we
should share the same framework for both versions, so some part of the
original setup are kept, even though they are BIND 9 specific and not
currently used.

Also, these tests generally rely on BIND 9 programs, most commonly
its dig, and will sometimes be its name server (named). So, the test
environment assumes that there's a source tree of BIND 9 where its
programs are built, and that an environment variable "BIND9_TOP" is set
to point to the top directory of the source tree.

There are multiple test suites, each in a separate subdirectory and
involving a different DNS setup. They are:

bindctl/ Some basic management operations using the bindctl tool
glue/ Glue handling tests
ixfr/ Incremental transfer tests

(the following tests are planned to be added soon)
dnssec/ DNSSEC tests
masterfile/ Master file parser
axfr/ Full-transfer tests

Typically each test suite sets up 2-5 instances of BIND 10 (or BIND 9
named) and then performs one or more tests against them. Within the test
suite subdirectory, each instance has a separate subdirectory containing
its configuration data. By convention, these subdirectories are named
"nsx1", "nsx2", etc for BIND 10 ("x" means BIND 10), and "ns1", "ns2",
etc. for BIND 9.

The tests are completely self-contained and do not require access to
the real DNS. Generally, one of the test servers (ns[x]1) 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. ns[x]1 runs on 10.53.0.1,
ns[x]2 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 53210 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 glue
etc.

To run all the tests, just type "make systest" either on this directory
or on the top source directory. Note: currently these tests cannot be
run when built under a separate build directory. Everything must be
run within the original source tree.