[RFA] testsuite/gdb.c++/derivation.exp: use 'runto' library function

Michael Elizabeth Chastain
2001-03-12T02:05:00Z

This is Sunday Project Patch #7.

This patch changes gdb.c++/derivation.exp to use the library function
'runto' to reach a marker function. This simplifies the file. The real
benefit is that 'runto' accommodates an unrelated bug in gdb (PR gdb/34,
"g++ v3 functions show as "inheritance2() ()""). This enables the
keep its synchronization and do its job testing C++.

Before this patch, this test script outputs 20 FAILs + 3 XFAILs.
After this patch, output is 16 PASSes + 4 FAILs + 3 XPASSes.

I tested this on Red Hat Linux 7 native and Solaris 2.5.1 native with
gcc 2.95.2 and gcc 3pre dated 2001-03-09.

OK to apply?

Michael

===

2001-03-12 Michael Chastain <chastain@redhat.com>

* gdb.c++/derivation.exp: Use the 'runto' library function.

===

Index: gdb/testsuite/gdb.c++/derivation.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.c++/derivation.exp,v
retrieving revision 1.4
diff -c -3 -p -r1.4 derivation.exp
*** gdb/testsuite/gdb.c++/derivation.exp 2001/03/06 08:21:52 1.4
--- gdb/testsuite/gdb.c++/derivation.exp 2001/03/12 09:34:43
***************
*** 1,4 ****
! # Copyright 1998, 1999, 2000 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
--- 1,4 ----
! # Copyright 1998, 1999, 2000, 2001 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
*************** if ![runto_main] then {
*** 69,93 ****
continue
}

! send_gdb "break marker1\n" ; gdb_expect -re ".*$gdb_prompt $"

! send_gdb "cont\n"
! gdb_expect {
! -re "Break.* marker1 \\(\\) at .*:$decimal.*$gdb_prompt $" {
! send_gdb "up\n"
! gdb_expect {
! -re ".*main.*$gdb_prompt $" {
! pass "up from marker1"
! }
! -re ".*$gdb_prompt $" {
! fail "up from marker1"
! }
! timeout { fail "up from marker1 (timeout)" }
! }
! }
! -re "$gdb_prompt $" { fail "continue to marker1" }
! timeout { fail "(timeout) continue to marker1" }
! }

--- 69,80 ----
continue
}

! if ![runto 'marker1'] then {
! perror "couldn't run to marker1"
! continue
! }

! gdb_test "up" ".*main.*" "up from marker1"