This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdb reverse execution: how to actually run tests for it?
- From: Hui Zhu <teawater at gmail dot com>
- To: Jakob Engblom <jakob at virtutech dot com>
- Cc: gdb at sourceware dot org
- Date: Mon, 17 Aug 2009 15:58:17 +0800
- Subject: Re: gdb reverse execution: how to actually run tests for it?
- References: <002001ca1f0e$4c9b74a0$e5d25de0$@com>
To use the testsuite of reverse:
cat /usr/share/dejagnu/baseboards/precord.exp
# Testing programs using process record/replay (precord)
load_base_board_description "unix"
set_board_info gdb,can_reverse 1
set_board_info gdb,use_precord 1
make check RUNTESTFLAGS="break-reverse.exp --target_board=precord" &&
make check RUNTESTFLAGS="consecutive-reverse.exp
--target_board=precord" && make check RUNTESTFLAGS="finish-reverse.exp
--target_board=precord" && make check RUNTESTFLAGS="machinestate.exp
--target_board=precord" && make check RUNTESTFLAGS="solib-reverse.exp
--target_board=precord" && make check RUNTESTFLAGS="step-reverse.exp
--target_board=precord" && make check RUNTESTFLAGS="until-reverse.exp
--target_board=precord" && make check RUNTESTFLAGS="watch-reverse.exp
--target_board=precord"
It just test reverse and prec target. If you want test reverse with
other target, I think you need change follow code in .exp:
runto main
if [target_info exists gdb,use_precord] {
# Activate process record/replay
gdb_test "record" "" "Turn on process record"
# FIXME: command ought to acknowledge, so we can test if it succeeded.
}
Thanks,
Hui
On Mon, Aug 17, 2009 at 15:42, Jakob Engblom<jakob@virtutech.com> wrote:
> I am trying to finally implement the reverse ability for MI commands, but
> creating and testing the tests is looking challenging. The fundamental issue is
> that it seems that I cannot get the regular reverse tests to run, to know how to
> properly code the reverse tests for reverse MI.
>
> When I run
>
> $ make check RUNTESTFLAGS="gdb.reverse/*.exp"
>
> There is a flurry of activity ending in this:
>
> ---
> ? ? ? ? ? ? ? ?=== gdb tests ===
>
> Schedule of variations:
> ? ?unix
>
> Running target unix
> Using /usr/share/dejagnu/baseboards/unix.exp as board description file for
> target.
> Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
> Using ../../../src/gdb/testsuite/config/unix.exp as tool-and-target-specific
> interface file.
> Running ../../../src/gdb/testsuite/gdb.reverse/solib-reverse.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/step-reverse.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/until-reverse.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/break-reverse.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/finish-reverse.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/machinestate.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/consecutive-reverse.exp ...
> Running ../../../src/gdb/testsuite/gdb.reverse/watch-reverse.exp ...
>
> ? ? ? ? ? ? ? ?=== gdb Summary ===
>
> /home/jakob/gdb7/gdb-host-revpatched/gdb/testsuite/../../gdb/gdb version
> 6.8.50.20090814-cvs -nw -nx
>
> make[3]: Leaving directory `/home/jakob/gdb7/gdb-host-revpatched/gdb/testsuite'
> make[2]: Leaving directory `/home/jakob/gdb7/gdb-host-revpatched/gdb'
> make[1]: Nothing to be done for `check-target'.
> make[1]: Leaving directory `/home/jakob/gdb7/gdb-host-revpatched'
> ---
>
> Which seems to indicate that no tests were actually run. This is a 6.8.50 branch
> that I checked out of cvs late last week.
>
> What is required to actually run the reverse tests? Do I need to build my gdb in
> any special way?
>
> I suspect that this line the test scripts is the cause of the premature exit
> from the tests:
>
> ---
> if ![target_info exists gdb,can_reverse] {
> ? ?return
> }
> ---
>
> So how do I make gdb realize that it can indeed reverse itself?
>
> Best regards,
>
> /jakob
>
> _______________________________________________________
>
> Jakob Engblom, PhD, Technical Marketing Manager
>
> Virtutech?????????????????? Direct: +46 8 690 07 47
> Drottningholmsvägen 22????? Mobile: +46 709 242 646
> 11243 Stockholm???????????? Web:??? www.virtutech.com
> Sweden
> ________________________________________________________
>
>
>
>