2015-01-01 09:32:14 +00:00
|
|
|
# Copyright 2003-2015 Free Software Foundation, Inc.
|
2003-08-03 01:57:13 +00:00
|
|
|
|
|
|
|
# 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
|
2007-08-23 18:14:19 +00:00
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
2003-08-03 01:57:13 +00:00
|
|
|
# (at your option) any later version.
|
2007-08-23 18:14:19 +00:00
|
|
|
#
|
2003-08-03 01:57:13 +00:00
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
2007-08-23 18:14:19 +00:00
|
|
|
#
|
2003-08-03 01:57:13 +00:00
|
|
|
# You should have received a copy of the GNU General Public License
|
2007-08-23 18:14:19 +00:00
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2003-08-03 01:57:13 +00:00
|
|
|
|
|
|
|
# This file was written by Elena Zannoni (ezannoni@cygnus.com)
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# test running programs
|
|
|
|
#
|
|
|
|
|
|
|
|
if { [skip_cplus_tests] } { continue }
|
|
|
|
|
* gdb.cp/abstract-origin.exp: Use standard_testfile.
* gdb.cp/ambiguous.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/annota2.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/annota3.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/anon-ns.exp: Use standard_testfile.
* gdb.cp/anon-struct.exp: Use standard_testfile.
* gdb.cp/anon-union.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/arg-reference.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/bool.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/breakpoint.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/bs15503.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/call-c.exp: Use standard_testfile, clean_restart,
standard_output_file.
* gdb.cp/casts.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/class2.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/classes.exp: Use standard_testfile, prepare_for_testing.
(test_static_members): Update.
* gdb.cp/cmpd-minsyms.exp: Use standard_testfile.
* gdb.cp/converts.exp: Use standard_testfile.
* gdb.cp/cp-relocate.exp: Use standard_testfile.
* gdb.cp/cpcompletion.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/cpexprs.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/cplabel.exp: Use standard_testfile.
* gdb.cp/cplusfuncs.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/ctti.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/derivation.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/destrprint.exp: Use standard_testfile.
* gdb.cp/dispcxx.exp: Use standard_testfile.
* gdb.cp/exception.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/expand-psymtabs-cxx.exp: Use standard_testfile.
* gdb.cp/extern-c.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/formatted-ref.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/fpointer.exp: Use standard_testfile.
* gdb.cp/gdb1355.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/gdb2384.exp: Use standard_testfile, clean_restart,
standard_output_file.
* gdb.cp/gdb2495.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/hang.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/infcall-dlopen.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/inherit.exp: Use standard_testfile, prepare_for_testing.
(do_tests): Update.
* gdb.cp/koenig.exp: Use standard_testfile.
* gdb.cp/local.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/m-data.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/m-static.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/mb-ctor.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/mb-inline.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/mb-templates.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/member-ptr.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/meth-typedefs.exp: Use standard_testfile.
* gdb.cp/method.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/method2.exp: Use standard_testfile.
* gdb.cp/minsym-fallback.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/misc.exp: Use standard_testfile, prepare_for_testing.
(do_tests): Update.
* gdb.cp/namespace-enum.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/namespace-nested-import.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/namespace.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nextoverthrow.exp: Use standard_testfile.
* gdb.cp/no-dmgl-verbose.exp: Use standard_testfile.
* gdb.cp/nsdecl.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/nsimport.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsnested.exp: Use standard_testfile.
* gdb.cp/nsnoimports.exp: Use standard_testfile.
* gdb.cp/nsrecurs.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsstress.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsusing.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/operator.exp: Use standard_testfile.
* gdb.cp/oranking.exp: Use standard_testfile.
* gdb.cp/overload-const.exp: Use standard_testfile.
* gdb.cp/overload.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/ovldbreak.exp: Use standard_testfile.
* gdb.cp/ovsrch.exp: Use standard_testfile.
* gdb.cp/paren-type.exp: Use standard_testfile.
* gdb.cp/pass-by-ref.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/pr-1023.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr-1210.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr-574.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr10687.exp: Use standard_testfile, clean_restart.
* gdb.cp/pr10728.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/pr12028.exp: Use standard_testfile.
* gdb.cp/pr9067.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr9167.exp: Use standard_testfile.
* gdb.cp/pr9631.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/printmethod.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/psmang.exp: Use standard_testfile, clean_restart.
* gdb.cp/psymtab-parameter.exp: Use standard_testfile.
* gdb.cp/ptype-cv-cp.exp: Use standard_testfile.
* gdb.cp/re-set-overloaded.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/readnow-language.exp: Use standard_testfile.
* gdb.cp/ref-params.exp: Use standard_testfile, build_executable.
(gdb_start_again): Use clean_restart.
* gdb.cp/ref-types.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/rtti.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/shadow.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/smartp.exp: Use standard_testfile.
* gdb.cp/static-method.exp: Use standard_testfile.
* gdb.cp/static-print-quit.exp: Use standard_testfile.
* gdb.cp/temargs.exp: Use standard_testfile.
* gdb.cp/templates.exp: Use standard_testfile,
prepare_for_testing.
(do_tests): Update.
* gdb.cp/try_catch.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/typedef-operator.exp: Use standard_testfile.
* gdb.cp/userdef.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/virtbase.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/virtfunc.exp: Use standard_testfile,
prepare_for_testing.
(do_tests): Update.
* gdb.cp/virtfunc2.exp: Use standard_testfile,
prepare_for_testing.
2012-07-10 15:18:18 +00:00
|
|
|
standard_testfile .cc
|
2003-08-03 01:57:13 +00:00
|
|
|
|
* gdb.cp/abstract-origin.exp: Use standard_testfile.
* gdb.cp/ambiguous.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/annota2.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/annota3.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/anon-ns.exp: Use standard_testfile.
* gdb.cp/anon-struct.exp: Use standard_testfile.
* gdb.cp/anon-union.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/arg-reference.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/bool.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/breakpoint.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/bs15503.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/call-c.exp: Use standard_testfile, clean_restart,
standard_output_file.
* gdb.cp/casts.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/class2.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/classes.exp: Use standard_testfile, prepare_for_testing.
(test_static_members): Update.
* gdb.cp/cmpd-minsyms.exp: Use standard_testfile.
* gdb.cp/converts.exp: Use standard_testfile.
* gdb.cp/cp-relocate.exp: Use standard_testfile.
* gdb.cp/cpcompletion.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/cpexprs.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/cplabel.exp: Use standard_testfile.
* gdb.cp/cplusfuncs.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/ctti.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/derivation.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/destrprint.exp: Use standard_testfile.
* gdb.cp/dispcxx.exp: Use standard_testfile.
* gdb.cp/exception.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/expand-psymtabs-cxx.exp: Use standard_testfile.
* gdb.cp/extern-c.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/formatted-ref.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/fpointer.exp: Use standard_testfile.
* gdb.cp/gdb1355.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/gdb2384.exp: Use standard_testfile, clean_restart,
standard_output_file.
* gdb.cp/gdb2495.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/hang.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/infcall-dlopen.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/inherit.exp: Use standard_testfile, prepare_for_testing.
(do_tests): Update.
* gdb.cp/koenig.exp: Use standard_testfile.
* gdb.cp/local.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/m-data.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/m-static.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/mb-ctor.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/mb-inline.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/mb-templates.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/member-ptr.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/meth-typedefs.exp: Use standard_testfile.
* gdb.cp/method.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/method2.exp: Use standard_testfile.
* gdb.cp/minsym-fallback.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/misc.exp: Use standard_testfile, prepare_for_testing.
(do_tests): Update.
* gdb.cp/namespace-enum.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/namespace-nested-import.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/namespace.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nextoverthrow.exp: Use standard_testfile.
* gdb.cp/no-dmgl-verbose.exp: Use standard_testfile.
* gdb.cp/nsdecl.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/nsimport.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsnested.exp: Use standard_testfile.
* gdb.cp/nsnoimports.exp: Use standard_testfile.
* gdb.cp/nsrecurs.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsstress.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/nsusing.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/operator.exp: Use standard_testfile.
* gdb.cp/oranking.exp: Use standard_testfile.
* gdb.cp/overload-const.exp: Use standard_testfile.
* gdb.cp/overload.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/ovldbreak.exp: Use standard_testfile.
* gdb.cp/ovsrch.exp: Use standard_testfile.
* gdb.cp/paren-type.exp: Use standard_testfile.
* gdb.cp/pass-by-ref.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/pr-1023.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr-1210.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr-574.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr10687.exp: Use standard_testfile, clean_restart.
* gdb.cp/pr10728.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/pr12028.exp: Use standard_testfile.
* gdb.cp/pr9067.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/pr9167.exp: Use standard_testfile.
* gdb.cp/pr9631.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/printmethod.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/psmang.exp: Use standard_testfile, clean_restart.
* gdb.cp/psymtab-parameter.exp: Use standard_testfile.
* gdb.cp/ptype-cv-cp.exp: Use standard_testfile.
* gdb.cp/re-set-overloaded.exp: Use standard_testfile,
standard_output_file.
* gdb.cp/readnow-language.exp: Use standard_testfile.
* gdb.cp/ref-params.exp: Use standard_testfile, build_executable.
(gdb_start_again): Use clean_restart.
* gdb.cp/ref-types.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/rtti.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/shadow.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/smartp.exp: Use standard_testfile.
* gdb.cp/static-method.exp: Use standard_testfile.
* gdb.cp/static-print-quit.exp: Use standard_testfile.
* gdb.cp/temargs.exp: Use standard_testfile.
* gdb.cp/templates.exp: Use standard_testfile,
prepare_for_testing.
(do_tests): Update.
* gdb.cp/try_catch.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/typedef-operator.exp: Use standard_testfile.
* gdb.cp/userdef.exp: Use standard_testfile, prepare_for_testing.
* gdb.cp/virtbase.exp: Use standard_testfile,
prepare_for_testing.
* gdb.cp/virtfunc.exp: Use standard_testfile,
prepare_for_testing.
(do_tests): Update.
* gdb.cp/virtfunc2.exp: Use standard_testfile,
prepare_for_testing.
2012-07-10 15:18:18 +00:00
|
|
|
if {[prepare_for_testing $testfile.exp $testfile $srcfile \
|
|
|
|
{debug c++ nowarnings}]} {
|
2006-08-10 05:27:22 +00:00
|
|
|
return -1
|
2003-08-03 01:57:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
if [is_remote target] then {
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# line number where we need to stop in main
|
|
|
|
#
|
|
|
|
set main_line 25
|
|
|
|
|
|
|
|
# The commands we test here produce many lines of output; disable "press
|
|
|
|
# <return> to continue" prompts.
|
2010-06-01 18:18:35 +00:00
|
|
|
gdb_test_no_output "set height 0"
|
2003-08-03 01:57:13 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# break at main
|
|
|
|
#
|
|
|
|
gdb_test "break 25" \
|
|
|
|
"Breakpoint.*at.* file .*$srcfile, line.*" \
|
|
|
|
"breakpoint main"
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# NOTE: this prompt is OK only when the annotation level is > 1
|
|
|
|
# NOTE: When this prompt is in use the gdb_test procedure cannot be used because
|
|
|
|
# it assumes that the last char of the gdb_prompt is a white space. This is not
|
|
|
|
# true with this annotated prompt. So we must use send_gdb and gdb_expect.
|
|
|
|
#
|
|
|
|
|
|
|
|
set old_gdb_prompt $gdb_prompt
|
|
|
|
set gdb_prompt "\r\n\032\032pre-prompt\r\n$gdb_prompt \r\n\032\032prompt\r\n"
|
|
|
|
|
|
|
|
send_gdb "set annotate 3\n"
|
|
|
|
gdb_expect_list "annotation set at level 3" "\r\n$gdb_prompt$" {
|
|
|
|
"set annotate 3"
|
|
|
|
}
|
|
|
|
|
|
|
|
send_gdb "run\n"
|
|
|
|
gdb_expect_list "first run until main breakpoint" "$gdb_prompt$" {
|
|
|
|
"\r\n\032\032post-prompt\r\n"
|
|
|
|
"Starting program: .*annota3 \r\n"
|
|
|
|
"\r\n\032\032starting\r\n"
|
|
|
|
"\r\n\032\032breakpoint 1\r\n"
|
|
|
|
"\r\n"
|
2006-07-17 07:29:47 +00:00
|
|
|
"Breakpoint 1, "
|
|
|
|
"\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n"
|
|
|
|
"main \\(\\) at .*annota3.cc:25\r\n"
|
2003-08-03 01:57:13 +00:00
|
|
|
"\r\n\032\032source.*annota3.cc:25:.*:beg:0x\[0-9a-z\]+\r\n"
|
|
|
|
"\r\n\032\032stopped\r\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# print class 'a' with public fields.
|
|
|
|
#
|
|
|
|
send_gdb "print a\n"
|
|
|
|
gdb_expect_list "print class" "$gdb_prompt$" {
|
|
|
|
"\r\n\032\032post-prompt\r\n"
|
|
|
|
".*= \\{x = 1, y = 2\\}\r\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# continue until exit
|
|
|
|
# this will test:
|
|
|
|
# annotate-exited
|
|
|
|
#
|
|
|
|
send_gdb "continue\n"
|
2011-03-09 14:17:05 +00:00
|
|
|
gdb_expect_list "continue to exit" "$gdb_prompt$" [concat {
|
2003-08-03 01:57:13 +00:00
|
|
|
"\r\n\032\032post-prompt\r\n"
|
|
|
|
"Continuing.\r\n"
|
|
|
|
"\r\n\032\032starting\r\n"
|
|
|
|
"a.x is 1\r\n"
|
2011-03-09 14:17:05 +00:00
|
|
|
"\r\n\032\032exited 0\r\n"} [list "$inferior_exited_re normally.\r\n"] {
|
2003-08-03 01:57:13 +00:00
|
|
|
"\r\n\032\032stopped\r\n"
|
2011-03-09 14:17:05 +00:00
|
|
|
}]
|
2003-08-03 01:57:13 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
# delete all breakpoints
|
|
|
|
#
|
|
|
|
send_gdb "delete\n"
|
|
|
|
gdb_expect {
|
|
|
|
-re ".*Delete all breakpoints. \\(y or n\\) \r\n\032\032query.*$" {
|
|
|
|
send_gdb "y\n"
|
|
|
|
gdb_expect {
|
|
|
|
-re "\r\n\032\032post-query\r\n$gdb_prompt$" { pass "delete bps" }
|
|
|
|
-re ".*$gdb_prompt$" { fail "delete bps" }
|
|
|
|
timeout { fail "delete bps (timeout)" }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
-re ".*$gdb_prompt$" { fail "delete bps" }
|
|
|
|
timeout { fail "delete bps (timeout)" }
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# break at first line of main.
|
|
|
|
#
|
|
|
|
send_gdb "break 22\n"
|
|
|
|
gdb_expect_list "break at main" "$gdb_prompt$" {
|
|
|
|
"\r\n\032\032post-prompt\r\n"
|
|
|
|
"Breakpoint.*at 0x\[a-z0-9\]+: file.*annota3.cc, line 22.\r\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# run program up to breakpoint.
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
send_gdb "run\n"
|
|
|
|
gdb_expect_list "second run until main breakpoint" "$gdb_prompt$" {
|
|
|
|
"\r\n\032\032post-prompt\r\n"
|
|
|
|
"\r\n\032\032starting\r\n"
|
|
|
|
"\r\n\032\032breakpoint 2\r\n"
|
|
|
|
"\r\n"
|
2006-07-17 07:29:47 +00:00
|
|
|
"Breakpoint 2, "
|
|
|
|
"\r\n\032\032frame-begin 0 0x\[0-9a-z\]+\r\n"
|
|
|
|
"main \\(\\) at .*annota3.cc:22\r\n"
|
2003-08-03 01:57:13 +00:00
|
|
|
"\r\n\032\032source.*annota3.cc:22:.*:beg:0x\[0-9a-z\]+\r\n"
|
|
|
|
"\r\n\032\032stopped\r\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# set up a watch point on a.x
|
|
|
|
#
|
|
|
|
send_gdb "watch a.x\n"
|
|
|
|
gdb_expect_list "set watch on a.x" "$gdb_prompt$" {
|
|
|
|
"\r\n\032\032post-prompt\r\n"
|
|
|
|
".*atchpoint 3: a.x\r\n" \
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# do a next, so that the watchpoint triggers. This will test:
|
|
|
|
# annotate-watchpoint
|
|
|
|
#
|
2010-06-01 18:18:35 +00:00
|
|
|
gdb_test_multiple "next" "watch triggered on a.x" {
|
2007-01-29 19:09:47 +00:00
|
|
|
-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$" {
|
2003-08-03 01:57:13 +00:00
|
|
|
pass "watch triggered on a.x"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# send ^C to gdb, so that the quit() function gets called
|
|
|
|
# and annotate-quit is tested
|
|
|
|
# test:
|
|
|
|
# annotate-quit
|
|
|
|
#
|
|
|
|
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"
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# FIXME: the testsuite does not currently have tests for
|
|
|
|
# annotate_catchpoints and annotate_function_call
|
|
|
|
# and a few variants of the annotations that are
|
|
|
|
# tested (marked by FIXME on the annot?.exp files)
|
|
|
|
#
|
|
|
|
|
|
|
|
# reinstall the old prompt for the rest of the testsuite.
|
|
|
|
|
|
|
|
set gdb_prompt $old_gdb_prompt
|
|
|
|
|