OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [insight/] [dejagnu/] [README] - Blame information for rev 578

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
  DejaGnu is a framework for testing other programs. Its purpose is to
2
provide a single front end for all tests.  Beyond this, DejaGnu offers
3
several advantages for testing:
4
 
5
        - The flexibility and consistency of the DejaGnu framework
6
          make it easy to write tests for any program.
7
 
8
        - DejaGnu provides a layer of abstraction which makes all
9
          tests (if correctly written) portable to any host or target
10
          where a program must be tested.  For instance, a test for
11
          GDB can run (from any Unix based host) on any target
12
          architecture supported by DejaGnu. Currently DejaGnu runs
13
          tests on several single board computers, whose operating
14
          software ranges from just a boot monitor to a full-fledged,
15
          Unix-like realtime OS.
16
 
17
        - DejaGnu is written in expect, which in turn uses Tcl
18
          (Tool command language).  The framework comprises two parts:
19
          the testing framework and the testsuites themselves. Tests
20
          are usually written in expect using Tcl.
21
 
22
  Bugs can be reported to bug-dejagnu@prep.ai.mit.edu.
23
 
24
                      How To Configure and Build
25
 
26
 To build DejaGnu, run the ``configure'' script here, e.g.:
27
 
28
        ./configure MYHOSTTYPE
29
 
30
followed by running ``make''.  (MYHOSTTYPE is a name for your host computer,
31
for instance "sun4".  You can use the script ``config.sub'' to test whether
32
a name is recognized; if it is, config.sub translates it to a triplet
33
specifying CPU, vendor, and OS.) This is used when you plan to
34
configure and build in the source tree.
35
 
36
  If you use a separate tree for object files, (the recommended way),
37
then the --srcdir option must also be specified. This would also
38
require that the configure script be run from the top level directory.
39
 
40
        PATH/configure MYHOSTYPE --srcdir PATH/dejagnu
41
 
42
where PATH is is the directory that the contains the sources.
43
 
44
  To configure it so it gets installed somewhere other than the
45
default of /usr/local, use the --prefix option.
46
 
47
        configure MYHOSTYPE --prefix [PATH]
48
 
49
where PATH is the prefix used to install the programs.
50
 
51
  The configure testing and building will use the native compiler "cc"
52
on your host machine. To change which compiler gets used (like gcc)
53
set a the variable "CC" in your environment to point to it.
54
 
55
        For csh users:          "setenv CC gcc"
56
        For bourne shell users: "CC=gcc;export CC"
57
 
58
  Then when you compile, use "make CC=$CC".
59
 
60
See etc/cfg-paper.texi, etc/configure.texi, and/or the README files in
61
various subdirectories, for more details.
62
 
63
 As DejaGnu is a Tcl program, there is nothing to build. However, the
64
documentation is not built by default. Use these targets:
65
"make info"     - Convert the texinfo document to something that can
66
                  be used the GNU info program or info mode in emacs.
67
"make dvi"      - Convert the texinfo document to something that can
68
                  be printed. This produces dvi output.
69
"make doc"      - This builds both.
70
"make ps"       - This converts the dvi file into postscript. This
71
                  requires a copy of dvips.
72
"make install"  - This installs DejaGnu based on the --prefix option
73
                  when configuring. Otherwise it defaults to
74
                  /usr/local. See the DejaGnu manual for more
75
                  information on installation.
76
 
77
                          Changes from 1.1.1
78
        1. Works with (included in release) Tcl 7.3 and Expect 5.6.
79
        2. Much better error trapping and handling, including the
80
           execution of sub scripts.
81
        3. Re-worked configuration subsystem.
82
        4. Default handling for testing unknown targets.
83
        5. New testsuite for expect and runtest.
84
        6. More debugging procedures.
85
 
86
                          Changes from 1.0
87
 
88
        1. DejaGnu now conforms to POSIX 1003.3, a standard for
89
           testing frameworks.
90
        2. A Tcl debugger written by Don Libes has been added.
91
        3. Lots of bug fixes.
92
 
93
                          Changes from 0.9
94
 
95
        1. DejaGnu now installs itself like other utilities.
96
        2. 700 G++ tests are included.
