This is the mail archive of the
mailing list for the GDB project.
Re: i386.record.floating.point.patch : with more testing and assurity
- From: Michael Snyder <msnyder at vmware dot com>
- To: paawan oza <paawan1982 at yahoo dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, Pedro Alves <pedro at codesourcery dot com>, "teawater at gmail dot com" <teawater at gmail dot com>
- Date: Sat, 11 Jul 2009 16:25:08 -0700
- Subject: Re: i386.record.floating.point.patch : with more testing and assurity
- References: <email@example.com>
paawan oza wrote:
As I am submitting the patch for the first time, I am not much aware of gdb test suite.
would you please guide me about how I can put the things in the testsuite ?
is it the testsuite which comes along with the gdb source ?
Yes, we are talking about the automated regression testsuite that
comes with the gdb source tree, at src/gdb/testsuite. You'll need
to be familiar with it, both to use it and to write tests.
All tests for the GNU tools are written in (are you ready for this)
* dejagnu, which is a layer written on top of
* expect, which is a language written on top of
There are many many tests already in the testsuite. Each consists of
1) one 'expect' script, such as
2) one or more source files, such as
I chose that one as a relatively simple example for you to look at.
* compiles the corresponding source file,
* starts gdb, and
* runs a set of gdb commands.
The output of the commands is automatically compared to a set
of expected outputs (hence the name 'expect'), and if the output
matches the expected output the script will output "PASS".
Otherwise it will output "FAIL".
We use these test scripts regularly, both to validate new patches,
and to make sure that new changes haven't broken any old changes.
To run the gdb tests, you need to have installed
* dejagnu version 1.4.4
* expect version 5.42.1
* tcl at least version 8.4
With those installed, you should be able to do the following
in your build tree, with these results: then we'll talk about
writing tests. ;-)
bash-3.00$ cd gdb/testsuite
bash-3.00$ make check RUNTESTFLAGS=break-always.exp
=== gdb tests ===
Schedule of variations:
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file
Using /usr/share/dejagnu/config/unix.exp as generic interface file for
as tool-and-target-specific interface file.
=== gdb Summary ===
# of expected passes 4
18.104.22.16890711-cvs -nw -nx