From 20f1185dd84bcadf4b238d1d2ca18f5ca79157d4 Mon Sep 17 00:00:00 2001 From: Rob Savoye Date: Mon, 5 Feb 2001 04:14:59 +0000 Subject: Initial revision --- README | 283 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 README (limited to 'README') diff --git a/README b/README new file mode 100644 index 0000000..0e22eab --- /dev/null +++ b/README @@ -0,0 +1,283 @@ + DejaGnu is a framework for testing other programs. Its purpose is to +provide a single front end for all tests. Beyond this, DejaGnu offers +several advantages for testing: + + - The flexibility and consistency of the DejaGnu framework + make it easy to write tests for any program. + + - DejaGnu provides a layer of abstraction which makes all + tests (if correctly written) portable to any host or target + where a program must be tested. For instance, a test for + GDB can run (from any Unix based host) on any target + architecture supported by DejaGnu. Currently DejaGnu runs + tests on several single board computers, whose operating + software ranges from just a boot monitor to a full-fledged, + Unix-like realtime OS. + + - DejaGnu is written in expect, which in turn uses Tcl + (Tool command language). The framework comprises two parts: + the testing framework and the testsuites themselves. Tests + are usually written in expect using Tcl. + + Bugs can be reported to bug-dejagnu@prep.ai.mit.edu. + + How To Configure and Build + + To build DejaGnu, run the ``configure'' script here, e.g.: + + ./configure MYHOSTTYPE + +followed by running ``make''. (MYHOSTTYPE is a name for your host computer, +for instance "sun4". You can use the script ``config.sub'' to test whether +a name is recognized; if it is, config.sub translates it to a triplet +specifying CPU, vendor, and OS.) This is used when you plan to +configure and build in the source tree. + + If you use a separate tree for object files, (the recommended way), +then the --srcdir option must also be specified. This would also +require that the configure script be run from the top level directory. + + PATH/configure MYHOSTYPE --srcdir PATH/dejagnu + +where PATH is is the directory that the contains the sources. + + To configure it so it gets installed somewhere other than the +default of /usr/local, use the --prefix option. + + configure MYHOSTYPE --prefix [PATH] + +where PATH is the prefix used to install the programs. + + The configure testing and building will use the native compiler "cc" +on your host machine. To change which compiler gets used (like gcc) +set a the variable "CC" in your environment to point to it. + + For csh users: "setenv CC gcc" + For bourne shell users: "CC=gcc;export CC" + + Then when you compile, use "make CC=$CC". + +See etc/cfg-paper.texi, etc/configure.texi, and/or the README files in +various subdirectories, for more details. + + As DejaGnu is a Tcl program, there is nothing to build. However, the +documentation is not built by default. Use these targets: +"make info" - Convert the texinfo document to something that can + be used the GNU info program or info mode in emacs. +"make dvi" - Convert the texinfo document to something that can + be printed. This produces dvi output. +"make doc" - This builds both. +"make ps" - This converts the dvi file into postscript. This + requires a copy of dvips. +"make install" - This installs DejaGnu based on the --prefix option + when configuring. Otherwise it defaults to + /usr/local. See the DejaGnu manual for more + information on installation. + + Changes from 1.1.1 + 1. Works with (included in release) Tcl 7.3 and Expect 5.6. + 2. Much better error trapping and handling, including the + execution of sub scripts. + 3. Re-worked configuration subsystem. + 4. Default handling for testing unknown targets. + 5. New testsuite for expect and runtest. + 6. More debugging procedures. + + Changes from 1.0 + + 1. DejaGnu now conforms to POSIX 1003.3, a standard for + testing frameworks. + 2. A Tcl debugger written by Don Libes has been added. + 3. Lots of bug fixes. + + Changes from 0.9 + + 1. DejaGnu now installs itself like other utilities. + 2. 700 G++ tests are included. + 3. The bugs in the GCC tests have been fixed. + 4. Testsuites are released separately. + 5. Testsuite sources now reside with the within each tool's + source tree. + +------------------------------------------------------------------- +Here's is a posting on the Free OS testing project. (FROST) +------------------------------------------------------------------- +If you have built up your own tests for system calls, library +routines, networking protocols, or common utilities, this posting +offers you an opportunity to put them to good use. You can do a good +deed for the Linux community, the Berkeley UNIX community, and the +wider world of free software users. + +Also, if you would like to learn some good test tools and strategies, +and devote some time on a volunteer basis to writing tests -- perhaps +a couple of weeks full-time, or a couple hours per week over a period +of several months -- then here is a project you should get involved +in. + +I am helping to coordinate a test effort for Linux. In the following +four sections of this message I will describe the goals, the process, +the people trying to do it, and what you can do to help. + +Goals + + Linux and BSD share a number of libraries and utilities, both + because BSD software was ported to Linux, and because several free + software (GNU) utilities have been ported to both operating + systems. + + Linux shows startling differences and failures as you move from one + set of hardware to another. People who hope to base their own + commercial products on Linux would like to see proof that it is + robust, portable, and standard-conforming. The problem is that + cross-platform testing is very hard to do, and few decent test + suites exist either for free software or for UNIX. (Look at all the + differences you find among systems that are SVID-conforming, + particularly at higher levels such as the utilities.) + + Therefore, a number of us who are interested n Linux have decided to + enter the modern age of formal, automated software testing -- but in + a manner that is proper for the free software community. + + Using DejaGnu, a test platform developed by Cygnus Support and + placed under the GPL, we want to collect the best tests we can from + people everywhere, and integrate them into suites that any user can + download, run, and interpret with a few commands. DejaGnu already + runs under BSD, and Cygnus is porting it to Linux. + + Our goal is to test as many parts of the system as possible, + including system calls (particularly for POSIX 1003.1 compliance), + libraries in the official distribution, networking protocols, + and utilities. We need help with + + 1) integrating good tests donated by the community (and probably + written in a variety of programming languages and command + shells) into the DejaGnu framework, and + + 2) writing new tests for major functional areas for which no + adequate tests exist. + + The tests we use will be placed under the GPL and distributed by + Cygnus Support along with DejaGnu. H. J. Lu, who maintains the C + library for Linux, has offered to run the POSIX 1003.1 tests and as + many others as he can. + +Process + + First let me summarize the advantages of using DejaGnu, a free + software product that will be the umbrella for all the tests, and + then explain how we plan to conduct this project. + + Cygnus Support released DejaGnu to the public on January 3, along + with several test suites for GNU language tools. The product is + designed for portability and easy cross-platform development and + execution. It works more uniformly than typical tests using the + UNIX shell, and also supports interactive testing better than most + test platforms -- for instance, Cygnus has written over 1300 unit + tests for the gdb debugger using it. + + The implementation of DejaGnu is based on tcl and expect, two simple + existing languages for writing commands. You can develop new tests + in two major ways: by placing keyword-based comments in C source + code, or by writing tests in tcl. + + While Cygnus is still increasing their body of tests for language + tools, they are also turning their resources toward the libraries + and GNU utilities. While most of the tests are written at Cygnus, + they have reached out to communities of testers and are now porting + substantial sets of donated tests. + + We are hoping to broaden this successful use of collaboration across + user communities. We hope that suites of useful tests are sitting + in desk drawers out there. We also hope to gather and mobilize + people who appreciate the value of formal tests in legitimizing free + software, and would like to help write them. + + I am not an employee of Cygnus, but have volunteered to talk to + interested people and do an initial classification of tests, just to + offload some of this routine work from them. I will discuss all + offers with Cygnus staff to find out what is most needed and decide + which tests to incorporate into DejaGnu. There are several criteria + for choosing tests, including the degree to which an area is + covered, and its importance in the overall stability of the + operating system. Some tests may have to be rejected just because + they are hard to fit into the DejaGnu model. + +People + + Now you can find out why each of us got involved with this project. + + Cygnus writes and distributes free software, selling support as a + means to make money. The company is not directly in the business of + supporting operating systems or common UNIX utilities, so this kind + of testing is tangential to their main goals. But they may want to + support those things in the future. In any case, they would like to + see Linux do well, and this big test project will be a good + promotion for DejaGnu. + H. K. Lu, as a volunteer for Linux, has been using his own system to + implement, port, maintain, and ensure ANSI and POSIX compliance for + the C library (mostly the GNU C library along with the iostream + class from the g++ library). He is looking for ways to validate the + work that he and many other contributors have put in. + + As an editor at a publisher of computer books, my relationship to + Linux and BSD is even more distant than that of Cygnus. But we are + thinking about putting out books about Linux, from either the Linux + Documentation Project or independent authors, and would like to make + sure Linux is stable enough to be documented. The testing of + utilities is particularly important to me, because it can provide + quality assurance for our books, including the BSD version of UNIX + in a Nutshell. + +What you can do + + We ask people who have written tests in the areas I have described + to donate them to this project and see them benefit the public. + Don't just send me stuff -- write or call to discuss what you've got + in general. You also have to assign the tests to the Free Software + Foundation (a simple matter, so long as you are the owner of the + tests) so that they can be distributed under the GPL. + + Also, please don't starting flaming about the GPL. Either join our + project and donate your tests, or don't. Personally, I do not take + a side in this war. + + People who are interested in testing as a discipline, and have some + time to donate, are invited to contact me to help write tests. Tell + me: + + Your knowledge of computer languages and tools + + Previous software test efforts you have engaged in, if any + + How much time you can devote + + What functional areas you think are important and have a + particular interest in + + Cygnus staff will tell volunteers which areas need testing, and + offer guidance while you learn and apply DejaGnu. The most + important trait for the project is rigorous thinking along the lines + of software quality (so the best preparation is to have done some + formal testing before). You do not need to know any particular + language or tool; you can learn tcl or other aspects of DejaGnu + fairly quickly. + + Contact information for me is in my signature. I am at the phone + number during traditional U.S. business hours. So send mail any + time, or try calling from Monday through Friday, 9:00 AM to 5:00 PM, + Eastern Daylight Saving Time (four hours later than Greenwich Mean + Time). + + Feel free to distribute and repost this message elsewhere, in its + entirety. + +---------------------------------------------------------------------- +Andy Oram O'Reilly & Associates, Inc. andyo@ora.com + 90 Sherman Street, Cambridge, MA 02140 (617) 354-5800 + fax (617) 661-1116 +---------------------------------------------------------------------- + +There is a new listserv based mailing list for the FROST project. To +subscribe, send email to "listserv@cygnus.com" and the body should +contain "SUBSCRIBE FROST ". Messages sent to +frost@cygnus.com go to the mailing list. \ No newline at end of file -- cgit v1.2.3