DejaGnu

DejaGnu is a framework for testing other programs. It has a main script called "runtest" that goes through a directory looking at configuration files and then runs some tests with given criteria. The purpose of the DejaGnu package is to provide a single front end for all tests. It is a part of the GNU Project and is licensed under the GPL. It is based on Expect, which is in turn based on Tcl. The current maintainers are Rob Savoye and Ben Elliston.
Testing.
DejaGnu has a very strong history in testing due to its Tcl base. Tcl is used extensively by companies such as Oracle and Sybase to test their products. DejaGnu allows this work to be much more structured.
The tests can be grouped according to the "tool" they are testing. The test is run by merely calling in the root project directory.
 runtest --tool program_to_test
This will look in the directory for any folders starting with and will run all .exp files in that folder.
Embedded design.
One field for which DejaGnu is particularly well suited is that of embedded system design. It allows for testing to be done remotely on development boards; separate initialization files can be created for each operating system and board. This mainly focuses on embedded targets and remote hosts. DejaGnu is thus popular with many GNU projects, at universities, and for private companies.
Files.
Essential Files
Other Files
 set tool Apache #run tests on Apache
 set srcdir ./testsuite #look here for test files
 set outdir ./logs #save the logs in a separate directory
 set all 1 #show results from all tests (rather than just ones with errors)