From: Pedro Alves <pedro@codesourcery.com>
To: gdb@sourceware.org
Cc: "Jakob Engblom" <jakob@virtutech.com>,
Michael Snyder <msnyder@vmware.com>
Subject: Re: gdb reverse execution: how to actually run tests for it?
Date: Wed, 19 Aug 2009 15:28:00 -0000 [thread overview]
Message-ID: <200908191328.57310.pedro@codesourcery.com> (raw)
In-Reply-To: <024f01ca209e$02d81e40$08885ac0$@com>
On Wednesday 19 August 2009 08:23:54, Jakob Engblom wrote:
> > # Create an empty file named site.exp.
> > # Create a directory named boards in the same location as site.exp.
> > # Create a file named native-gdbserver.exp in the boards directory (see
> below).
> > # Set the DEJAGNU environment variable to point to the empty site.exp.
> > # Run the testsuite with make check-gdb RUNTESTFLAGS="--target_board native-
> > gdbserver".
>
> Should such files be part of the gdb source tree, so that the tests for reverse
> can be run without having to set up a local special board?
For the generic reverse execution tests --- reverse step, reverse next,
reverse continue, run to breakpoint in reverse, etc., etc., I'd must prefer
that we would get rid of the need for board files at all. :-)
1. for native targets, the only reverse solution we currently support is
precord. I can't see why we can't default to testing the reverse tests
with precord then. We could still leave the possibility of a dejagnu
board variable changing this defaulting, but I don't think we need
it currently. Of course, this would be filtered on selected targets.
Something along these lines in testsuite/lib/gdb.exp:
proc run_reverse_tests_with_precord {} {
# Board requested it explicitly. Might want to try
# precord against gdbserver.
if [target_info exists gdb,use_precord] {
return 1
}
if { [isnative] && ([istarget "i?86-*-linux*"] || [istarget "x86_64-*-linux*"]) } then {
# Nothing else supports precord, yet.
return 1
}
# Nope, don't use precord. Maybe the target supports reverse
# debugging in some other way (e.g., a remote full system emulator)
return 0
}
Then have the tests check run_reverse_tests_with_precord instead of
checking "target_info exists gdb,use_precord".
2. for remove targets, it would be much much better if the remote target
reported support for reverse upfront, but, that was never added to the
protocol ... Failing that, I still think that a simple probing test
would work (try a simple reverse step, and if that fails either claiming
the target doesn't support the command, or, it moved forward instead
of backwards, then skip all other reverse tests).
This way, everyone runs the reverse tests when they do a simple "make check",
and we get much better test coverage. As is, only a couple people are
running them, as you have to request them explicitly.
--
Pedro Alves
next prev parent reply other threads:[~2009-08-19 12:29 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-17 7:42 Jakob Engblom
2009-08-17 7:58 ` Hui Zhu
2009-08-17 11:33 ` Jakob Engblom
2009-08-17 11:50 ` Jakob Engblom
2009-08-17 11:55 ` Pedro Alves
2009-08-17 15:31 ` Pedro Alves
2009-08-17 15:52 ` Hui Zhu
2009-08-20 17:10 ` Pedro Alves
2009-08-19 7:34 ` Jakob Engblom
2009-08-17 18:24 ` Michael Snyder
2009-08-17 20:08 ` Jakob Engblom
2009-08-17 22:44 ` Michael Snyder
2009-08-19 7:24 ` Jakob Engblom
2009-08-19 8:58 ` Simics & reverse execution Jakob Engblom
2009-08-19 12:29 ` Hui Zhu
2009-08-19 20:03 ` Jakob Engblom
2009-08-19 20:29 ` Michael Snyder
2009-08-19 20:44 ` Daniel Jacobowitz
2009-08-19 21:09 ` Pedro Alves
2009-08-20 6:54 ` Jakob Engblom
2009-08-20 15:03 ` Pedro Alves
2009-08-27 4:44 ` Michael Snyder
2009-08-27 8:17 ` Jakob Engblom
2009-08-28 11:04 ` Michael Snyder
2009-08-28 15:17 ` Greg Law
2009-08-31 13:22 ` Jakob Engblom
2009-08-31 16:34 ` Greg Law
2009-09-01 6:37 ` Jakob Engblom
2009-09-01 13:49 ` Greg Law
2009-09-03 19:16 ` Jakob Engblom
2009-09-04 12:44 ` Greg Law
2009-09-07 7:16 ` Jakob Engblom
2009-09-07 8:13 ` Greg Law
2009-09-07 8:24 ` Jakob Engblom
2009-09-07 12:06 ` Greg Law
2009-09-08 7:21 ` Jakob Engblom
2009-09-08 12:08 ` Greg Law
2009-09-08 13:02 ` Jakob Engblom
2009-09-08 19:11 ` Greg Law
2009-09-14 8:26 ` Jakob Engblom
2009-09-17 3:07 ` Michael Snyder
2009-08-19 7:24 ` gdb reverse execution: how to actually run tests for it? Jakob Engblom
2009-08-19 15:28 ` Pedro Alves [this message]
2009-08-19 16:37 ` Tom Tromey
2009-08-20 13:10 ` Jakob Engblom
2009-08-20 14:50 ` Daniel Jacobowitz
2009-08-20 20:27 ` Michael Snyder
2009-08-20 6:53 ` Hui Zhu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200908191328.57310.pedro@codesourcery.com \
--to=pedro@codesourcery.com \
--cc=gdb@sourceware.org \
--cc=jakob@virtutech.com \
--cc=msnyder@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox