This enables the environment variables controlling run.sh behavior to be
permanently set in a working environment (e.g. to automatically force
colored output without using "-c" in each runall.sh invocation).
Relevant runall.sh command line arguments still have a higher priority.
(cherry picked from commit d989d20fe5)
(cherry picked from commit 2cd174dda9)
(cherry picked from commit fdcac29f63)
As parallel.mk and runsequential.sh both pipe system test output through
"tee" (for the purpose of creating test.output), run.sh invoked from
these two files detects it is not writing to a terminal, which prevents
colored output from being generated. Allow forcing colored output using
a new command line argument for runall.sh, "-c", which sets an
environment variable (SYSTEMTEST_FORCE_COLOR) causing conf.sh to
unconditionally enable colored output.
The same environment variable can also be used directly to force colored
output when using "make test" instead of runall.sh.
(cherry picked from commit a324031a82)
(cherry picked from commit cbebf7ef59)
(cherry picked from commit 2f3b3b7aff)
Instead of exporting an environment variable containing a command line
argument (NOCLEAN="-n"), extend run.sh to handle a "boolean" environment
variable (SYSTEMTEST_NO_CLEAN) itself. The former method is buggy
because the value of NOCLEAN is set in parallel.mk when that file is
first created, but it is not subsequently updated upon each test run
(because make considers parallel.mk to be up to date).
To retain backward compatibility, the "-n" command line argument for
run.sh is still supported (and has a higher priority than the relevant
environment variable).
The SYSTEMTEST_NO_CLEAN environment variable can also be used directly
to prevent cleanup when using "make test" instead of runall.sh.
Apart from fixing a bug, this simplifies the way runall.sh controls
run.sh behavior due to the Makefile being bypassed. Direct processing
of environment variables in run.sh is more scalable in the long run,
given that the previously utilized technique, even with its
implementation fixed, would still require Makefile.in to be modified in
two places each time a new flag needed to be passed from runall.sh to
run.sh.
(cherry picked from commit 3862043879)
(cherry picked from commit e9c4dbe361)
(cherry picked from commit 0e3840e4b4)
- lengthened the wait loop for the transfers to complete
(cherry picked from commit b9246ce773)
(cherry picked from commit a5015d7791)
(cherry picked from commit c369fc06ca)
(cherry picked from commit 6a5092f537)
- this was a test for the allow-v6-synthesis option, which was
deprecated and no longer works. the test was removed
from conf.sh.in long ago.
(cherry picked from commit 474b10a133)
(cherry picked from commit 7971873639)
(cherry picked from commit 626566c72d)
(cherry picked from commit 62f239f5cf)
It was TESTNAME, but this is an obvious name and was used in one of
the system tests, something that interfered with the content of
progress messages. It is now SYSTESTDIR.
(cherry picked from commit 30cd931a0d)
(cherry picked from commit 78f2976087)
(cherry picked from commit 4a29e3ba65)
Ensure case clauses are in sync with the string passed to getopts.
Remove catch-all clauses as they will never be evaluated.
(cherry picked from commit 0dcee1cad3)
(cherry picked from commit 0c8e56568f)
(cherry picked from commit 6d9fb2b429)
There was too much incompatibility between operating systems as to
the allowed options for "date".
(cherry picked from commit 451b7309ca)
(cherry picked from commit 8376949ea8)
(cherry picked from commit 52f784315e)
Escape the line ends in a multi-line variable assignment. Under some
circumstances, substituting the variable caused syntax errors when
used as the list of values in a shell script "for" statement.
(cherry picked from commit 462766cd76)
(cherry picked from commit 53ebdf225f)
(cherry picked from commit 82ffebc73a)
Fix problems where all EXTRAPORT macros were being replaced by
the EXTRAPORT1 value. (Copy and paste issue.)
(cherry picked from commit fb78f82ba1)
(cherry picked from commit 8513c4256b)
(cherry picked from commit c8880ce14a)
Added descriptions of how nameservers are started and stopped
during the tests, and how the framework cleans up the files created.
(cherry picked from commit f606b17dfb)
(cherry picked from commit 56ba2e822b)
(cherry picked from commit 5be3ea811e)
... to avoid confusion between the variable and the command of the
same name.
(cherry picked from commit c12e06755f)
(cherry picked from commit 7a5476173a)
(cherry picked from commit b2319386f4)
Some tests may need to examine all output files from all system tests.
Allow the deletion of these files to be inhibited if required.
(cherry picked from commit 00bc29640b)
(cherry picked from commit 6917ea971a)
(cherry picked from commit 9040d3d367)
Error messages concerning the invocation of run.sh are output to
stderr. Messages after the test has started are output to stdout.
(cherry picked from commit 244d1c30e2)
(cherry picked from commit ff5349b3b3)
(cherry picked from commit 5a1b50c023)
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)