97
        3. The bugs in the GCC tests have been fixed.
98
        4. Testsuites are released separately.
99
        5. Testsuite sources now reside with the within each tool's
100
           source tree.
101
 
102
-------------------------------------------------------------------
103
Here's is a posting on the Free OS testing project. (FROST)
104
-------------------------------------------------------------------
105
If you have built up your own tests for system calls, library
106
routines, networking protocols, or common utilities, this posting
107
offers you an opportunity to put them to good use.  You can do a good
108
deed for the Linux community, the Berkeley UNIX community, and the
109
wider world of free software users.
110
 
111
Also, if you would like to learn some good test tools and strategies,
112
and devote some time on a volunteer basis to writing tests -- perhaps
113
a couple of weeks full-time, or a couple hours per week over a period
114
of several months -- then here is a project you should get involved
115
in.
116
 
117
I am helping to coordinate a test effort for Linux.  In the following
118
four sections of this message I will describe the goals, the process,
119
the people trying to do it, and what you can do to help.
120
 
121
Goals
122
 
123
  Linux and BSD share a number of libraries and utilities, both
124
  because BSD software was ported to Linux, and because several free
125
  software (GNU) utilities have been ported to both operating
126
  systems.
127
 
128
  Linux shows startling differences and failures as you move from one
129
  set of hardware to another.  People who hope to base their own
130
  commercial products on Linux would like to see proof that it is
131
  robust, portable, and standard-conforming.  The problem is that
132
  cross-platform testing is very hard to do, and few decent test
133
  suites exist either for free software or for UNIX.  (Look at all the
134
  differences you find among systems that are SVID-conforming,
135
  particularly at higher levels such as the utilities.)
136
 
137
  Therefore, a number of us who are interested n Linux have decided to
138
  enter the modern age of formal, automated software testing -- but in
139
  a manner that is proper for the free software community.
140
 
141
  Using DejaGnu, a test platform developed by Cygnus Support and
142
  placed under the GPL, we want to collect the best tests we can from
143
  people everywhere, and integrate them into suites that any user can
144
  download, run, and interpret with a few commands.  DejaGnu already
145
  runs under BSD, and Cygnus is porting it to Linux.
146
 
147
  Our goal is to test as many parts of the system as possible,
148
  including system calls (particularly for POSIX 1003.1 compliance),
149
  libraries in the official distribution, networking protocols,
150
  and utilities.  We need help with
151
 
152
    1) integrating good tests donated by the community (and probably
153
       written in a variety of programming languages and command
154
       shells) into the DejaGnu framework, and
155
 
156
    2) writing new tests for major functional areas for which no
157
       adequate tests exist.
158
 
159
  The tests we use will be placed under the GPL and distributed by
160
  Cygnus Support along with DejaGnu.  H. J. Lu, who maintains the C
161
  library for Linux, has offered to run the POSIX 1003.1 tests and as
162
  many others as he can.
163
 
164
Process
165
 
166
  First let me summarize the advantages of using DejaGnu, a free
167
  software product that will be the umbrella for all the tests, and
168
  then explain how we plan to conduct this project.
169
 
170
  Cygnus Support released DejaGnu to the public on January 3, along
171
  with several test suites for GNU language tools.  The product is
172
  designed for portability and easy cross-platform development and
173
  execution.  It works more uniformly than typical tests using the
174
  UNIX shell, and also supports interactive testing better than most
175
  test platforms -- for instance, Cygnus has written over 1300 unit
176
  tests for the gdb debugger using it.
177
 
178
  The implementation of DejaGnu is based on tcl and expect, two simple
179
  existing languages for writing commands.  You can develop new tests
180
  in two major ways: by placing keyword-based comments in C source
181
  code, or by writing tests in tcl.
182
 
183
  While Cygnus is still increasing their body of tests for language
184
  tools, they are also turning their resources toward the libraries
185
  and GNU utilities.  While most of the tests are written at Cygnus,
186
  they have reached out to communities of testers and are now porting
187
  substantial sets of donated tests.
188
 
189
  We are hoping to broaden this successful use of collaboration across
190
  user communities.  We hope that suites of useful tests are sitting
