diff options
author | Bob Manson <manson@cygnus> | 1997-02-20 22:13:52 +0000 |
---|---|---|
committer | Bob Manson <manson@cygnus> | 1997-02-20 22:13:52 +0000 |
commit | dadace266aa0b7a639f68f449d9282ebb224cc72 (patch) | |
tree | 9b62117e4453df172da049de171a8c1bbe0d0b48 /gdb/testsuite/gdb.base/scope.exp | |
parent | 3fe495606c81d96e88589c10165a76dd61a2a56b (diff) | |
download | gdb-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.exp | 818 |
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 { |