HATE: Using HATE
HATE is invoked as follows:
hate [-qualifiers] <script>where <script> is a file containing the script of tests to be applied to a program and the qualifiers are as follows:
-detail <n> set level of detail -eval[uate] as "-mode eval" -help give help on HATE -interface <file> program interface script file -library <dir> add test directory -mode test|eval set mode of operation -output html|latex|database|text specify output format -quiet as "-detail 1" -scripts list purposes of all scripts in path -silent as "-detail 0" -test as "-mode test" -verbose as "-detail 2" -version output HATE versionInvoking HATE with an invalid qualifier causes this message to be generated. The -help qualifier gives outline help on the program, including a reference to the Web pages at Essex.
The most important qualifiers are -test which makes HATE operate in test mode and -evaluate (or simply -eval) which specifies evaluate mode. HATE defaults to using test mode.
HATE defaults to -quiet, which means that only unexpected results are reported. It is also possible for HATE to produce a full log of all the tests it applies (-verbose) or for it to operate totally silently (-silent). Note that HATE returns a success status which indicates whether or not any tests failed; in silent mode, this is the only way of determining whether all tests succeeded.
It is expected that the usual mode of operation will be to store most test scripts in a standard directory with system-wide access; the default (for Unix systems, at least) is current directory and /usr/local/lib/hate. If you use another directory for storing scripts, you can use the -library qualifier to include it in the list of directories to be searched. There is also a -scripts qualifier, which tells HATE to find all potential script files in the script directories and print out their documentation.
The "interface script file" defaults to interface.tcl and is expected to reside in the same directory as the program under test. This arrangement facilitates sharing test scripts and associates a program and its interface code.
When HATE starts running, it looks for two possible initialization files:
~/.hate .hatein that order. Either or both of these files may contain Tcl code that alters the way in which HATE runs. It is expected that these initialization files will be used to re-define the layout of the tables of results that HATE generates on a per-user or per-program basis.