Abstract

This document attempts to describe the functionality of DejaGnu, the GNU Testing Framework. DejaGnu is entirely written in Expect, which uses Tcl as a command language. Expect serves as a very programmable shell; you can run any program, as with the usual Unix command shells---but once the program is started, your test script has fully programmable control of its input and output. This does not just apply to the programs under test; expect can also run any auxiliary program, such as diff or sh, with full control over its input and output.

DejaGnu itself is merely a framework for creation of a test suites. Test suites are distributed separately for each GNU tool.