191
  in desk drawers out there.  We also hope to gather and mobilize
192
  people who appreciate the value of formal tests in legitimizing free
193
  software, and would like to help write them.
194
 
195
  I am not an employee of Cygnus, but have volunteered to talk to
196
  interested people and do an initial classification of tests, just to
197
  offload some of this routine work from them.  I will discuss all
198
  offers with Cygnus staff to find out what is most needed and decide
199
  which tests to incorporate into DejaGnu.  There are several criteria
200
  for choosing tests, including the degree to which an area is
201
  covered, and its importance in the overall stability of the
202
  operating system.  Some tests may have to be rejected just because
203
  they are hard to fit into the DejaGnu model.
204
 
205
People
206
 
207
  Now you can find out why each of us got involved with this project.
208
 
209
  Cygnus writes and distributes free software, selling support as a
210
  means to make money.  The company is not directly in the business of
211
  supporting operating systems or common UNIX utilities, so this kind
212
  of testing is tangential to their main goals.  But they may want to
213
  support those things in the future.  In any case, they would like to
214
  see Linux do well, and this big test project will be a good
215
  promotion for DejaGnu.
216
  H. K. Lu, as a volunteer for Linux, has been using his own system to
217
  implement, port, maintain, and ensure ANSI and POSIX compliance for
218
  the C library (mostly the GNU C library along with the iostream
219
  class from the g++ library).  He is looking for ways to validate the
220
  work that he and many other contributors have put in.
221
 
222
  As an editor at a publisher of computer books, my relationship to
223
  Linux and BSD is even more distant than that of Cygnus.  But we are
224
  thinking about putting out books about Linux, from either the Linux
225
  Documentation Project or independent authors, and would like to make
226
  sure Linux is stable enough to be documented.  The testing of
227
  utilities is particularly important to me, because it can provide
228
  quality assurance for our books, including the BSD version of UNIX
229
  in a Nutshell.
230
 
231
What you can do
232
 
233
  We ask people who have written tests in the areas I have described
234
  to donate them to this project and see them benefit the public.
235
  Don't just send me stuff -- write or call to discuss what you've got
236
  in general.  You also have to assign the tests to the Free Software
237
  Foundation (a simple matter, so long as you are the owner of the
238
  tests) so that they can be distributed under the GPL.
239
 
240
  Also, please don't starting flaming about the GPL.  Either join our
241
  project and donate your tests, or don't.  Personally, I do not take
242
  a side in this war.
243
 
244
  People who are interested in testing as a discipline, and have some
245
  time to donate, are invited to contact me to help write tests.  Tell
246
  me:
247
 
248
        Your knowledge of computer languages and tools
249
 
250
        Previous software test efforts you have engaged in, if any
251
 
252
        How much time you can devote
253
 
254
        What functional areas you think are important and have a
255
        particular interest in
256
 
257
  Cygnus staff will tell volunteers which areas need testing, and
258
  offer guidance while you learn and apply DejaGnu.  The most
259
  important trait for the project is rigorous thinking along the lines
260
  of software quality (so the best preparation is to have done some
261
  formal testing before).  You do not need to know any particular
262
  language or tool; you can learn tcl or other aspects of DejaGnu
263
  fairly quickly.
264
 
265
  Contact information for me is in my signature.  I am at the phone
266
  number during traditional U.S. business hours.  So send mail any
267
  time, or try calling from Monday through Friday, 9:00 AM to 5:00 PM,
268
  Eastern Daylight Saving Time (four hours later than Greenwich Mean
269
  Time).
270
 
271
  Feel free to distribute and repost this message elsewhere, in its
272
  entirety.
273
 
274
----------------------------------------------------------------------
275
Andy Oram    O'Reilly & Associates, Inc.                 andyo@ora.com
276
             90 Sherman Street, Cambridge, MA 02140     (617) 354-5800
277
                                                    fax (617) 661-1116
278
----------------------------------------------------------------------
279
 
280
There is a new listserv based mailing list for the FROST project. To
281
subscribe, send email to "listserv@cygnus.com" and the body should
282
contain "SUBSCRIBE FROST ". Messages sent to
283
frost@cygnus.com go to the mailing list.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.