README 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. Copyright (C) 2004, 2010, 2011 Internet Systems Consortium, Inc. ("ISC")
  2. Copyright (C) 2000, 2001 Internet Software Consortium.
  3. See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
  4. This is a simple test environment for running BIND 10 system tests
  5. involving multiple name servers. It was originally developed for BIND
  6. 9, and has been ported to test BIND 10 implementations. Ideally we
  7. should share the same framework for both versions, so some part of
  8. the original setup are kept, even though they are BIND 9 specific and
  9. not currently used.
  10. Also, these tests generally rely on BIND 9 programs, most commonly its
  11. dig, and will sometimes be its name server (named). So, the test
  12. environment assumes that there's a source tree of BIND 9 where its
  13. programs are built, and that an environment variable "BIND9_TOP" is
  14. set to point to the top directory of the source tree.
  15. There are multiple test suites, each in a separate subdirectory and
  16. involving a different DNS setup. They are:
  17. bindctl/ Some basic management operations using the bindctl tool
  18. glue/ Glue handling tests
  19. (the following tests are planned to be added soon)
  20. dnssec/ DNSSEC tests
  21. masterfile/ Master file parser
  22. xfer/ Zone transfer tests
  23. Typically each test suite sets up 2-5 instances of BIND 10 (or BIND 9
  24. named) and then performs one or more tests against them. Within the
  25. test suite subdirectory, each instance has a separate subdirectory
  26. containing its configuration data. By convention, these
  27. subdirectories are named "nsx1", "nsx2", etc for BIND 10 ("x" means
  28. BIND 10), and "ns1", "ns2", etc. for BIND 9.
  29. The tests are completely self-contained and do not require access to
  30. the real DNS. Generally, one of the test servers (ns[x]1) is set up
  31. as a root name server and is listed in the hints file of the others.
  32. To enable all servers to run on the same machine, they bind to
  33. separate virtual IP address on the loopback interface. ns[x]1 runs on
  34. 10.53.0.1, ns[x]2 on 10.53.0.2, etc. Before running any tests, you
  35. must set up these addresses by running "ifconfig.sh up" as root.
  36. Mac OS X:
  37. If you wish to make the interfaces survive across reboots
  38. copy org.isc.bind.system and org.isc.bind.system to
  39. /Library/LaunchDaemons then run
  40. "launchctl load /Library/LaunchDaemons/org.isc.bind.system.plist" as
  41. root.
  42. The servers use port 53210 instead of the usual port 53, so they can be
  43. run without root privileges once the interfaces have been set up.
  44. The tests can be run individually like this:
  45. sh run.sh xfer
  46. sh run.sh glue
  47. etc.
  48. To run all the tests, just type "make systest" either on this directory
  49. or on the top source directory. Note: currently these tests cannot be
  50. run when built under a separate build directory. Everything must be
  51. run within the original source tree.