HATE: The HATE Program
HATE achieves this separation of test and test program as follows:
- The user writes a short procedure, typically only a few lines of
code, that interfaces his or her program to HATE. All the tests that
HATE is capable of running access the test program via this procedure,
which is integrated with the remainder of HATE at run-time. This
"interface procedure" is stored in a separate file from any other part
of the HATE system, so there is no chance of accidentally corrupting
HATE's data structures.
- Test scripts are specified in a way that is independent of the program to be tested. They are stored separately from both HATE itself and from the interface procedure, also being integrated with the remainder of HATE at run-time.
HATE supports the concept of a system-wide "library" of tests that are stored well away from the code being tested: this facilites sharing tests, both between several people on the same system and between systems.