2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-01 15:05:23 +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 # Produce intermediate makefile that assigns unique port numbers to each
# parallel test. The start port number of 5,000 is arbitrary - it must just # 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: parallel.mk:
@echo ".PHONY: $(PARALLEL)" > $@ ; \ @echo ".PHONY: $(PARALLEL)" > $@ ; \

View File

@@ -42,7 +42,7 @@ running the command
sh ifconfig.sh up 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 sh ifconfig.sh down
@@ -82,7 +82,7 @@ Optional flags are:
-k Keep servers running after the test completes. Each test -k Keep servers running after the test completes. Each test
usually starts a number of nameservers, either instances usually starts a number of nameservers, either instances
of the "named" being tested, or custom servers (written in 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 servers are automatically started before the test is run
and stopped after it ends. This flag leaves them running and stopped after it ends. This flag leaves them running
at the end of the test, so that additional queries can be 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 -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 ports is available for each test, the number given to the
"-p" switch being the number of the start of that block "-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 ports 7900 through 7999). If not specified, the test will
have ports 5000 to 5099 available to it. have ports 5000 to 5099 available to it.
-r The "runall" flag. This is related to cleaning up after -r The "runall" flag. This is related to cleaning up after
the tests (see "Maintenance Notes" below). If specified, 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 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 produced by the test during its execution; it does not
include the output files produced by utilities such as include the output files produced by utilities such as
"dig" or "rndc", nor any logging output from named itself.) "dig" or "rndc", nor any logging output from named itself.)
@@ -116,7 +116,7 @@ Optional flags are:
Arguments 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. subdirectory in bin/tests/system holding the test files.
test-arguments Optional arguments that are passed to each of the test's 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 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 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, 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 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 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 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 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 Running Multiple System Test Suites Simultaneously
--- ---
In some cases it may be desirable to have multiple instances of the system test 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: 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 files in the test directories, so separate directory trees are required to
avoid interference between the same test running in the different avoid interference between the same test running in the different
installations. 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> 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 -r The "runall" flag. This is related to cleaning up after
the tests (see "Maintenance Notes" below). If specified, 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 deleted when the directory is cleaned after the test
completes. completes.
@@ -287,7 +287,7 @@ This section is intended for developers writing new tests.
Overview 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: test framework, the directories contain the following standard files:
prereq.sh Run at the beginning to determine whether the test can be run at 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 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 was completed successfully and its running was not inhibited by the
"-n" switch being passed to "run.sh". Otherwise the temporary files "-n" switch being passed to "run.sh". Otherwise the temporary
are left in place for inspection. files are left in place for inspection.
ns<N> These subdirectories contain test name servers that can be queried ns<N> These subdirectories contain test name servers that can be queried
or can interact with each other. the value of N indicates the or can interact with each other. The value of N indicates the
address the server listens on: for example, ns2 listens on 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 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 unprivileged port, so they don't need to run as root. These
log at the highest debug level and the log is captured in the file servers log at the highest debug level and the log is captured in
"named.run". the file "named.run".
ans<N> Like ns[X], but these are simple mock name servers implemented in 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 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 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, 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 named ports for their intended purpose. The names of the environment variables
are: are:
@@ -376,14 +376,14 @@ General
directory. directory.
2. Arguments can be only passed to the script if the test is being run as a 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: name of the test is passed to each script. For example, the command:
sh run.sh -p 12300 mytest -D xyz sh run.sh -p 12300 mytest -D xyz
... will run "mytest" with a port range of 12300 to 12399. Each of the ... 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 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 prereq.sh -D xyz)
(cd mytest ; sh setup.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 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 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 environment variables listed above, but are prefixed and suffixed by the "@"
the "@" symbol. For example, a fragment of a configuration file template might symbol. For example, a fragment of a configuration file template might look
look like: like:
controls { controls {
inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; 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 copy_setports ns1/named.conf.in ns1/named.conf
This replaces the tokens @PORT@, @CONTROLPORT@, @EXTRAPORT1@ through This replaces the tokens @PORT@, @CONTROLPORT@, @EXTRAPORT1@ through
@EXTRAPORT8@ with the contents of the shell variables listed above. setup.sh @EXTRAPORT8@ with the contents of the environment variables listed above.
should do this for all configuration files required when the test starts. 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 ("setup.sh" should also use this method for replacing the tokens in any Perl or
Python name servers used in the test.) Python name servers used in the test.)
@@ -463,14 +464,14 @@ Python name servers used in the test.)
tests.sh 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 are completely up to the developer, although most test scripts have a form
similar to the following for each sub-test: similar to the following for each sub-test:
1. n=`expr $n + 1` 1. n=`expr $n + 1`
2. echo_i "prime cache nodata.example ($n)" 2. echo_i "prime cache nodata.example ($n)"
3. ret=0 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 5. grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
6. grep "ANSWER: 0," 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 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 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 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 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 test to be identified within the output. The test number is included in
message in order to tie the sub-test with its output. the message in order to tie the sub-test with its output.
3. Initialize return status. 3. Initialize return status.
4 - 6. Carry out the sub-test. In this case, a nameserver is queried (note 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 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 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 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. 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 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 immediately after "make", the version of "named" used is that just built). The
configuration files, zone files etc. for these servers are located in 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 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 In addition to configuration files, these directories should hold the
appropriate script files as well. 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. 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 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 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 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 "named" Command-Line Options
--- ---
By default, start.pl starts a "named" server with the following 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 each "nsN" nameserver's configuration file must be called
named.conf). 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: 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 All output is sent to a file called "named.run" in the nameserver directory.
directory.
The options used to start named can be altered. There are three ways of doing 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: are:
1. Specifying options to "start.sh"/"start.pl" after the name of the test 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.) (This is only really useful when running tests interactively.)
2. Including a file called "named.args" in the "nsN" directory. If present, the 2. Including a file called "named.args" in the "nsN" directory. If present,
contents of the first line of the file are used as the named command-line the contents of the first non-commented, non-blank line of the file are used as
arguments. The rest of the file is ignored. 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 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 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 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): (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 named.noaa Appends "-T noaa" to the command line, which causes
bit in an answer. "named" to never set the AA bit in an answer.
named.dropedns Adds "-T dropedns" to the command line, which causes named.dropedns Adds "-T dropedns" to the command line, which causes
"named" to recognise EDNS options in messages, but drop "named" to recognise EDNS options in messages, but drop
messages containing them. messages containing them.
named.maxudp1460 Adds "-T maxudp1460" to the command line, setting the 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 named.maxudp512 Adds "-T maxudp512" to the command line, setting the
maxium UDP size handled by named to 512. maximum UDP size handled by named to 512.
named.noedns Appends "-T noedns", which disables recognition of EDNS named.noedns Appends "-T noedns" to the command line, which disables
options in messages. 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 named.soa Appends "-T nosoa" to the command line, which disables
the addition of SOA records to negative responses (or to the addition of SOA records to negative responses (or to
the additional section if the response is triggered by RPZ the additional section if the response is triggered by RPZ
rewriting). rewriting).
Starting Other Nameservers Starting Other Nameservers
@@ -642,8 +643,8 @@ else.
(This is not strictly true: Python servers are provided with the number of the (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 query port to use. Altering the port used by Perl servers currently requires
creating a template file containing the "@PORT@" construct, and having creating a template file containing the "@PORT@" token, and having "setup.sh"
"setup.sh" substitute the actual port being used before the test starts.) substitute the actual port being used before the test starts.)
Stopping Nameservers Stopping Nameservers
@@ -681,11 +682,11 @@ need to edit two files to add a test.)
Valgrind 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 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 "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 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. 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 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. 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 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" 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" (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 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 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. 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 # 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 # QUERYPORT, CONTROLPORT and EXTRAPORT[1-8] with the values of the equivalent
# environment variables. (These values are set by "run.sh", which calls the # environment variables. (These values are set by "run.sh", which calls the
# scripts invoking this function.) # scripts invoking this function.)

View File

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

View File

@@ -18,7 +18,7 @@ use Cwd 'abs_path';
use Getopt::Long; use Getopt::Long;
# Usage: # 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. # --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 # 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/. # 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 # 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, # run. It also checks whether the IP addresses 10.53.0.[1-8] were set up and,
# if not, prints a warning. # if not, prints a warning.