X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Ftestsuite%2Fgdb.cp%2Fannota3.exp;h=62d522083b6efaf6fa9895daa35c1797f90d58d4;hb=7c13f4e875fd5eeb0b7a1c301b4b513051822648;hp=c2d61682a0e6b03e3272d4f6ef608a8fd1d9088d;hpb=12f4afab79d6b54e89df93df342e1fe6009bd2cd;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/testsuite/gdb.cp/annota3.exp b/gdb/testsuite/gdb.cp/annota3.exp index c2d61682a0..62d522083b 100644 --- a/gdb/testsuite/gdb.cp/annota3.exp +++ b/gdb/testsuite/gdb.cp/annota3.exp @@ -1,4 +1,4 @@ -# Copyright 2003, 2004, 2007, 2008 Free Software Foundation, Inc. +# Copyright 2003-2020 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 @@ -15,47 +15,27 @@ # This file was written by Elena Zannoni (ezannoni@cygnus.com) -if $tracelevel then { - strace $tracelevel -} - # # test running programs # -set prms_id 0 -set bug_id 0 if { [skip_cplus_tests] } { continue } -set testfile "annota3" -set srcfile ${testfile}.cc -set binfile ${objdir}/${subdir}/${testfile} +standard_testfile .cc -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ nowarnings}] != "" } { - untested annota3.exp +if {[prepare_for_testing "failed to prepare" $testfile $srcfile \ + {debug c++ nowarnings}]} { return -1 } -# are we on a target board? If so, don't run these tests. -# note: this is necessary because we cannot use runto_main (which would -# work for remote targets too) because of the different prompt we get -# when using annotation level 2. +# This testcase cannot use runto_main because of the different prompt +# we get when using annotation level 2. # -if [is_remote target] then { +if ![target_can_use_run_cmd] { return 0 } - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if [target_info exists gdb_stub] { - gdb_step_for_stub; -} - # # line number where we need to stop in main # @@ -63,8 +43,7 @@ set main_line 25 # The commands we test here produce many lines of output; disable "press # to continue" prompts. -send_gdb "set height 0\n" -gdb_expect -re "$gdb_prompt $" +gdb_test_no_output "set height 0" # # break at main @@ -118,16 +97,14 @@ gdb_expect_list "print class" "$gdb_prompt$" { # annotate-exited # send_gdb "continue\n" -gdb_expect_list "continue to exit" "$gdb_prompt$" { +gdb_expect_list "continue to exit" "$gdb_prompt$" [concat { "\r\n\032\032post-prompt\r\n" "Continuing.\r\n" "\r\n\032\032starting\r\n" "a.x is 1\r\n" - "\r\n\032\032exited 0\r\n" - "\r\n" - "Program exited normally.\r\n" + "\r\n\032\032exited 0\r\n"} [list "$inferior_exited_re normally.\r\n"] { "\r\n\032\032stopped\r\n" -} +}] # # delete all breakpoints @@ -186,20 +163,10 @@ gdb_expect_list "set watch on a.x" "$gdb_prompt$" { # do a next, so that the watchpoint triggers. This will test: # annotate-watchpoint # -send_gdb "next\n" -gdb_expect { - -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032watchpoint 3\r\n.*atchpoint 3: a.x\r\n\r\nOld value = 0\r\nNew value = 1\r\n\r\n(\032\032frame-begin 0 0x\[0-9a-z\]+\r\n|)main \\(\\) at .*$srcfile:$decimal\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032stopped\r\n.*$gdb_prompt$" { +gdb_test_multiple "next" "watch triggered on a.x" { + -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032watchpoint 3\r\n.*atchpoint 3: a.x\r\n\r\nOld value = 0\r\nNew value = 1\r\n\r\n(\032\032frame-begin 0 0x\[0-9a-z\]+\r\n|)main \\(\\) at .*$srcfile:$decimal\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032stopped\r\n.*$gdb_prompt$" { pass "watch triggered on a.x" } - -re "\r\n\032\032post-prompt\r\n\r\n\032\032starting\r\n\r\n\032\032source .*$srcfile.*beg:$hex\r\n\r\n\032\032stopped\r\n$gdb_prompt$" { - kfail "gdb/38" "watch triggered on a.x" - } - -re ".*$gdb_prompt$" { - fail "watch triggered on a.x" - } - timeout { - fail "watch triggered on a.x (timeout)" - } } # @@ -208,13 +175,13 @@ gdb_expect { # test: # annotate-quit # -# This test sometimes fails, but not reproducibly. See gdb/544. -# -send_gdb "\003" -gdb_expect_list "annotate-quit" "$gdb_prompt$" { - "\r\n\032\032error-begin\r\n" - "Quit\r\n" - "\r\n\032\032quit\r\n" +if ![target_info exists gdb,nointerrupts] { + send_gdb "\003" + gdb_expect_list "annotate-quit" "$gdb_prompt$" { + "\r\n\032\032error-begin\r\n" + "Quit\r\n" + "\r\n\032\032quit\r\n" + } } #