When running all the system tests, output from a test is sent to a
test.output file in the test directory. These are combined in to
systests.output when the run finishes.
(cherry picked from commit 055e5be9fd)
(cherry picked from commit 50769a4a9e)
(cherry picked from commit 818ac05cfc)
... for misspellings, typos, trailing spaces, duplicated lines etc.
(cherry picked from commit 3c25e5fa02)
(cherry picked from commit 0e2e251a0d)
(cherry picked from commit f55e2791fc)
Add more information on running the tests, together with a section
on how the tests are organised, aimed at new developers.
(cherry picked from commit af005cdbcf)
(cherry picked from commit 3952d4631e)
(cherry picked from commit 67f135c1d0)
Tidy up the stop/start files and make switch usage consistent. Also
tidy up the various "clean" targets in the Makefile.
(cherry picked from commit b24c2e11d8)
(cherry picked from commit 78494c3a4d)
(cherry picked from commit 28c2b0be93)
Miscellaneous tidying up of run management. The most significant
change is that "runall.sh" now runs _all_ the tests, even the
ones that can run in parallel. runsequential.sh is the script
to run tests that have not been converted to parallel running.
(cherry picked from commit 32fe6f7682)
(cherry picked from commit a49afdaeb8)
(cherry picked from commit dec6d02f28)
Some tests use more ports than just the query and control ports.
Each test that can run in parallel with other tests is now assigned
a unique block of 10 ports.
(cherry picked from commit e0ff77f9d3)
(cherry picked from commit df1348ad2b)
(cherry picked from commit c64af8abe5)
Currently these tests are allow_query, rpzrecurse and serve-stale
1. Function to copy files and set port numbers renamed from copy_config
to copy_setports, as this is used to change the ports in Perl and Python
test scripts as well.
2. Changes to rpzrecurse/tests.sh to handle two calls to getopts (one to
parse port numbers, the other to parse rpzrecurse-specific options). Also
fixed various commands to use correct ports.
3. Updates to "clean.sh" scripts to ensure that all files created in the
test are removed.
(cherry picked from commit 78f2b9ca01)
(cherry picked from commit 01eb4d7c97)
(cherry picked from commit f5b71b3658)
Via an intermediate make file, tests that have been modified to be able
to run in parallel are assigned unique query and control port numbers
(other than 5300 and 9953 respectively). Tests that have not yet been
modified all use ports 5300 and 9953, so must be run sequentially.
(cherry picked from commit e7429b124b)
(cherry picked from commit 4f68e67e5c)
(cherry picked from commit 704e2324e3)
Resolve conflict in run.sh during cherry-pick from an experimental branch.
(cherry picked from commit 2a435708e4)
(cherry picked from commit c5aa6ed87b)
(cherry picked from commit 9bdb4d67f1)
Resolve conflict in run.sh during cherry-pick from experimental branch.
(cherry picked from commit 278c72fef6)
(cherry picked from commit b8e866d60f)
(cherry picked from commit ff56ecafc4)
During the "check flushtree clears adb correctly" check, expecting
"ns.flushtest.example" to always be the first name in the ADB dump is
fragile, because in a certain corner case "a.root-servers.nil" will be
the first name instead.
As the purpose of the relevant check is to ensure "ns.flushtest.example"
is removed from ADB by "rndc flushtree flushtest.example", search the
entire list of names present in ADB instead of just the first entry when
looking for "ns.flushtest.example".
(cherry picked from commit ca1049b2f3)
(cherry picked from commit 3513a585e3)
Dumping the cache is an asynchronous operation, so sleeping for a fixed
amount of time after running "rndc dumpdb" is imperfect as dumping cache
contents may take longer than expected on slower machines. Instead of
always sleeping for 1 second, wait until the "; Dump complete" line
appears in the dump or 10 seconds pass, whichever comes first.
(cherry picked from commit 2bbff06d36)
(cherry picked from commit e617b91527)
Unless configured otherwise in named.conf, "rndc dumpdb" causes a cache
dump to be written to a file called "named_dump.db" in the working
directory of the given named instance. Repeatedly using this command
throughout different checks in the cacheclean system test causes cache
dumps for older checks to be overwritten, which hinders failure
diagnosis. Prevent this by moving each cache dump to a check-specific
location after running "rndc dumpdb".
Furthermore, during the "check flushtree clears adb correctly" check,
dump_cache() is called twice without renaming the resulting files.
Prevent the first cache dump from being overwritten by moving it to a
different file before calling "rndc dumpdb" for the second time.
(cherry picked from commit aeea1faf01)
(cherry picked from commit dcd91ab322)
This will enable storing per-check forensic data, which facilitates
troubleshooting test failures.
(cherry picked from commit 01de79b332)
(cherry picked from commit 7679819e15)