<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML ><HEAD ><TITLE >Design Goals</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REL="HOME" TITLE="DejaGnu" HREF="book1.html"><LINK REL="UP" TITLE="Overview" HREF="overview.html"><LINK REL="PREVIOUS" TITLE="What's New In This Release" HREF="new.html"><LINK REL="NEXT" TITLE="A POSIX conforming test framework" HREF="posix.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >DejaGnu: The GNU Testing Framework</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="new.html" ><<< Previous</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Overview</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="posix.html" >Next >>></A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="DESIGNGOALS" >Design Goals</A ></H1 ><P >DejaGnu grew out of the internal needs of Cygnus Solutions. (then Cygnus Support). Cygnus maintained and enhanced a variety of free programs in many different environments, and we needed a testing tool that:</P ><P ></P ><UL ><LI STYLE="list-style-type: disc" ><P >was useful to developers while fixing bugs.</P ></LI ><LI STYLE="list-style-type: disc" ><P >automated running many tests during a software release process.</P ></LI ><LI STYLE="list-style-type: disc" ><P >was portable among a variety of host computers.</P ></LI ><LI STYLE="list-style-type: disc" ><P >supported cross-development testing.</P ></LI ><LI STYLE="list-style-type: disc" ><P >permitted testing interactive programs, like <B CLASS="COMMAND" >GDB</B >; and </P ></LI ><LI STYLE="list-style-type: disc" ><P >permitted testing batch oriented programs, like <B CLASS="COMMAND" >GCC</B >.</P ></LI ></UL ><P >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 <B CLASS="COMMAND" >GDB</B > works as well when cross-debugging as it does in a native configuration. </P ><P >Probably the greatest challenge was testing in a cross-development environment (which can be a real nightmare). 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 <B CLASS="COMMAND" >rsh</B >, <B CLASS="COMMAND" >rlogin</B >, <B CLASS="COMMAND" >telnet</B >, <B CLASS="COMMAND" >tip</B >, <B CLASS="COMMAND" >kermit</B >, and <B CLASS="COMMAND" >mondfe</B > for remote communications.</P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="new.html" ><<< Previous</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="book1.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="posix.html" >Next >>></A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >What's New In This Release</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="overview.html" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >A POSIX conforming test framework</TD ></TR ></TABLE ></DIV ></BODY ></HTML >