2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

[rt46602] Fix various typos, formatting issues and stylistic nits

This commit is contained in:
Michał Kępień
2018-01-25 12:29:31 +01:00
committed by Stephen Morris
parent 42cf18d239
commit f0721de624
6 changed files with 77 additions and 76 deletions

View File

@@ -50,7 +50,7 @@ PARALLEL = allow_query catz rpzrecurse serve-stale
# Produce intermediate makefile that assigns unique port numbers to each
# parallel test. The start port number of 5,000 is arbitrary - it must just
# be greated that the highest privileged port, 1024.
# be greater than the highest privileged port, 1024.
parallel.mk:
@echo ".PHONY: $(PARALLEL)" > $@ ; \

View File

@@ -42,7 +42,7 @@ running the command
sh ifconfig.sh up
as root. The interfaces can be removed by executing the command:
as root. The interfaces can be removed by executing the command:
sh ifconfig.sh down
@@ -82,7 +82,7 @@ Optional flags are:
-k Keep servers running after the test completes. Each test
usually starts a number of nameservers, either instances
of the "named" being tested, or custom servers (written in
Python or Perl) that feature test-specific behavior. The
Python or Perl) that feature test-specific behavior. The
servers are automatically started before the test is run
and stopped after it ends. This flag leaves them running
at the end of the test, so that additional queries can be
@@ -97,15 +97,15 @@ Optional flags are:
-p <number> Sets the range of ports used by the test. A block of 100
ports is available for each test, the number given to the
"-p" switch being the number of the start of that block
(e.g. "-p 7900" will mean that the test is able to use
(e.g. "-p 7900" will mean that the test is able to use
ports 7900 through 7999). If not specified, the test will
have ports 5000 to 5099 available to it.
-r The "runall" flag. This is related to cleaning up after
the tests (see "Maintenance Notes" below). If specified,
if prevents a copy of the test's output listing from being
it prevents a copy of the test's output listing from being
deleted when the directory is cleaned up after the test
completes. (The test's output listing comprises messages
completes. (The test's output listing comprises messages
produced by the test during its execution; it does not
include the output files produced by utilities such as
"dig" or "rndc", nor any logging output from named itself.)
@@ -116,7 +116,7 @@ Optional flags are:
Arguments are:
test-name Mandatory. The name of the test, which is the name of the
test-name Mandatory. The name of the test, which is the name of the
subdirectory in bin/tests/system holding the test files.
test-arguments Optional arguments that are passed to each of the test's
@@ -134,8 +134,8 @@ the retention of all output files from all tests.
The optional "numproc" argument specifies the maximum number of tests that can
run in parallel. The default is 1, which means that all of the tests run
sequentially. If greater than 1, up to "numproc" tests will run simultaneously,
new tests being started as tests finish. Each test will get a unique set of
sequentially. If greater than 1, up to "numproc" tests will run simultaneously,
new tests being started as tests finish. Each test will get a unique set of
ports, so there is no danger of tests interfering with one another. Parallel
running will reduce the total time taken to run the BIND system tests, but will
mean that the output from all the tests sent to the screen will be mixed up
@@ -161,10 +161,10 @@ running make, e.g.
Running Multiple System Test Suites Simultaneously
---
In some cases it may be desirable to have multiple instances of the system test
suite running simultaneously (e.g. from different terminal windows). To do
suite running simultaneously (e.g. from different terminal windows). To do
this:
1. Each installation must have its own directory tree. The system tests create
1. Each installation must have its own directory tree. The system tests create
files in the test directories, so separate directory trees are required to
avoid interference between the same test running in the different
installations.
@@ -257,11 +257,11 @@ Deletion of files produced by an individual test can be done with the command:
sh clean.sh [-r] <test-name>
The optional flag is"
The optional flag is:
-r The "runall" flag. This is related to cleaning up after
the tests (see "Maintenance Notes" below). If specified,
if prevents a copy of the test's output listing from being
it prevents a copy of the test's output listing from being
deleted when the directory is cleaned after the test
completes.
@@ -287,7 +287,7 @@ This section is intended for developers writing new tests.
Overview
---
As noted above, each test is in a separate directory. To interact with the
As noted above, each test is in a separate directory. To interact with the
test framework, the directories contain the following standard files:
prereq.sh Run at the beginning to determine whether the test can be run at
@@ -303,16 +303,16 @@ tests.sh Runs the actual tests. This file is mandatory.
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 "run.sh". Otherwise the temporary files
are left in place for inspection.
"-n" switch being passed to "run.sh". Otherwise the temporary
files are left in place for inspection.
ns<N> These subdirectories contain test name servers that can be queried
or can interact with each other. the value of N indicates the
address the server listens on: for example, ns2 listens on
10.53.0.2, and ns4 on 10.53.0.4. All test servers use an
unprivileged port, so they don't need to run as root. These servers
log at the highest debug level and the log is captured in the file
"named.run".
or can interact with each other. The value of N indicates the
address the server listens on: for example, ns2 listens on
10.53.0.2, and ns4 on 10.53.0.4. All test servers use an
unprivileged port, so they don't need to run as root. These
servers log at the highest debug level and the log is captured in
the file "named.run".
ans<N> Like ns[X], but these are simple mock name servers implemented in
Perl or Python. They are generally programmed to misbehave in ways
@@ -328,7 +328,7 @@ environment variables that the scripts listed above can reference.
The convention used in the system tests is that the number passed is the start
of a range of 100 ports. The test is free to use the ports as required,
although the first ten ports in the block named and generally tests use the
although the first ten ports in the block are named and generally tests use the
named ports for their intended purpose. The names of the environment variables
are:
@@ -376,14 +376,14 @@ General
directory.
2. Arguments can be only passed to the script if the test is being run as a
one-off with "run.sh". In this case, everything on the command line after the
one-off with "run.sh". In this case, everything on the command line after the
name of the test is passed to each script. For example, the command:
sh run.sh -p 12300 mytest -D xyz
... will run "mytest" with a port range of 12300 to 12399. Each of the
framework scripts provided by the test will be invoked using the remaining
arguments, e.g.
arguments, e.g.:
(cd mytest ; sh prereq.sh -D xyz)
(cd mytest ; sh setup.sh -D xyz)
@@ -432,9 +432,9 @@ port numbers.
To do this, configuration files should be supplied in the form of templates
containing tokens identifying ports. The tokens have the same name as the
shell variables listed above, but in upper-case and prefixed and suffixed by
the "@" symbol. For example, a fragment of a configuration file template might
look like:
environment variables listed above, but are prefixed and suffixed by the "@"
symbol. For example, a fragment of a configuration file template might look
like:
controls {
inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
@@ -454,8 +454,9 @@ setup.sh should copy the template to the desired filename using the
copy_setports ns1/named.conf.in ns1/named.conf
This replaces the tokens @PORT@, @CONTROLPORT@, @EXTRAPORT1@ through
@EXTRAPORT8@ with the contents of the shell variables listed above. setup.sh
should do this for all configuration files required when the test starts.
@EXTRAPORT8@ with the contents of the environment variables listed above.
setup.sh should do this for all configuration files required when the test
starts.
("setup.sh" should also use this method for replacing the tokens in any Perl or
Python name servers used in the test.)
@@ -463,14 +464,14 @@ Python name servers used in the test.)
tests.sh
---
This is the main test file and the contents depend on the test. The contents
This is the main test file and the contents depend on the test. The contents
are completely up to the developer, although most test scripts have a form
similar to the following for each sub-test:
1. n=`expr $n + 1`
2. echo_i "prime cache nodata.example ($n)"
3. ret=0
4. $DIG -p $PORT @10.53.0.1 nodata.example TXT > dig.out.test$n
4. $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
5. grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
6. grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
7. if [ $ret != 0 ]; then echo_i "failed"; fi
@@ -482,14 +483,14 @@ similar to the following for each sub-test:
2. Indicate that the sub-test is about to begin. Note that "echo_i" instead
of "echo" is used. echo_i is a function defined in "conf.sh" which will
prefix the message with "I:<testname>:", so allowing the output from each
test to be identified within the output. The test number is included in the
message in order to tie the sub-test with its output.
test to be identified within the output. The test number is included in
the message in order to tie the sub-test with its output.
3. Initialize return status.
4 - 6. Carry out the sub-test. In this case, a nameserver is queried (note
that the port used is given by the PORT environment variable, which was set
by the inclusion the file "conf.sh" at the start of the script). The
by the inclusion of the file "conf.sh" at the start of the script). The
output is routed to a file whose suffix includes the test number. The
response from the server is examined and, in this case, if the required
string is not found, an error is indicated by setting "ret" to 1.
@@ -538,9 +539,9 @@ For the former, the version of "named" being run is that in the "bin/named"
directory in the tree holding the tests (i.e. if "make test" is being run
immediately after "make", the version of "named" used is that just built). The
configuration files, zone files etc. for these servers are located in
subdirectories named of the test directory "nsN", where N is a small integer.
subdirectories of the test directory named "nsN", where N is a small integer.
The latter are special nameservers, mostly used for generating deliberately bad
responses, are located in subdirectories named "ansN" (again, N is an integer).
responses, located in subdirectories named "ansN" (again, N is an integer).
In addition to configuration files, these directories should hold the
appropriate script files as well.
@@ -549,17 +550,17 @@ there is an "ns2" directory, there cannot be an "ans2" directory as well.
Ideally, the directory numbers should start at 1 and work upwards.
When running a test, the servers are started using "start.sh" (which is nothing
more than a wrapper for start.pl.) The options for "start.pl" are documented
more than a wrapper for start.pl). The options for "start.pl" are documented
in the header for that file, so will not be repeated here. In summary, when
invoked by "run.sh", start.pl looks for directories named "nsN" or "ansN" in
the test directory and starts the server it finds there.
the test directory and starts the servers it finds there.
"named" Command-Line Options
---
By default, start.pl starts a "named" server with the following options:
-c named.conf Specifies the configuration file to use (so by implication,
-c named.conf Specifies the configuration file to use (so by implication,
each "nsN" nameserver's configuration file must be called
named.conf).
@@ -583,13 +584,13 @@ By default, start.pl starts a "named" server with the following options:
In addition, start.pl also sets the following undocumented flag:
-T clientest Makes clients single-shot with their own memory context.
-T clienttest Makes clients single-shot with their own memory context.
All output is sent to a file called "named.run" in the namserver
directory.
All output is sent to a file called "named.run" in the nameserver directory.
The options used to start named can be altered. There are three ways of doing
this. "start.pl" checks the methods in a specific order: if a check succeeds, the options are set and any other specification is ignored. In order these
this. "start.pl" checks the methods in a specific order: if a check succeeds,
the options are set and any other specification is ignored. In order, these
are:
1. Specifying options to "start.sh"/"start.pl" after the name of the test
@@ -599,38 +600,38 @@ directory, e.g.
(This is only really useful when running tests interactively.)
2. Including a file called "named.args" in the "nsN" directory. If present, the
contents of the first line of the file are used as the named command-line
arguments. The rest of the file is ignored.
2. Including a file called "named.args" in the "nsN" directory. If present,
the contents of the first non-commented, non-blank line of the file are used as
the named command-line arguments. The rest of the file is ignored.
3. Tweaking the default command line arguments with "-T" options. This flag is
used to alter the behavior of BIND for testing and is not documented in the
ARM. The "clientest" option has already been mentioned, but the presence of
ARM. The "clienttest" option has already been mentioned, but the presence of
certain files in the "nsN" directory adds flags to the default command line
(the content of the files is irrelevant - it is only the presence that counts):
named.noaa Appends "-T noaa", which causes "named" to never set the AA
bit in an answer.
named.noaa Appends "-T noaa" to the command line, which causes
"named" to never set the AA bit in an answer.
named.dropedns Adds "-T dropedns" to the command line, which causes
"named" to recognise EDNS options in messages, but drop
messages containing them.
named.dropedns Adds "-T dropedns" to the command line, which causes
"named" to recognise EDNS options in messages, but drop
messages containing them.
named.maxudp1460 Adds "-T maxudp1460" to the command line, setting the
maxium UDP size handled by named to 1460.
maximum UDP size handled by named to 1460.
named.maxudp512 Adds "-T maxudp512" to the command line, setting the
maxium UDP size handled by named to 512.
named.maxudp512 Adds "-T maxudp512" to the command line, setting the
maximum UDP size handled by named to 512.
named.noedns Appends "-T noedns", which disables recognition of EDNS
options in messages.
named.noedns Appends "-T noedns" to the command line, which disables
recognition of EDNS options in messages.
named.notcp Adds "-T notcp", which disables TCP in "named".
named.notcp Adds "-T notcp", which disables TCP in "named".
named.soa Appends "-T nosoa" to the command line. This disables
the addition of SOA records to negative responses (or to
the additional section if the response is triggered by RPZ
rewriting).
named.soa Appends "-T nosoa" to the command line, which disables
the addition of SOA records to negative responses (or to
the additional section if the response is triggered by RPZ
rewriting).
Starting Other Nameservers
@@ -642,8 +643,8 @@ else.
(This is not strictly true: Python servers are provided with the number of the
query port to use. Altering the port used by Perl servers currently requires
creating a template file containing the "@PORT@" construct, and having
"setup.sh" substitute the actual port being used before the test starts.)
creating a template file containing the "@PORT@" token, and having "setup.sh"
substitute the actual port being used before the test starts.)
Stopping Nameservers
@@ -681,11 +682,11 @@ need to edit two files to add a test.)
Valgrind
---
When running system tests, named can be run under Valgrind. The output from
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
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.
tool. To use "helgrind" effectively, build BIND with --disable-atomic.
Maintenance Notes
@@ -748,7 +749,7 @@ this reason, "clean.sh" cannot delete "test.output" as, if the test is
being run as part of a test suite, the file must be retained.
2. If the deletion of "test.output" were to be solely the responsibility of
"testsummnary.sh", should a test suite terminate abnormally, cleaning up a test
"testsummary.sh", should a test suite terminate abnormally, cleaning up a test
directory with "sh clean.sh <test-directory>" would leave the file present.
3. An additional step could be added to "cleanall.sh" (which calls the
@@ -759,8 +760,8 @@ could leave the file present.
To get round this, the system's "clean.sh" script takes an optional flag, "-r"
(the "runall" flag). When the test suite is run, each invocation of "run.sh"
is passed the runall flag. In turn, "run.sh" passes the flag to "clean.sh",
is passed the runall flag. In turn, "run.sh" passes the flag to "clean.sh",
which causes that script not to delete the "tests.output" file. In other
words, when the system's "clean.sh" is invoked standalone on a test directory
(or as past of a run of "cleanall.sh"), it will delete the "test.output" if it
(or as part of a run of "cleanall.sh"), it will delete the "test.output" if it
is present. When invoked during a run of the entire test suite, it won't.

View File

@@ -239,7 +239,7 @@ nextpart () {
# copy_setports - Copy Configuration File and Replace Ports
#
# Convenience function to copy a configuration file, replacing the symbols
# Convenience function to copy a configuration file, replacing the tokens
# QUERYPORT, CONTROLPORT and EXTRAPORT[1-8] with the values of the equivalent
# environment variables. (These values are set by "run.sh", which calls the
# scripts invoking this function.)

View File

@@ -14,7 +14,7 @@
# -n Noclean. Keep all output files produced by all tests. These
# can later be removed by running "cleanall.sh".
#
# numprocess Number of simultaneous processes to use when running the tests.
# numprocess Number of concurrent processes to use when running the tests.
# The default is one, which causes the tests to run sequentially.
SYSTEMTESTTOP=.
@@ -32,7 +32,7 @@ shift `expr $OPTIND - 1`
if [ $# -eq 0 ]; then
numproc=1
elif [ $# -eq 1 ]; then
test "$1" -eq "$1" > /dev/null 2>& 1
test "$1" -eq "$1" > /dev/null 2>&1
if [ $? -ne 0 ]; then
# Value passed is not numeric
echo "$usage" >&2

View File

@@ -18,7 +18,7 @@ use Cwd 'abs_path';
use Getopt::Long;
# Usage:
# perl stop.pl [-use-rndc [--port port]] test [server]
# perl stop.pl [--use-rndc [--port port]] test [server]
#
# --use-rndc Attempt to stop the server via the "rndc stop" command.
#

View File

@@ -6,7 +6,7 @@
# 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/.
# Creates the system tests output file from the various test.output files. It
# Creates the system tests output file from the various test.output files. It
# then searches that file and prints the number of tests passed, failed, not
# run. It also checks whether the IP addresses 10.53.0.[1-8] were set up and,
# if not, prints a warning.