The tester manual overview refers to all other sections:
The following options are described in alphabetical order. It should be mentioned that the tester is designed to run multiple tests from multiple test specifications from a single command line.
Any one test specification is limited to 999 individual tests. Since tests generate tons of files, the resource limits are often exhausted long before this test limit.
The true power of testing is to be able to express a test of specific programs without having to write hundreds of small script programs which test, exercise and benchmark a program. Many of the options are specifically written to allow the selection, interaction and benchmarking of tests to occur independently of the test.
The second great feat of a test framework is to generate program output without having to manually create it. This coupled with the automation of checked output takes many hours of tedium away from the tester / programmer.
The test language can be used to create the utility commands which run and reproduce test results. The options reflect the day-to-day usage of such tests.
Class names can be used to create utility tests as shown by the t.form test in the tester release files.
Class names may be quoted to specify more than one class or place a plus symbol between each class name. For example, to run both io and error tests specify the following:
tester -class io+error -execute t.mytest
The alternate form is with quotes:
tester -class ``io error'' -execute t.mytest
See the option -unclass to exclude a class of tests.
As tests are added to the test specification the name of the result file changes according to the physical ordering of the tests. They are numbered sequentially from 001 to 999.
It does not delete the main summary of results found in `` $FILESPEC .result''.
This facilitates a way to create parallel tests since tests are executed as soon as they are encountered.
tester -execute t.mytest
The -x option is does the same but is shorter to enter.
It can also execute as a csh test or as a process. See the -process and -shell options for more information.
tester -execute b<-shell> csh t.mytest
All flow information is written to standard error.
The test specification uses a test language to refer to these files. stderr for standard error output. stdout for standard output. both for a stream of both standard error output and standard output.
In Unix the standard error output is used for error messages back to a terminal normally. Standard output is often redirected to a file by an application. When mixed they often mix at differently from run to run of the same test. So often the only way to get a consistent test is to expect both separately.
``pod2html'' was written to allow linked files across perl pod files. ``pod2html2'' ;builds links between all pod files if requested by the ``-all'' option. Check out ``pod2html2 -help'' to see all of its features.
This options still applies the rules for -class and -unclass .
It may be necessary to delete files after using this option.
All lines are written to standard error.
Use of this option provides test independence for resources.
The -other <@file> option specifies a name file which will add to any local names specified in the actual test specification. The local names will override any global names from that file.
Use of this option provides outside names for global resources.
Some testing requires a strict environment that is easier done outside of all tests. Use of the envall command with the -queuejobs options enables this environment to be global.
To create parallel tests the tester will often use this serial test stream with other parallel tests, -execute .
Tests can be written to survive host reboots given the source of a test which will put the right logic into an /etc/rc file in unix.
The name that results for the test is: `` $FILENAME $TESTID $TESTID '' which within the test is logically named `` $TESTNAME ''.
Class names can be used to create special tests like known failures. The test group can then decide to check on bug fixes (known failures) after the fix has been applied.
Class names may be quoted to specify more than one class or place a plus symbol between each class name. For example, to skip both known failures and utility tests specify the following:
tester -unclass kf+utility -execute t.mytest
The alternate form is with quotes:
tester -unclass ``kf utility'' -execute t.mytest
See the option -class to include a class of tests.
Some tests require certain options to be set for a successful test. This options allows this to be monitored along with the testing.
Use this option to help debug tests.
If one has names within names like $TESTNAMEpie then the tester by default will not substitute $TESTNAME for $TESTNAMEpie. The -zipnames options requests that any name be substituted anywhere. $TESTNAMEpie will substitute $TESTNAME .