DejaGnu: The GNU Testing Framework
<<< Previous | Overview | Next >>>

# Design Goals

DejaGnu grew out of the internal needs of Cygnus Solutions, the company formerly known as Cygnus Support. Cygnus maintained and enhanced a variety of free programs in many different environments and we needed a testing tool that:

- was useful to developers while fixing bugs;

- automated running many tests during a software release process;

- was portable among a variety of host computers;

- supported cross-development testing;

- permitted testing interactive programs, like GDB; and

- permitted testing batch oriented programs, like GCC.

Some of the requirements proved challenging. For example, interactive programs do not lend themselves very well to automated testing. But all the requirements are important: for instance, it is imperative to make sure that GDB works as well when cross-debugging as it does in a native configuration.

Probably the greatest challenge was testing in a cross-development environment. Most cross-development environments are customized by each developer. Even when buying packaged boards from vendors there are many differences. The communication interfaces vary from a serial line to Ethernet. DejaGnu was designed with a modular communication setup, so that each kind of communication can be added as required and supported thereafter. Once a communication procedure is coded, any test can use it. Currently DejaGnu can use rsh, rlogin, telnet, tip, kermit and mondfe for remote communications.

<<< Previous | Home | Next >>>
What's New In This Release | Up | A POSIX conforming test framework