Jelte Jansen 95b8519b04 [1901] Replace Boss with Init il y a 12 ans
..
in-1 4a4642ad16 [master] Update systests il y a 12 ans
in-2 4a4642ad16 [master] Update systests il y a 12 ans
in-3 4a4642ad16 [master] Update systests il y a 12 ans
in-4 4a4642ad16 [master] Update systests il y a 12 ans
.gitignore 2b13ceb687 Add more .gitignore files for the rest of generated stuff il y a 13 ans
README 8028d7abe4 [1213] Rename zone files and update shell file headers il y a 13 ans
b10-config.db.in 95b8519b04 [1901] Replace Boss with Init il y a 12 ans
clean_ns.sh 044381e03b [1213] Merge branch 'master' into trac1213 il y a 13 ans
common_tests.sh.in c12ca1170a [1213] Preparation for merge with master il y a 13 ans
db.example.common 8028d7abe4 [1213] Rename zone files and update shell file headers il y a 13 ans
db.example.n0.in 8028d7abe4 [1213] Rename zone files and update shell file headers il y a 13 ans
db.example.n2.in 8028d7abe4 [1213] Rename zone files and update shell file headers il y a 13 ans
db.example.n2.refresh.in f5b0e46b8c [1213] Corrected documentation of fourth IXFR-in test il y a 13 ans
db.example.n4.in a95e958827 [1213] Changes to get BIND 10 to perform IXFR il y a 13 ans
db.example.n6.in a95e958827 [1213] Changes to get BIND 10 to perform IXFR il y a 13 ans
ixfr_init.sh.in c12ca1170a [1213] Preparation for merge with master il y a 13 ans
named_noixfr.conf 357106fc54 [1279] System tests, but still disabled il y a 13 ans
named_nonotify.conf 8028d7abe4 [1213] Rename zone files and update shell file headers il y a 13 ans
named_notify.conf 8028d7abe4 [1213] Rename zone files and update shell file headers il y a 13 ans

README

Introduction
============
The directories in-1 to in-4 implement the following tests of the IXFR-in
capability of BIND 10.

in-1: Check that BIND 10 can receive IXFR in a single UDP packet.
in-2: Check that BIND 10 can receive IXFR via TCP.
in-3: Check that BIND 10 will request AXFR if the server does not support IXFR.
in-4: Check that BIND 10 will request IXFR when its SOA refresh times out

The tests are described more fully in the document:

http://bind10.isc.org/wiki/IxfrSystemTests

Overview
========
All the tests use two nameservers:

* A BIND 9 nameserver acting as the IXFR server (using the nomenclature
of RFC 1995).
* A BIND 10 nameserver acting at the IXFR client.

In general, the tests attempt to set up the server and client independently.
Communication is established between the systems by updating their
configurations and a notification sent to the client. This should cause the
client to request an IXFR from the server. (The exception is test 4, where the
request is a result of the expiration of the SOA refresh time.)

A check of zone files - or in these tests, of SOA serial number - can only
reveal that a transfer has taken place. To check what has happened,
e.g. whether the transfer was via UDP or whether a TCP request took place,
the BIND 10 log file is searched for known message IDs.

The searching of the log files for message IDs is one of the reasons that,
unlike other system tests, the IXFR set of tests is broken up into separate
tests that require the stopping and starting of nameservers (and tidying up of
log files) between each test. Doing this means that only the existence of a
particular message ID needs to be checked - there is no risk that another test
produced it. The other reason is that the each IXFR test requires the
nameservers to be in a specific state at the start of the test; this is easier
to assure if they are not updating one another as the result of configuration
settings established in the previous test.

Test Files
==========

Data Files
----------
(All within tests/system/ixfr. Some .in files are processed to substitute
for build variables in the build process to give the files listed here.)

db.example.nX. These files hold the RRs for a zone for which should not
fit within a single UDP packet. The files are different versions of the zone
- the N-0 version (i.e. the latest version - "N" - the "-0" is present so
that the files have a consistent name), N-2 etc. (See the full description
of the tests for the meaning of N-2 etc.)

db.example.common: A set of RRs to bulk out the zone to be larger than can
be contained in a single UDP packet.

db.example.n2.refresh: The N-2 version of the zone, but with a small SOA
refresh time (for test 4).

named_xxxx.conf: Various BIND 9 configuration files with NOTIFYs and/or
IXFR enabled or disabled.

Directories
-----------
The tests/system/ixfr directory holds the IXFR tests. Within that
directory are subdirectories in-1 through in-4 for each test. And within
each test directory are the directories ns1 (for the BIND 9 nameserver)
and nsx2 (for the BIND 10 nameserver).

Shell Scripts
-------------
The IXFR tests use the same framework as the rest of the system tests,
being based around shell scripts. Many have a ".in" form as they require
substitution of build variables before they can be used, and so are
listed in configure.ac. The files specific to the IXFR tests are:

tests/system/ixfr/ixfr_init.sh.in: defines environment variables and shell
subroutines used in the tests. (This references system/conf.sh.in which
defines most of them.)

tests/system/ixfr/common_tests.sh.in: tests in-1 and in-2 are virtually
identical - this holds the common code.