summaryrefslogtreecommitdiffstats
path: root/bin/tests/system/README
diff options
context:
space:
mode:
Diffstat (limited to 'bin/tests/system/README')
-rw-r--r--bin/tests/system/README35
1 files changed, 25 insertions, 10 deletions
diff --git a/bin/tests/system/README b/bin/tests/system/README
index 265a9ef..cb9f71b 100644
--- a/bin/tests/system/README
+++ b/bin/tests/system/README
@@ -14,10 +14,9 @@ Introduction
This directory holds a simple test environment for running bind9 system tests
involving multiple name servers.
-With the exception of "common" (which holds configuration information common to
-multiple tests), each directory holds a set of scripts and configuration
-files to test different parts of BIND. The directories are named for the
-aspect of BIND they test, for example:
+Each system test directory holds a set of scripts and configuration files to
+test different parts of BIND. The directories are named for the aspect of BIND
+they test, for example:
dnssec/ DNSSEC tests
forward/ Forwarding tests
@@ -25,6 +24,9 @@ aspect of BIND they test, for example:
etc.
+A system test directory must start with an alphabetic character and may not
+contain any special characters. Only hyphen may be used as a word separator.
+
Typically each set of tests sets up 2-5 name servers and then performs one or
more tests against them. Within the test subdirectory, each name server has a
separate subdirectory containing its configuration data. These subdirectories
@@ -323,6 +325,8 @@ setup.sh Run after prereq.sh, this sets up the preconditions for the tests.
tests.sh Runs the actual tests. This file is mandatory.
+tests_sh_xyz.py A glue file for the pytest runner for executing shell tests.
+
clean.sh Run at the end to clean up temporary files, but only if the test
was completed successfully and its running was not inhibited by the
"-n" switch being passed to "legacy.run.sh". Otherwise the
@@ -542,6 +546,17 @@ e. Retain a count of test failures and return this as the exit status from
the script.
+tests_sh_xyz.py
+---------------
+This glue file is required by the pytest runner in order to find and execute
+the shell tests in tests.sh.
+
+Replace the "xyz" with the system test name and create the file with the
+following contents.
+
+ def test_xyz(run_tests_sh):
+ run_tests_sh()
+
clean.sh
---
The inverse of "setup.sh", this is invoked by the framework to clean up the
@@ -695,13 +710,13 @@ or SEQUENTIAL variables.
need to edit multiple files to add a test.)
-Valgrind
+rr
---
-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.
+
+When running system tests, named can be run under the rr tool. rr records a
+trace to the $system_test/nsX/named-Y/ directory, which can be later used to
+replay named. To enable this, execute start.pl with the USE_RR environment
+variable set.
Developer Notes for pytest runner
===