Английская Википедия:DejaGnu
Шаблон:Short description Шаблон:Distinguish Шаблон:Multiple issues Шаблон:Use dmy dates Шаблон:Infobox software Шаблон:Portal DejaGnu is a software framework for testing other programs. It has a main script called runtest that goes through a directory looking at configuration files and then runs some tests with given criteria. The purpose of the DejaGnu package is to provide a single front end for all tests. It is a part of the GNU Project and is licensed under the GPL. It is based on Expect, which is in turn based on Tcl. The current maintainers are Rob Savoye and Ben Elliston.
Testing
DejaGnu has a very strong history in testing due to its Tcl base. Tcl is used extensively by companies such as Oracle and Sybase to test their products.Шаблон:Citation needed DejaGnu allows this work to be much more structured.
The tests can be grouped according to the tool they are testing. The test is run by merely calling Шаблон:Mono in the root project directory.
runtest --tool program_to_test
This will look in the Шаблон:Mono directory for any folders starting with Шаблон:Mono and will run all .exp files in that folder.
Embedded design
One field for which DejaGnu is particularly well suitedШаблон:Citation needed is that of embedded system design. It allows for testing to be done remotely on development boards; separate initialization files can be created for each operating system and board.Шаблон:Clarify This mainly focuses on embedded targets and remote hosts. DejaGnu is thus popular with many GNU projects, Шаблон:Clarify at universities, and for private companies.
Files
Essential Files
- Шаблон:Mono
- Шаблон:Mono Each directory in testsuite should contain tests for a specific tool. In this example, the tool being tested is the Apache webserver.
- Шаблон:Mono This will be the file containing tests, which in this fictional case might change configuration options, and then connect to the network and check to make sure the changes have taken effect.
- Шаблон:Mono
- Шаблон:Mono
- Шаблон:Mono This file will be run as a tool init file for the tool called toolname.
- Шаблон:Mono Each directory in testsuite should contain tests for a specific tool. In this example, the tool being tested is the Apache webserver.
Other Files
- Шаблон:Mono This file is a directory specific configuration file for Шаблон:Mono. Options can be placed in this file rather than retyped on each invocation; these options can include any variable passed as a command line argument.
set tool Apache #run tests on Apache set srcdir ./testsuite #look here for test files set outdir ./logs #save the logs in a separate directory set all 1 #show results from all tests (rather than just ones with errors)
- Шаблон:Mono This is a personal configuration file, which should be located in the user's home directory (Шаблон:Mono)
- Шаблон:Mono This is the first configuration file loaded. It can be named anything but must be pointed to by the $DEJAGNU environment variable (set when your terminal loads).
References
External links
- DejaGnu Homepage
- DejaGnu Tutorial (dead link : obsolete since https://www.gnu.org/software/dejagnu/manual/index.html exists ?)
- DejaGnu Bug Archives