A Test Harness is the testing infrastructure that is created to support a specific program or tool. Each program can have multiple test suites, all supported by a single test harness. There is more information on Tcl at the Scriptics web site, and the Expect web site is at NIST . The flexibility and consistency of the DejaGnu framework make it easy to write tests for any program, with either batch oriented, or interactive programs. DejaGnu provides a layer of abstraction which allows you to write tests that are portable to any host or target where a program must be tested.
All tests have the same output format.
This makes it easy to integrate testing into other software development processes. DejaGnu's output is designed to be parsed by other filtering script, and it is also human readable. Using Tcl and expect, it's easy to create wrappers for existing test suites. Tests are usually written in Expect using Tcl, but you can also use a Tcl script to run a test suite that is not based on Expect .