aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/scope.exp
diff options
context:
space:
mode:
authorBob Manson <manson@cygnus>1997-02-20 22:13:52 +0000
committerBob Manson <manson@cygnus>1997-02-20 22:13:52 +0000
commitdadace266aa0b7a639f68f449d9282ebb224cc72 (patch)
tree9b62117e4453df172da049de171a8c1bbe0d0b48 /gdb/testsuite/gdb.base/scope.exp
parent3fe495606c81d96e88589c10165a76dd61a2a56b (diff)
downloadgdb-dadace266aa0b7a639f68f449d9282ebb224cc72.zip
gdb-dadace266aa0b7a639f68f449d9282ebb224cc72.tar.gz
gdb-dadace266aa0b7a639f68f449d9282ebb224cc72.tar.bz2
* gdb.base/scope.exp: Use gdb_test.
* gdb.base/ptype.exp: Don't call "gdb_exit; gdb_start" if we're aborting; the testsuite driver will do that for us (see gdb_finish). Also, use gdb_test in a few more places.
Diffstat (limited to 'gdb/testsuite/gdb.base/scope.exp')
-rw-r--r--gdb/testsuite/gdb.base/scope.exp818
1 files changed, 168 insertions, 650 deletions
diff --git a/gdb/testsuite/gdb.base/scope.exp b/gdb/testsuite/gdb.base/scope.exp
index e5a4fe8..9a0cd7c 100644
--- a/gdb/testsuite/gdb.base/scope.exp
+++ b/gdb/testsuite/gdb.base/scope.exp
@@ -44,7 +44,7 @@ if [get_compiler_info ${binfile}] {
# first one and quit. If all pass, then we print the pass results.
proc test_at_main {} {
- global prompt
+ global gdb_prompt
global decimal
global det_file
global srcdir
@@ -53,374 +53,176 @@ proc test_at_main {} {
# skip past init. There may be a call to __main at the start of
# main, so the first next may only get us to the init call.
- send_gdb "next\n"
- expect {
- -re "$decimal.*foo \\(\\);\r\n$prompt $" {
- pass "next over init() in main"
- }
- -re "$decimal.*init \\(\\);\r\n$prompt $"\
- { send_gdb "next\n" ; exp_continue }
- -re "$prompt $" { fail "next over init() in main" ; return }
- timeout { fail "(timeout) next over init() in main" ; return }
+ if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init() in main" "$decimal.*init \\(\\);" "next"] {
+ return ;
}
+
# Print scope0.c::filelocal, which is 1
- send_gdb "print filelocal\n"
- expect {
- -re "\\\$$decimal = 1\r\n$prompt $" { pass "print filelocal" }
- -re "$prompt $" { fail "print filelocal" ; return }
- timeout {
- fail "(timeout) print filelocal" ; return
- }
+ if [gdb_test "print filelocal" "\\\$$decimal = 1" "print filelocal" ] {
+ return ;
}
- send_gdb "print 'scope0.c'::filelocal\n"
- expect {
- -re "\\\$$decimal = 1\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal at main"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope0.c'::filelocal at main" ; return }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal at main" ; return
- }
+
+ if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at main" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] {
+ return ;
}
+
# Print scope0.c::filelocal_bss, which is 101
- send_gdb "print filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 101\r\n$prompt $" {
- pass "print filelocal_bss"
- }
- -re "$prompt $" { fail "print filelocal_bss" ; return }
- timeout {
- fail "(timeout) print filelocal_bss" ; return
- }
+ if [gdb_test "print filelocal_bss" "\\\$$decimal = 101" "print filelocal_bss" ] {
+ return ;
}
- send_gdb "print 'scope0.c'::filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 101\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal_bss in test_at_main"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope0.c'::filelocal_bss in test_at_main" ; return
- }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal_bss in test_at_main"
- return
- }
+
+ if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_main" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] {
+ return ;
}
+
# Print scope0.c::filelocal_ro, which is 201
# No clue why the powerpc fails this test.
setup_xfail "powerpc-*-*"
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 201\r\n$prompt $" {
- pass "print filelocal_ro in test_at_main"
- }
- -re "$prompt $" {
- fail "print filelocal_ro in test_at_main"
- return
- }
- timeout {
- fail "(timeout) print filelocal_ro in test_at_main"
- return
- }
+ if [gdb_test "print filelocal_ro" "\\\$$decimal = 201" "print filelocal_ro in test_at_main" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
setup_xfail "powerpc-*-*"
- send_gdb "print 'scope0.c'::filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 201\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal_ro"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal_ro\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope0.c'::filelocal_ro" ; return }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal_ro" ; return
- }
+ if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] {
+ return ;
}
+
# Print scope1.c::filelocal, which is 2
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal\n"
- expect {
- -re "\\\$$decimal = 2\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::filelocal" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] {
+ return ;
}
+
# Print scope1.c::filelocal_bss, which is 102
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 102\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal_bss"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal_bss\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::filelocal_bss" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal_bss" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] {
+ return ;
}
+
# Print scope1.c::filelocal_ro, which is 202
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 202\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal_ro"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal_ro\n"
- exp_continue
- }
- -re "$prompt " {fail "print 'scope1.c'::filelocal_ro" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal_ro" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] {
+ return ;
}
+
# Print scope1.c::foo::funclocal, which is 3
if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
- send_gdb "print foo::funclocal\n"
- expect {
- -re "\\\$$decimal = 3\r\n$prompt $" { pass "print foo::funclocal" }
- -re "$prompt $" { fail "print foo::funclocal" ; return }
- timeout {
- fail "(timeout) print foo::funclocal" ; return
- }
+ if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::foo::funclocal\n"
- expect {
- -re "\\\$$decimal = 3\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::foo::funclocal" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal" ; return
- }
+ if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] {
+ return ;
}
+
# Print scope1.c::foo::funclocal_ro, which is 203
- send_gdb "print foo::funclocal_ro\n"
- expect {
- -re "\\\$$decimal = 203\r\n$prompt $" {
- pass "print foo::funclocal_ro"
- }
- -re "$prompt $" { fail "print foo::funclocal_ro" ; return }
- timeout {
- fail "(timeout) print foo::funclocal_ro" ; return
- }
+ if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::foo::funclocal_ro\n"
- expect {
- -re "\\\$$decimal = 203\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal_ro" }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::foo::funclocal_ro" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal_ro" ; return
- }
+ if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] {
+ return ;
}
+
# Print scope1.c::bar::funclocal, which is 4
- send_gdb "print bar::funclocal\n"
- expect {
- -re "\\\$$decimal = 4\r\n$prompt $" { pass "print bar::funclocal" }
- -re "$prompt $" { fail "print bar::funclocal" ; return }
- timeout {
- fail "(timeout) print bar::funclocal" ; return
- }
+ if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::bar::funclocal\n"
- expect {
- -re "\\\$$decimal = 4\r\n$prompt $" {
- pass "print 'scope1.c'::bar::funclocal"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::bar::funclocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::bar::funclocal" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::bar::funclocal" ; return
- }
+ if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] {
+ return ;
}
+
}
proc test_at_foo {} {
- global prompt
+ global gdb_prompt
global decimal
global det_file
global srcdir
global subdir
global gcc_compiled
- send_gdb "next\n"
- expect {
- -re ".*bar \\(\\);\r\n$prompt $" {}
- -re "$prompt $" { fail "continue to foo()" ; return }
- timeout { fail "(timeout) continue to foo()" ; return }
+ if [gdb_test "next" ".*bar \\(\\);" "" ] {
+ return ;
}
+
# Print scope0.c::filelocal, which is 1
- send_gdb "print 'scope0.c'::filelocal\n"
- expect {
- -re "\\\$$decimal = 1\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal at foo"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope0.c'::filelocal at foo" ; return }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal at foo" ; return
- }
+ if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at foo" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] {
+ return ;
}
+
# Print scope0.c::filelocal_bss, which is 101
- send_gdb "print 'scope0.c'::filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 101\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal_bss in test_at_foo"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope0.c'::filelocal_bss in test_at_foo"
- return
- }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal_bss in test_at_foo"
- return
- }
+ if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_foo" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] {
+ return ;
}
+
# Print scope0.c::filelocal_ro, which is 201
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
setup_xfail "powerpc-*-*"
- send_gdb "print 'scope0.c'::filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 201\r\n$prompt $" { pass "print 'scope0.c'::filelocal_ro" }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal_ro\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope0.c'::filelocal_ro" ; return }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal_ro" ; return
- }
+ if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] {
+ return ;
}
+
gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at foo"
# Print scope1.c::filelocal, which is 2
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal\n"
- expect {
- -re "\\\$$decimal = 2\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal at foo"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::filelocal at foo" ; return }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal at foo" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] {
+ return ;
}
+
gdb_test "print filelocal_bss" "\\\$$decimal = 102" \
"print filelocal_bss at foo"
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 102\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal_bss at foo"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal_bss\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::filelocal_bss at foo" }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal_bss at foo"
- }
- }
+ gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"
+
gdb_test "print filelocal_ro" "\\\$$decimal = 202" \
"print filelocal_ro at foo"
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 202\r\n$prompt $" { pass "print 'scope1.c'::filelocal_ro at foo" }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal_ro\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::filelocal_ro at foo" }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal_ro at foo"
- }
- }
+ gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"
+
# Print scope1.c::foo::funclocal, which is 3
@@ -432,20 +234,8 @@ proc test_at_foo {} {
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
- send_gdb "print 'scope1.c'::foo::funclocal\n"
- expect {
- -re "\\\$$decimal = 3\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal at foo"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::foo::funclocal at foo" }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal at foo"
- }
- }
+ gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"
+
# Print scope1.c::foo::funclocal_bss, which is 103
@@ -458,22 +248,8 @@ proc test_at_foo {} {
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
- send_gdb "print 'scope1.c'::foo::funclocal_bss\n"
- expect {
- -re "\\\$$decimal = 103\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal_bss at foo"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::foo::funclocal_bss at foo"
- }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal_bss at foo"
- }
- }
+ gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss"
+
# Print scope1.c::foo::funclocal_ro, which is 203
@@ -486,20 +262,8 @@ proc test_at_foo {} {
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
- send_gdb "print 'scope1.c'::foo::funclocal_ro\n"
- expect {
- -re "\\\$$decimal = 203\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal_ro at foo"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::foo::funclocal_ro at foo" }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal_ro at foo"
- }
- }
+ gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"
+
# Print scope1.c::bar::funclocal, which is 4
@@ -509,429 +273,189 @@ proc test_at_foo {} {
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
- send_gdb "print 'scope1.c'::bar::funclocal\n"
- expect {
- -re "\\\$$decimal = 4\r\n$prompt $" {
- pass "print 'scope1.c'::bar::funclocal at foo"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::bar::funclocal\n"
- exp_continue
- }
- -re "$prompt $" { fail "print 'scope1.c'::bar::funclocal at foo" }
- timeout {
- fail "(timeout) print 'scope1.c'::bar::funclocal at foo"
- }
- }
+ gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at foo" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"
+
}
proc test_at_bar {} {
- global prompt
+ global gdb_prompt
global decimal
global det_file
global srcdir
global subdir
global gcc_compiled
- send_gdb "next\n"
- expect {
- -re ".*$prompt $" {}
- timeout { fail "(timeout) next in bar()" ; return }
+ if [gdb_test "next" ".*" "" ] {
+ return ;
}
+
# Print scope0.c::filelocal, which is 1
- send_gdb "print 'scope0.c'::filelocal\n"
- expect {
- -re "\\\$$decimal = 1\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal at bar"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope0.c'::filelocal at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal at bar" ; return
- }
+ if [gdb_test "print 'scope0.c'::filelocal" "\\\$$decimal = 1" "print 'scope0.c'::filelocal at bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal"] {
+ return ;
}
+
# Print scope0.c::filelocal_bss, which is 101
- send_gdb "print 'scope0.c'::filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 101\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal_bss in test_at_bar"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope0.c'::filelocal_bss in test_at_bar"
- return
- }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal_bss in test_at_bar"
- return
- }
+ if [gdb_test "print 'scope0.c'::filelocal_bss" "\\\$$decimal = 101" "print 'scope0.c'::filelocal_bss in test_at_bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_bss"] {
+ return ;
}
+
# Print scope0.c::filelocal_ro, which is 201
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
setup_xfail "powerpc-*-*"
- send_gdb "print 'scope0.c'::filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 201\r\n$prompt $" {
- pass "print 'scope0.c'::filelocal_ro at bar"
- }
- -re "No symbol \"scope0.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope0.c'::filelocal_ro\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope0.c'::filelocal_ro at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope0.c'::filelocal_ro at bar" ; return
- }
+ if [gdb_test "print 'scope0.c'::filelocal_ro" "\\\$$decimal = 201" "print 'scope0.c'::filelocal_ro at bar" "No symbol \"scope0.c\" in current context.*" "print '$srcdir/$subdir/scope0.c'::filelocal_ro"] {
+ return ;
}
+
# Print scope1.c::filelocal, which is 2
- send_gdb "print filelocal\n"
- expect {
- -re "\\\$$decimal = 2\r\n$prompt $" {
- pass "print filelocal at bar"
- }
- -re "$prompt $" {
- fail "print filelocal at bar" ; return
- }
- timeout {
- fail "(timeout) print filelocal at bar" ; return
- }
+ if [gdb_test "print filelocal" "\\\$$decimal = 2" "print filelocal at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal\n"
- expect {
- -re "\\\$$decimal = 2\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::filelocal at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal" "\\\$$decimal = 2" "print 'scope1.c'::filelocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal"] {
+ return ;
}
+
# Print scope1.c::filelocal_bss, which is 102
- send_gdb "print filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 102\r\n$prompt $" {
- pass "print filelocal_bss at bar"
- }
- -re "$prompt $" {
- fail "print filelocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print filelocal_bss at bar" ; return
- }
+ if [gdb_test "print filelocal_bss" "\\\$$decimal = 102" "print filelocal_bss at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal_bss\n"
- expect {
- -re "\\\$$decimal = 102\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal_bss at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::filelocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal_bss at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal_bss" "\\\$$decimal = 102" "print 'scope1.c'::filelocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_bss"] {
+ return ;
}
+
# Print scope1.c::filelocal_ro, which is 202
- send_gdb "print filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 202\r\n$prompt $" {
- pass "print filelocal_ro in test_at_bar"
- }
- -re "$prompt $" {
- fail "print filelocal_ro in test_at_bar"
- return
- }
- timeout {
- fail "(timeout) print filelocal_ro in test_at_bar"
- return
- }
+ if [gdb_test "print filelocal_ro" "\\\$$decimal = 202" "print filelocal_ro in test_at_bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::filelocal_ro\n"
- expect {
- -re "\\\$$decimal = 202\r\n$prompt $" {
- pass "print 'scope1.c'::filelocal_ro at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::filelocal_ro\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::filelocal_ro at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::filelocal_ro at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::filelocal_ro" "\\\$$decimal = 202" "print 'scope1.c'::filelocal_ro at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::filelocal_ro"] {
+ return ;
}
+
# Print scope1.c::foo::funclocal, which is 3
if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
- send_gdb "print foo::funclocal\n"
- expect {
- -re "\\\$$decimal = 3\r\n$prompt $" {
- pass "print foo::funclocal at bar"
- }
- -re "$prompt $" {
- fail "print foo::funclocal at bar" ; return
- }
- timeout {
- fail "(timeout) print foo::funclocal at bar" ; return
- }
+ if [gdb_test "print foo::funclocal" "\\\$$decimal = 3" "print foo::funclocal at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::foo::funclocal\n"
- expect {
- -re "\\\$$decimal = 3\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::foo::funclocal at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::foo::funclocal" "\\\$$decimal = 3" "print 'scope1.c'::foo::funclocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal"] {
+ return ;
}
+
# Print scope1.c::foo::funclocal_bss, which is 103
- send_gdb "print foo::funclocal_bss\n"
- expect {
- -re "\\\$$decimal = 103\r\n$prompt $" {
- pass "print foo::funclocal_bss at bar"
- }
- -re "$prompt $" {
- fail "print foo::funclocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print foo::funclocal_bss at bar" ; return
- }
+ if [gdb_test "print foo::funclocal_bss" "\\\$$decimal = 103" "print foo::funclocal_bss at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::foo::funclocal_bss\n"
- expect {
- -re "\\\$$decimal = 103\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal_bss at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::foo::funclocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal_bss at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::foo::funclocal_bss" "\\\$$decimal = 103" "print 'scope1.c'::foo::funclocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_bss"] {
+ return ;
}
+
# Print scope1.c::foo::funclocal_ro, which is 203
- send_gdb "print foo::funclocal_ro\n"
- expect {
- -re "\\\$$decimal = 203\r\n$prompt $" {
- pass "print foo::funclocal_ro at bar"
- }
- -re "$prompt $" {
- fail "print foo::funclocal_ro at bar" ; return
- }
- timeout {
- fail "(timeout) print foo::funclocal_ro at bar" ; return
- }
+ if [gdb_test "print foo::funclocal_ro" "\\\$$decimal = 203" "print foo::funclocal_ro at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::foo::funclocal_ro\n"
- expect {
- -re "\\\$$decimal = 203\r\n$prompt $" {
- pass "print 'scope1.c'::foo::funclocal_ro at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::foo::funclocal_ro at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::foo::funclocal_ro at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::foo::funclocal_ro" "\\\$$decimal = 203" "print 'scope1.c'::foo::funclocal_ro at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::foo::funclocal_ro"] {
+ return ;
}
+
# Print scope1.c::bar::funclocal, which is 4
- send_gdb "print funclocal\n"
- expect {
- -re "\\\$$decimal = 4\r\n$prompt $" {
- pass "print funclocal at bar"
- }
- -re "$prompt $" {
- fail "print funclocal at bar" ; return
- }
- timeout {
- fail "(timeout) print funclocal at bar" ; return
- }
+ if [gdb_test "print funclocal" "\\\$$decimal = 4" "print funclocal at bar" ] {
+ return ;
}
- send_gdb "print bar::funclocal\n"
- expect {
- -re "\\\$$decimal = 4\r\n$prompt $" {
- pass "print bar::funclocal at bar"
- }
- -re "$prompt $" {
- fail "print bar::funclocal at bar" ; return
- }
- timeout {
- fail "(timeout) print bar::funclocal at bar" ; return
- }
+
+ if [gdb_test "print bar::funclocal" "\\\$$decimal = 4" "print bar::funclocal at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::bar::funclocal\n"
- expect {
- -re "\\\$$decimal = 4\r\n$prompt $" {
- pass "print 'scope1.c'::bar::funclocal at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::bar::funclocal\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::bar::funclocal at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::bar::funclocal at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::bar::funclocal" "\\\$$decimal = 4" "print 'scope1.c'::bar::funclocal at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal"] {
+ return ;
}
+
# Print scope1.c::bar::funclocal_bss, which is 104
- send_gdb "print funclocal_bss\n"
- expect {
- -re "\\\$$decimal = 104\r\n$prompt $" {
- pass "print funclocal_bss at bar"
- }
- -re "$prompt $" {
- fail "print funclocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print funclocal_bss at bar" ; return
- }
+ if [gdb_test "print funclocal_bss" "\\\$$decimal = 104" "print funclocal_bss at bar" ] {
+ return ;
}
- send_gdb "print bar::funclocal_bss\n"
- expect {
- -re "\\\$$decimal = 104\r\n$prompt $" {
- pass "print bar::funclocal_bss at bar"
- }
- -re "$prompt $" {
- fail "print bar::funclocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print bar::funclocal_bss at bar" ; return
- }
+
+ if [gdb_test "print bar::funclocal_bss" "\\\$$decimal = 104" "print bar::funclocal_bss at bar" ] {
+ return ;
}
+
if {$gcc_compiled} then { setup_xfail "rs6000-*-*" }
- send_gdb "print 'scope1.c'::bar::funclocal_bss\n"
- expect {
- -re "\\\$$decimal = 104\r\n$prompt $" {
- pass "print 'scope1.c'::bar::funclocal_bss at bar"
- }
- -re "No symbol \"scope1.c\" in current context.*$prompt $" {
- send_gdb "print '$srcdir/$subdir/scope1.c'::bar::funclocal_bss\n"
- exp_continue
- }
- -re "$prompt $" {
- fail "print 'scope1.c'::bar::funclocal_bss at bar" ; return
- }
- timeout {
- fail "(timeout) print 'scope1.c'::bar::funclocal_bss at bar" ; return
- }
+ if [gdb_test "print 'scope1.c'::bar::funclocal_bss" "\\\$$decimal = 104" "print 'scope1.c'::bar::funclocal_bss at bar" "No symbol \"scope1.c\" in current context.*" "print '$srcdir/$subdir/scope1.c'::bar::funclocal_bss"] {
+ return ;
}
+
}
# This test has little to do with local scopes, but it is in scope.exp anyway.
# That's life.
proc test_at_autovars {} {
- global prompt
+ global gdb_prompt
global decimal
global hex
global srcfile
# Test symbol table lookup with 100 local (auto) variables.
- send_gdb "break marker1\n" ; expect -re ".*$prompt $"
+ gdb_breakpoint marker1
- send_gdb "cont\n"
- expect {
- -re "Break.* marker1 \\(\\) at .*:$decimal.*$prompt $" {
- send_gdb "up\n"
- expect {
- -re ".*$prompt $" {}
- timeout { fail "(timeout) up from marker1" ; return }
- }
- }
- -re "$prompt $" { fail "continue to marker1" ; return }
- timeout { fail "(timeout) continue to marker1" ; return }
+ if [gdb_test "cont" "Break.* marker1 \\(\\) at .*:$decimal.*" "continue to marker1"] {
+ return;
+ }
+
+ if [gdb_test "up" ".*" "" ] {
+ return ;
}
set count 0
while {$count < 100} {
- send_gdb "print i$count\n"
- expect {
- -re ".* = $count\r\n$prompt $" {}
- -re "$prompt $" {
- fail "bad value for auto variable i$count"; return
- }
- timeout {
- fail "(timeout) bad value for auto variable i$count"; return
- }
+ if [gdb_test "print i$count" ".* = $count" "" ] {
+ return ;
}
+
set count [expr $count+1]
}
clear_xfail "*-*-*"
@@ -942,26 +466,20 @@ proc test_at_autovars {} {
}
proc test_at_localscopes {} {
- global prompt
+ global gdb_prompt
global decimal
global hex
global srcfile
- send_gdb "break marker2\n" ; expect -re ".*$prompt $"
- send_gdb "break marker3\n" ; expect -re ".*$prompt $"
- send_gdb "break marker4\n" ; expect -re ".*$prompt $"
-
- send_gdb "cont\n"
- expect {
- -re "Break.* marker2 \\(\\) at .*:$decimal.*$prompt $" {
- send_gdb "up\n"
- expect {
- -re ".*$prompt $" {}
- timeout { fail "(timeout) up from marker2" ; return }
- }
- }
- -re "$prompt $" { fail "continue to marker2" ; return }
- timeout { fail "(timeout) continue to marker2" ; return }
+ gdb_breakpoint marker2
+ gdb_breakpoint marker3
+ gdb_breakpoint marker4
+
+ if [gdb_test "cont" "Break.* marker2 \\(\\) at .*:$decimal.*" "continue to marker2"] {
+ return;
+ }
+ if [gdb_test "up" ".*" "" ] {
+ return ;
}
# Should be at first (outermost) scope. Check values.
@@ -1030,14 +548,14 @@ gdb_test "print 'scope0.c'::filelocal_ro" "= 201"
setup_xfail "hppa*-*-*pro*"
send_gdb "print 'scope0.c'::filelocal_bss\n"
expect {
- -re " = 0\r\n$prompt $" {
+ -re " = 0\r\n$gdb_prompt $" {
pass "print 'scope0.c'::filelocal_bss before run"
}
- -re "Cannot access memory.*$prompt $" {
+ -re "Cannot access memory.*$gdb_prompt $" {
setup_xfail "*-*-*"
fail "print 'scope0.c'::filelocal_bss before run"
}
- -re ".*$prompt $" {
+ -re ".*$gdb_prompt $" {
fail "print 'scope0.c'::filelocal_bss before run"
}
default {