* debian/changelog: Add entry for new release.
[dejagnu.git] / doc / overview / overview.html
blob1972cb972c91310a67c0a6e681cc487be77a4f4a
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Overview</TITLE
5 ><META
6 NAME="GENERATOR"
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
8 REL="HOME"
9 TITLE="DejaGnu"
10 HREF="book1.html"><LINK
11 REL="PREVIOUS"
12 TITLE="Abstract"
13 HREF="preface.html"><LINK
14 REL="NEXT"
15 TITLE="What's New In This Release"
16 HREF="new.html"></HEAD
17 ><BODY
18 ><DIV
19 CLASS="NAVHEADER"
20 ><TABLE
21 WIDTH="100%"
22 BORDER="0"
23 CELLPADDING="0"
24 CELLSPACING="0"
25 ><TR
26 ><TH
27 COLSPAN="3"
28 ALIGN="center"
29 >DejaGnu: The GNU Testing Framework</TH
30 ></TR
31 ><TR
32 ><TD
33 WIDTH="10%"
34 ALIGN="left"
35 VALIGN="bottom"
36 ><A
37 HREF="preface.html"
38 >Prev</A
39 ></TD
40 ><TD
41 WIDTH="80%"
42 ALIGN="center"
43 VALIGN="bottom"
44 ></TD
45 ><TD
46 WIDTH="10%"
47 ALIGN="right"
48 VALIGN="bottom"
49 ><A
50 HREF="new.html"
51 >Next</A
52 ></TD
53 ></TR
54 ></TABLE
55 ><HR
56 ALIGN="LEFT"
57 WIDTH="100%"></DIV
58 ><DIV
59 CLASS="CHAPTER"
60 ><H1
61 ><A
62 NAME="OVERVIEW"
63 >Chapter 1. Overview</A
64 ></H1
65 ><DIV
66 CLASS="TOC"
67 ><DL
68 ><DT
69 ><B
70 >Table of Contents</B
71 ></DT
72 ><DT
73 ><A
74 HREF="overview.html#WHATIS"
75 >What is DejaGnu ?</A
76 ></DT
77 ><DT
78 ><A
79 HREF="new.html"
80 >What's New In This Release</A
81 ></DT
82 ><DT
83 ><A
84 HREF="designgoals.html"
85 >Design Goals</A
86 ></DT
87 ><DT
88 ><A
89 HREF="posix.html"
90 >A POSIX conforming test framework</A
91 ></DT
92 ></DL
93 ></DIV
94 ><DIV
95 CLASS="SECT1"
96 ><H1
97 CLASS="SECT1"
98 ><A
99 NAME="WHATIS"
100 >What is DejaGnu ?</A
101 ></H1
103 ><SPAN
104 CLASS="PRODUCTNAME"
105 >DejaGnu</SPAN
106 > is a framework for
107 testing other programs. Its purpose is to provide a single
108 front end for all tests. Think of it as a custom library of
109 Tcl procedures crafted to support writing a test harness. A
111 CLASS="EMPHASIS"
112 >Test Harness</I
113 > is the testing
114 infrastructure that is created to support a specific program
115 or tool. Each program can have multiple test suites, all
116 supported by a single test harness. DejaGnu is written in
117 <SPAN
118 CLASS="PRODUCTNAME"
119 >Expect</SPAN
120 >, which in turn uses
121 <SPAN
122 CLASS="PRODUCTNAME"
123 >Tcl</SPAN
124 > -- Tool command
125 language. There is more information on Tcl at the <A
126 HREF="http://www.scriptics.com"
127 TARGET="_top"
128 >Scriptics</A
129 > web site, and the
130 Expect web site is at <A
131 HREF="http://expect.nist.gov"
132 TARGET="_top"
133 >NIST</A
134 >.</P
136 >DejaGnu offers several advantages for testing:</P
138 ></P
139 ><UL
140 COMPACT="COMPACT"
141 ><LI
142 STYLE="list-style-type: disc"
144 >The flexibility and consistency of the DejaGnu
145 framework make it easy to write tests for any program, with
146 either batch oriented, or interactive programs.</P
147 ></LI
148 ><LI
149 STYLE="list-style-type: disc"
151 >DejaGnu provides a layer of abstraction which
152 allows you to write tests that are portable to any host or
153 target where a program must be tested. For instance, a test
154 for <B
155 CLASS="COMMAND"
156 >GDB</B
157 > can run (from any Unix
158 based host) on any target architecture that DejaGnu
159 supports. Currently DejaGnu runs tests on many single board
160 computers, whose operating software ranges from just a boot
161 monitor to a full-fledged, Unix-like realtime OS.</P
162 ></LI
163 ><LI
164 STYLE="list-style-type: disc"
166 >All tests have the same output format. This
167 makes it easy to integrate testing into other software
168 development processes. DejaGnu's output is designed to be
169 parsed by other filtering script, and it is also human
170 readable.</P
171 ></LI
172 ><LI
173 STYLE="list-style-type: disc"
175 >Using Tcl and expect, it's easy to create wrappers
176 for existing test suites. By incorporating existing tests under
177 DejaGnu, it's easier to have a single set of report analyse
178 programs..</P
179 ></LI
180 ></UL
182 >Running tests requires two things: the testing framework, and
183 the test suites themselves. Tests are usually written in
184 <SPAN
185 CLASS="PRODUCTNAME"
186 >Expect</SPAN
187 > using Tcl, but you can also use a
188 Tcl script to run a test suite that is not based on
189 <SPAN
190 CLASS="PRODUCTNAME"
191 >Expect</SPAN
193 (<SPAN
194 CLASS="PRODUCTNAME"
195 >expect</SPAN
196 > script filenames conventionally
197 use <I
198 CLASS="EMPHASIS"
199 >.exp</I
200 > as a suffix; for example, the main
201 implementation of the DejaGnu test driver is in the file
202 <SPAN
203 CLASS="PRODUCTNAME"
204 >runtest.exp</SPAN
205 >.)</P
207 >Julia Menapace first coined the term ``Deja Gnu'' to describe an
208 earlier testing framework at Cygnus Support she had written for
210 CLASS="COMMAND"
211 >GDB</B
212 >. When we replaced it with the Expect-based
213 framework, it was like DejaGnu all over again... But more importantly, it
214 was also named after my daughter,<A
215 HREF="mailto:deja@welcomehome.org"
216 TARGET="_top"
217 >Deja Snow Savoye</A
218 > (now 9
219 years old in Dec of 1998), who was a toddler during DejaGnu's
220 creation.</P
221 ></DIV
222 ></DIV
223 ><DIV
224 CLASS="NAVFOOTER"
225 ><HR
226 ALIGN="LEFT"
227 WIDTH="100%"><TABLE
228 WIDTH="100%"
229 BORDER="0"
230 CELLPADDING="0"
231 CELLSPACING="0"
232 ><TR
233 ><TD
234 WIDTH="33%"
235 ALIGN="left"
236 VALIGN="top"
238 HREF="preface.html"
239 >Prev</A
240 ></TD
241 ><TD
242 WIDTH="34%"
243 ALIGN="center"
244 VALIGN="top"
246 HREF="book1.html"
247 >Home</A
248 ></TD
249 ><TD
250 WIDTH="33%"
251 ALIGN="right"
252 VALIGN="top"
254 HREF="new.html"
255 >Next</A
256 ></TD
257 ></TR
258 ><TR
259 ><TD
260 WIDTH="33%"
261 ALIGN="left"
262 VALIGN="top"
263 >Abstract</TD
264 ><TD
265 WIDTH="34%"
266 ALIGN="center"
267 VALIGN="top"
268 >&nbsp;</TD
269 ><TD
270 WIDTH="33%"
271 ALIGN="right"
272 VALIGN="top"
273 >What's New In This Release</TD
274 ></TR
275 ></TABLE
276 ></DIV
277 ></BODY
278 ></HTML