| <!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.76b+ |
| "><LINK |
| REL="HOME" |
| TITLE="DejaGnu" |
| HREF="book1.html"><LINK |
| REL="UP" |
| TITLE="Overview" |
| HREF="c50.html"><LINK |
| REL="PREVIOUS" |
| TITLE="What's New In This Release" |
| HREF="x81.html"><LINK |
| REL="NEXT" |
| TITLE="A POSIX conforming test framework" |
| HREF="x134.html"></HEAD |
| ><BODY |
| CLASS="SECT1" |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#840084" |
| ALINK="#0000FF" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><TABLE |
| SUMMARY="Header navigation 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="x81.html" |
| ACCESSKEY="P" |
| ><<< Previous</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| >Overview</TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="x134.html" |
| ACCESSKEY="N" |
| >Next >>></A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><DIV |
| CLASS="SECT1" |
| ><H1 |
| CLASS="SECT1" |
| ><A |
| NAME="DESIGNGOALS" |
| ></A |
| >Design Goals</H1 |
| ><P |
| >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:</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. 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 |
| SUMMARY="Footer navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="x81.html" |
| ACCESSKEY="P" |
| ><<< Previous</A |
| ></TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="book1.html" |
| ACCESSKEY="H" |
| >Home</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| ><A |
| HREF="x134.html" |
| ACCESSKEY="N" |
| >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="c50.html" |
| ACCESSKEY="U" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >A POSIX conforming test framework</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |