Overview

What is DejaGnu ?

DejaGnu is a framework for testing other programs. Its purpose is to provide a single front end for all tests. Think of it as a custom library of Tcl procedures crafted to support writing a test harness. 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. DejaGnu is written in Expect, which in turn uses Tcl -- Tool command language. There is more information on Tcl at the Scriptics web site, and the Expect web site is at NIST.

DejaGnu offers several advantages for testing:

Running tests requires two things: the testing framework, and the test suites themselves. 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. (expect script filenames conventionally use .exp as a suffix; for example, the main implementation of the DejaGnu test driver is in the file runtest.exp.)

Julia Menapace first coined the term ``Deja Gnu'' to describe an earlier testing framework at Cygnus Support she had written for GDB. When we replaced it with the Expect-based framework, it was like DejaGnu all over again... But more importantly, it was also named after my daughter,Deja Snow Savoye (now 9 years old in Dec of 1998), who was a toddler during DejaGnu's creation.