From 6afa27b08c2aba9310bb8ab1f40816ee1d6ed783 Mon Sep 17 00:00:00 2001 From: Elena Zannoni Date: Tue, 5 Nov 2002 15:43:18 +0000 Subject: [PATCH] 2002-11-04 Elena Zannoni * mi-console.exp: Use mi_runto, mi_run_to_main, mi_next_to, mi_step_to wherever possible. Update copyright notices. * mi-disassemble.exp: Ditto. * mi-eval.exp: Ditto. * mi-read-memory.exp: Ditto. * mi-regs.exp: Ditto. * mi-return.exp: Ditto. * mi-stack.exp: Ditto. * mi-stepi.exp: Ditto. * mi-var-block.exp: Ditto. * mi-var-cmd.exp: Ditto. * mi-watch.exp: Ditto. * mi1-console.exp: Ditto. * mi1-disassemble.exp: Ditto. * mi1-eval.exp: Ditto. * mi1-read-memory.exp: Ditto. * mi1-regs.exp: Ditto. * mi1-return.exp: Ditto. * mi1-stack.exp: Ditto. * mi1-stepi.exp: Ditto. * mi1-var-block.exp: Ditto. * mi1-var-cmd.exp: Ditto. * mi1-watch.exp: Ditto. --- gdb/testsuite/gdb.mi/ChangeLog | 26 +++++++++ gdb/testsuite/gdb.mi/mi-console.exp | 17 +----- gdb/testsuite/gdb.mi/mi-disassemble.exp | 50 +---------------- gdb/testsuite/gdb.mi/mi-eval.exp | 45 +-------------- gdb/testsuite/gdb.mi/mi-read-memory.exp | 18 +----- gdb/testsuite/gdb.mi/mi-regs.exp | 50 +---------------- gdb/testsuite/gdb.mi/mi-return.exp | 36 +++--------- gdb/testsuite/gdb.mi/mi-stack.exp | 19 +------ gdb/testsuite/gdb.mi/mi-stepi.exp | 27 +-------- gdb/testsuite/gdb.mi/mi-var-block.exp | 71 +++--------------------- gdb/testsuite/gdb.mi/mi-var-cmd.exp | 16 +----- gdb/testsuite/gdb.mi/mi-watch.exp | 29 +--------- gdb/testsuite/gdb.mi/mi1-console.exp | 17 +----- gdb/testsuite/gdb.mi/mi1-disassemble.exp | 50 +---------------- gdb/testsuite/gdb.mi/mi1-eval.exp | 45 +-------------- gdb/testsuite/gdb.mi/mi1-read-memory.exp | 17 +----- gdb/testsuite/gdb.mi/mi1-regs.exp | 50 +---------------- gdb/testsuite/gdb.mi/mi1-return.exp | 36 +++--------- gdb/testsuite/gdb.mi/mi1-stack.exp | 19 +------ gdb/testsuite/gdb.mi/mi1-stepi.exp | 27 +-------- gdb/testsuite/gdb.mi/mi1-var-block.exp | 71 +++--------------------- gdb/testsuite/gdb.mi/mi1-var-cmd.exp | 16 +----- gdb/testsuite/gdb.mi/mi1-watch.exp | 29 +--------- 23 files changed, 93 insertions(+), 688 deletions(-) diff --git a/gdb/testsuite/gdb.mi/ChangeLog b/gdb/testsuite/gdb.mi/ChangeLog index 0a89d164601..12af3c2e5a4 100644 --- a/gdb/testsuite/gdb.mi/ChangeLog +++ b/gdb/testsuite/gdb.mi/ChangeLog @@ -1,3 +1,29 @@ +2002-11-04 Elena Zannoni + + * mi-console.exp: Use mi_runto, mi_run_to_main, mi_next_to, + mi_step_to wherever possible. Update copyright notices. + * mi-disassemble.exp: Ditto. + * mi-eval.exp: Ditto. + * mi-read-memory.exp: Ditto. + * mi-regs.exp: Ditto. + * mi-return.exp: Ditto. + * mi-stack.exp: Ditto. + * mi-stepi.exp: Ditto. + * mi-var-block.exp: Ditto. + * mi-var-cmd.exp: Ditto. + * mi-watch.exp: Ditto. + * mi1-console.exp: Ditto. + * mi1-disassemble.exp: Ditto. + * mi1-eval.exp: Ditto. + * mi1-read-memory.exp: Ditto. + * mi1-regs.exp: Ditto. + * mi1-return.exp: Ditto. + * mi1-stack.exp: Ditto. + * mi1-stepi.exp: Ditto. + * mi1-var-block.exp: Ditto. + * mi1-var-cmd.exp: Ditto. + * mi1-watch.exp: Ditto. + 2002-10-23 Jeff Johnston * mi-var-cmd.exp: Add tests to verify that a -var-assign that changes diff --git a/gdb/testsuite/gdb.mi/mi-console.exp b/gdb/testsuite/gdb.mi/mi-console.exp index f8bb36efa05..f611aa7046e 100644 --- a/gdb/testsuite/gdb.mi/mi-console.exp +++ b/gdb/testsuite/gdb.mi/mi-console.exp @@ -51,22 +51,7 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -# Halt in main -mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*mi-console.c\",line=\"13\",times=\"0\"\}" \ - "break-insert operation" -mi_run_cmd -gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*mi-console.c\",line=\"13\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" { - fail "run to main (2)" - } - timeout { - fail "run to main (timeout)" - } -} +mi_run_to_main # Next over the hello() call which will produce lots of output send_gdb "47-exec-next\n" diff --git a/gdb/testsuite/gdb.mi/mi-disassemble.exp b/gdb/testsuite/gdb.mi/mi-disassemble.exp index 6f33d67ac6e..46f00ddf51c 100644 --- a/gdb/testsuite/gdb.mi/mi-disassemble.exp +++ b/gdb/testsuite/gdb.mi/mi-disassemble.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -43,51 +43,6 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_breakpoints_creation_and_listing {} { - global mi_gdb_prompt - global srcfile - global hex - - # Insert some breakpoints and list them - # Also, disable some so they do not interfere with other tests - # Tests: - # -break-insert - # -break-list - # -break-disable - # -break-info - - mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ - "break-insert operation" - - mi_gdb_test "204-break-list" \ - "204\\^done,BreakpointTable=\{.*,body=\\\[bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}\\\]\}" \ - "list of breakpoints" -} - -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args - # Tests: - # -exec-run - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # FIXME: We are accepting a duplicate file and line info temporarely. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"32\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" {fail "run to main (2)"} - timeout {fail "run to main (timeout 2)"} - } -} - proc test_disassembly_only {} { global mi_gdb_prompt global hex @@ -212,8 +167,7 @@ proc test_disassembly_bogus_args {} { } -test_breakpoints_creation_and_listing -test_running_the_program +mi_run_to_main test_disassembly_only test_disassembly_mixed test_disassembly_bogus_args diff --git a/gdb/testsuite/gdb.mi/mi-eval.exp b/gdb/testsuite/gdb.mi/mi-eval.exp index 2c0141069ad..536dd791530 100644 --- a/gdb/testsuite/gdb.mi/mi-eval.exp +++ b/gdb/testsuite/gdb.mi/mi-eval.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,47 +46,8 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args, then specify srgs and rerun the program - # Tests: - # -exec-run - - mi_gdb_test "300-break-insert callee4" \ - "300\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "insert breakpoint at callee4" - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" \ - { pass "run to callee4" } - -re ".*$mi_gdb_prompt$" {fail "run to callee4 (2)"} - timeout {fail "run to callee4 (timeout 2)"} - } - - send_gdb "101-exec-next\n" - gdb_expect { - -re "101\\^running\r\n$mi_gdb_prompt" { - gdb_expect { - -re "\[\r\n\]*101\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"9\"\}\r\n$mi_gdb_prompt$" \ - { pass "next in callee4" } - -re ".*$mi_gdb_prompt$" {fail "next in callee4 (2)"} - timeout {fail "next in callee4 (timeout 2)"} - } - } - -re ".*$mi_gdb_prompt$" {fail "next in callee4 (1)"} - timeout {fail "next in callee4 (timeout 1)"} - } - -} - -test_running_the_program +mi_runto callee4 +mi_next_to "callee4" "" "basics.c" "9" "next at callee4" mi_gdb_test "211-data-evaluate-expression A" "211\\^done,value=\"1\"" "eval A" diff --git a/gdb/testsuite/gdb.mi/mi-read-memory.exp b/gdb/testsuite/gdb.mi/mi-read-memory.exp index b4f0c35955f..573c8964c22 100644 --- a/gdb/testsuite/gdb.mi/mi-read-memory.exp +++ b/gdb/testsuite/gdb.mi/mi-read-memory.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,21 +46,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb mi_run_to_main - -#mi_next "do initialization" -send_gdb "101-exec-next\n" -gdb_expect { - -re "101\\^running\r\n$mi_gdb_prompt" { - gdb_expect { - -re "\[\r\n\]*101\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*mi-read-memory.c\",line=\"20\"\}.*$mi_gdb_prompt$" \ - { pass "do initialization" } - -re ".*$mi_gdb_prompt$" {fail "do initialization (2)"} - timeout {fail "do initialization (timeout 2)"} - } - } - -re ".*$mi_gdb_prompt$" {fail "do initialization (1)"} - timeout {fail "do initialization (timeout 1)"} -} +mi_next_to "main" "" "mi-read-memory.c" "20" "next at main" mi_gdb_test "1-data-read-memory" \ "1\\^error,msg=\".*\"" \ diff --git a/gdb/testsuite/gdb.mi/mi-regs.exp b/gdb/testsuite/gdb.mi/mi-regs.exp index c427677a41b..a6a6406a76d 100644 --- a/gdb/testsuite/gdb.mi/mi-regs.exp +++ b/gdb/testsuite/gdb.mi/mi-regs.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -45,51 +45,6 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_breakpoints_creation_and_listing {} { - global mi_gdb_prompt - global srcfile - global hex - - # Insert some breakpoints and list them - # Also, disable some so they do not interfere with other tests - # Tests: - # -break-insert - # -break-list - # -break-disable - # -break-info - - mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ - "break-insert operation" - - mi_gdb_test "204-break-list" \ - "204\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[.*\\\],body=\\\[bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}\\\]\}" \ - "list of breakpoints" -} - -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args - # Tests: - # -exec-run - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # FIXME: We are accepting a duplicate file and line info temporarely. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"32\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" {fail "run to main (2)"} - timeout {fail "run to main (timeout 2)"} - } -} - proc sparc_register_tests_no_exec { } { # Test the generic IDT chip. mi_gdb_test "111-data-list-register-values" \ @@ -164,8 +119,7 @@ proc sparc_register_tests { } { if [istarget "sparc-*-*"] then { sparc_register_tests_no_exec - test_breakpoints_creation_and_listing - test_running_the_program + mi_run_to_main sparc_register_tests } else { verbose "mi-regs.exp tests ignored for this target" diff --git a/gdb/testsuite/gdb.mi/mi-return.exp b/gdb/testsuite/gdb.mi/mi-return.exp index 1e7c863a7a8..ca37e9fc9fc 100644 --- a/gdb/testsuite/gdb.mi/mi-return.exp +++ b/gdb/testsuite/gdb.mi/mi-return.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,33 +46,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_running_to_callee4 {} { - global mi_gdb_prompt - global hex - - mi_gdb_test "200-break-insert callee4" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "break-insert operation" - - mi_run_cmd - - gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" { - pass "run to callee4" - } - -re ".*$mi_gdb_prompt$" { - fail "run to callee4 (2)" - } - timeout { - fail "run to callee4 (timeout)" - } - } - - mi_gdb_test "205-break-delete" \ - "205\\^done.*" \ - "delete all breakpoints" - -} proc test_return_simple {} { global mi_gdb_prompt @@ -87,7 +60,12 @@ proc test_return_simple {} { } } -test_running_to_callee4 +mi_runto callee4 + +mi_gdb_test "205-break-delete" \ + "205\\^done.*" \ + "delete all breakpoints" + test_return_simple mi_gdb_exit diff --git a/gdb/testsuite/gdb.mi/mi-stack.exp b/gdb/testsuite/gdb.mi/mi-stack.exp index 4c682e21e2f..92c651df89b 100644 --- a/gdb/testsuite/gdb.mi/mi-stack.exp +++ b/gdb/testsuite/gdb.mi/mi-stack.exp @@ -1,4 +1,4 @@ -# Copyright 2000 Free Software Foundation, Inc. +# Copyright 2000, 2002 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 @@ -46,22 +46,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} - -mi_gdb_test "200-break-insert callee4" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "break-insert operation" - -mi_run_cmd -# The running part has been checked already by mi_run_cmd -gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" { - pass "run to callee4" - } - -re ".*$mi_gdb_prompt$" {fail "run to callee4 (2)"} - timeout {fail "run to callee4 (timeout 2)"} -} - - proc test_stack_frame_listing {} { global mi_gdb_prompt global hex @@ -208,6 +192,7 @@ gdb_expect { } +mi_runto callee4 test_stack_frame_listing test_stack_args_listing test_stack_locals_listing diff --git a/gdb/testsuite/gdb.mi/mi-stepi.exp b/gdb/testsuite/gdb.mi/mi-stepi.exp index e0de2f2ccd1..44e6442150a 100644 --- a/gdb/testsuite/gdb.mi/mi-stepi.exp +++ b/gdb/testsuite/gdb.mi/mi-stepi.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,29 +46,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_running_to_main {} { - global mi_gdb_prompt - global hex - - mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ - "break-insert operation" - - mi_run_cmd - - gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"32\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" { - fail "run to main (2)" - } - timeout { - fail "run to main (timeout)" - } - } -} - proc test_stepi_nexti {} { global mi_gdb_prompt global hex @@ -102,7 +79,7 @@ proc test_stepi_nexti {} { } } -test_running_to_main +mi_run_to_main test_stepi_nexti mi_gdb_exit diff --git a/gdb/testsuite/gdb.mi/mi-var-block.exp b/gdb/testsuite/gdb.mi/mi-var-block.exp index 506275c94a6..a0b456a90f1 100644 --- a/gdb/testsuite/gdb.mi/mi-var-block.exp +++ b/gdb/testsuite/gdb.mi/mi-var-block.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2002 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 @@ -42,19 +42,7 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -mi_gdb_test "200-break-insert do_block_tests" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"do_block_tests\",file=\".*var-cmd.c\",line=\"154\",times=\"0\"\}" \ - "break-insert operation" - -mi_run_cmd -# The running part has been checked already by mi_run_cmd -gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"154\"\}\r\n$mi_gdb_prompt$" { - pass "run to do_block_tests" - } - -re ".*$mi_gdb_prompt$" {fail "run to do_block_tests (2)"} - timeout {fail "run to do_block_tests (timeout 2)"} -} +mi_runto do_block_tests # Test: c_variable-3.2 # Desc: create cb and foo @@ -67,15 +55,7 @@ mi_gdb_test "-var-create foo * foo" \ "create local variable foo" # step to "foo = 123;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"158\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { - fail "step at do_block_tests (timeout)" - } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "158" "step at do_block_test" # Be paranoid and assume 3.2 created foo @@ -91,15 +71,7 @@ mi_gdb_test "-var-create foo * foo" \ "create local variable foo" # step to "foo2 = 123;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"161\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { - fail "step at do_block_tests (timeout)" - } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "161" "step at do_block_test" # Test: c_variable-3.4 # Desc: check foo, cb changed @@ -108,15 +80,7 @@ mi_gdb_test "-var-update *" \ "update all vars: cb foo changed" # step to "foo = 321;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"164\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { - fail "step at do_block_tests (timeout)" - } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "164" "step at do_block_test" # Test: c_variable-3.5 # Desc: create inner block foo @@ -125,13 +89,7 @@ mi_gdb_test "-var-create inner_foo * foo" \ "create local variable inner_foo" # step to "foo2 = 0;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"166\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { fail "step at do_block_tests (timeout)" } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "166" "step at do_block_test" # Test: c_variable-3.6 # Desc: create foo2 @@ -163,13 +121,7 @@ mi_gdb_test "-var-delete inner_foo" \ "delete var inner_foo" # step to "foo = 0;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"168\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { fail "step at do_block_tests (timeout)" } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "168" "step at do_block_test" # Test: c_variable-3.8 # Desc: check that foo2 out of scope (known gdb problem) @@ -180,14 +132,7 @@ mi_gdb_test "-var-update foo2" \ clear_xfail *-*-* # step to "cb = 21;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"171\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { fail "step at do_block_tests (timeout)" } -} - +mi_step_to "do_block_tests" "" "var-cmd.c" "171" "step at do_block_test" # Test: c_variable-3.9 # Desc: check that only cb is in scope (known gdb problem) diff --git a/gdb/testsuite/gdb.mi/mi-var-cmd.exp b/gdb/testsuite/gdb.mi/mi-var-cmd.exp index 1902793d357..7d02b36943a 100644 --- a/gdb/testsuite/gdb.mi/mi-var-cmd.exp +++ b/gdb/testsuite/gdb.mi/mi-var-cmd.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2002 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 @@ -70,19 +70,7 @@ mi_gdb_test "113-var-create argc * argc" \ "&\"mi_cmd_var_create: unable to create variable object\\\\n\".*113\\^error,msg=\"mi_cmd_var_create: unable to create variable object\"" \ "create out of scope variable" -mi_gdb_test "200-break-insert do_locals_tests" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"do_locals_tests\",file=\".*var-cmd.c\",line=\"106\",times=\"0\"\}" \ - "break-insert operation" - -mi_run_cmd -# The running part has been checked already by mi_run_cmd -gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_locals_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"106\"\}\r\n$mi_gdb_prompt$" { - pass "run to do_locals_tests" - } - -re ".*$mi_gdb_prompt$" {fail "run to do_locals_tests (2)"} - timeout {fail "run to do_locals_tests (timeout 2)"} -} +mi_runto do_locals_tests # Test: c_variable-1.4 # Desc: create local variables diff --git a/gdb/testsuite/gdb.mi/mi-watch.exp b/gdb/testsuite/gdb.mi/mi-watch.exp index 25db59869be..ba243999d19 100644 --- a/gdb/testsuite/gdb.mi/mi-watch.exp +++ b/gdb/testsuite/gdb.mi/mi-watch.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -115,31 +115,6 @@ proc test_rwatch_creation_and_listing {} { "delete read watchpoint" } -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args, then specify srgs and rerun the program - # Tests: - # -exec-run - - mi_gdb_test "300-break-insert callee4" \ - "300\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "insert breakpoint at callee4" - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" \ - { pass "run to callee4" } - -re ".*$mi_gdb_prompt$" {fail "run to callee4 (2)"} - timeout {fail "run to callee4 (timeout 2)"} - } -} - proc test_watchpoint_triggering {} { global mi_gdb_prompt global hex @@ -181,7 +156,7 @@ proc test_watchpoint_triggering {} { } } -test_running_the_program +mi_runto callee4 test_watchpoint_creation_and_listing #test_rwatch_creation_and_listing #test_awatch_creation_and_listing diff --git a/gdb/testsuite/gdb.mi/mi1-console.exp b/gdb/testsuite/gdb.mi/mi1-console.exp index 5a6d6f2b897..25af50a31d1 100644 --- a/gdb/testsuite/gdb.mi/mi1-console.exp +++ b/gdb/testsuite/gdb.mi/mi1-console.exp @@ -51,22 +51,7 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -# Halt in main -mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*mi-console.c\",line=\"13\",times=\"0\"\}" \ - "break-insert operation" -mi_run_cmd -gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*mi-console.c\",line=\"13\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" { - fail "run to main (2)" - } - timeout { - fail "run to main (timeout)" - } -} +mi_run_to_main # Next over the hello() call which will produce lots of output send_gdb "47-exec-next\n" diff --git a/gdb/testsuite/gdb.mi/mi1-disassemble.exp b/gdb/testsuite/gdb.mi/mi1-disassemble.exp index 65af76d245e..7292a350b77 100644 --- a/gdb/testsuite/gdb.mi/mi1-disassemble.exp +++ b/gdb/testsuite/gdb.mi/mi1-disassemble.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -43,51 +43,6 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_breakpoints_creation_and_listing {} { - global mi_gdb_prompt - global srcfile - global hex - - # Insert some breakpoints and list them - # Also, disable some so they do not interfere with other tests - # Tests: - # -break-insert - # -break-list - # -break-disable - # -break-info - - mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ - "break-insert operation" - - mi_gdb_test "204-break-list" \ - "204\\^done,BreakpointTable=\{.*,body=\\\[bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}\\\]\}" \ - "list of breakpoints" -} - -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args - # Tests: - # -exec-run - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # FIXME: We are accepting a duplicate file and line info temporarely. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"32\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" {fail "run to main (2)"} - timeout {fail "run to main (timeout 2)"} - } -} - proc test_disassembly_only {} { global mi_gdb_prompt global hex @@ -212,8 +167,7 @@ proc test_disassembly_bogus_args {} { } -test_breakpoints_creation_and_listing -test_running_the_program +mi_run_to_main test_disassembly_only test_disassembly_mixed test_disassembly_bogus_args diff --git a/gdb/testsuite/gdb.mi/mi1-eval.exp b/gdb/testsuite/gdb.mi/mi1-eval.exp index 898c7b78777..330e00de528 100644 --- a/gdb/testsuite/gdb.mi/mi1-eval.exp +++ b/gdb/testsuite/gdb.mi/mi1-eval.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,47 +46,8 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args, then specify srgs and rerun the program - # Tests: - # -exec-run - - mi_gdb_test "300-break-insert callee4" \ - "300\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "insert breakpoint at callee4" - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" \ - { pass "run to callee4" } - -re ".*$mi_gdb_prompt$" {fail "run to callee4 (2)"} - timeout {fail "run to callee4 (timeout 2)"} - } - - send_gdb "101-exec-next\n" - gdb_expect { - -re "101\\^running\r\n$mi_gdb_prompt" { - gdb_expect { - -re "\[\r\n\]*101\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"9\"\}\r\n$mi_gdb_prompt$" \ - { pass "next in callee4" } - -re ".*$mi_gdb_prompt$" {fail "next in callee4 (2)"} - timeout {fail "next in callee4 (timeout 2)"} - } - } - -re ".*$mi_gdb_prompt$" {fail "next in callee4 (1)"} - timeout {fail "next in callee4 (timeout 1)"} - } - -} - -test_running_the_program +mi_runto callee4 +mi_next_to "callee4" "" "basics.c" "9" "next at callee4" mi_gdb_test "211-data-evaluate-expression A" "211\\^done,value=\"1\"" "eval A" diff --git a/gdb/testsuite/gdb.mi/mi1-read-memory.exp b/gdb/testsuite/gdb.mi/mi1-read-memory.exp index 27960783216..9a0acf43825 100644 --- a/gdb/testsuite/gdb.mi/mi1-read-memory.exp +++ b/gdb/testsuite/gdb.mi/mi1-read-memory.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -48,19 +48,8 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb mi_run_to_main #mi_next "do initialization" -send_gdb "101-exec-next\n" -gdb_expect { - -re "101\\^running\r\n$mi_gdb_prompt" { - gdb_expect { - -re "\[\r\n\]*101\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*mi-read-memory.c\",line=\"20\"\}.*$mi_gdb_prompt$" \ - { pass "do initialization" } - -re ".*$mi_gdb_prompt$" {fail "do initialization (2)"} - timeout {fail "do initialization (timeout 2)"} - } - } - -re ".*$mi_gdb_prompt$" {fail "do initialization (1)"} - timeout {fail "do initialization (timeout 1)"} -} + +mi_next_to "main" "" "mi-read-memory.c" "20" "next at main" mi_gdb_test "1-data-read-memory" \ "1\\^error,msg=\".*\"" \ diff --git a/gdb/testsuite/gdb.mi/mi1-regs.exp b/gdb/testsuite/gdb.mi/mi1-regs.exp index b4baa18b3b0..bf59907780e 100644 --- a/gdb/testsuite/gdb.mi/mi1-regs.exp +++ b/gdb/testsuite/gdb.mi/mi1-regs.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -45,51 +45,6 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_breakpoints_creation_and_listing {} { - global mi_gdb_prompt - global srcfile - global hex - - # Insert some breakpoints and list them - # Also, disable some so they do not interfere with other tests - # Tests: - # -break-insert - # -break-list - # -break-disable - # -break-info - - mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ - "break-insert operation" - - mi_gdb_test "204-break-list" \ - "204\\^done,BreakpointTable=\{nr_rows=\".\",nr_cols=\".\",hdr=\\\[.*\\\],body=\\\[bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}\\\]\}" \ - "list of breakpoints" -} - -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args - # Tests: - # -exec-run - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # FIXME: We are accepting a duplicate file and line info temporarely. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"32\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" {fail "run to main (2)"} - timeout {fail "run to main (timeout 2)"} - } -} - proc sparc_register_tests_no_exec { } { # Test the generic IDT chip. mi_gdb_test "111-data-list-register-values" \ @@ -164,8 +119,7 @@ proc sparc_register_tests { } { if [istarget "sparc-*-*"] then { sparc_register_tests_no_exec - test_breakpoints_creation_and_listing - test_running_the_program + mi_run_to_main sparc_register_tests } else { verbose "mi-regs.exp tests ignored for this target" diff --git a/gdb/testsuite/gdb.mi/mi1-return.exp b/gdb/testsuite/gdb.mi/mi1-return.exp index 0fcbbfe62f4..539a61cbf44 100644 --- a/gdb/testsuite/gdb.mi/mi1-return.exp +++ b/gdb/testsuite/gdb.mi/mi1-return.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,33 +46,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_running_to_callee4 {} { - global mi_gdb_prompt - global hex - - mi_gdb_test "200-break-insert callee4" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "break-insert operation" - - mi_run_cmd - - gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" { - pass "run to callee4" - } - -re ".*$mi_gdb_prompt$" { - fail "run to callee4 (2)" - } - timeout { - fail "run to callee4 (timeout)" - } - } - - mi_gdb_test "205-break-delete" \ - "205\\^done.*" \ - "delete all breakpoints" - -} proc test_return_simple {} { global mi_gdb_prompt @@ -87,7 +60,12 @@ proc test_return_simple {} { } } -test_running_to_callee4 +mi_runto callee4 + +mi_gdb_test "205-break-delete" \ + "205\\^done.*" \ + "delete all breakpoints" + test_return_simple mi_gdb_exit diff --git a/gdb/testsuite/gdb.mi/mi1-stack.exp b/gdb/testsuite/gdb.mi/mi1-stack.exp index 45b8b83a367..b8c7cab5ce3 100644 --- a/gdb/testsuite/gdb.mi/mi1-stack.exp +++ b/gdb/testsuite/gdb.mi/mi1-stack.exp @@ -1,4 +1,4 @@ -# Copyright 2000 Free Software Foundation, Inc. +# Copyright 2000, 2002 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 @@ -46,22 +46,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} - -mi_gdb_test "200-break-insert callee4" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "break-insert operation" - -mi_run_cmd -# The running part has been checked already by mi_run_cmd -gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" { - pass "run to callee4" - } - -re ".*$mi_gdb_prompt$" {fail "run to callee4 (2)"} - timeout {fail "run to callee4 (timeout 2)"} -} - - proc test_stack_frame_listing {} { global mi_gdb_prompt global hex @@ -208,6 +192,7 @@ gdb_expect { } +mi_runto callee4 test_stack_frame_listing test_stack_args_listing test_stack_locals_listing diff --git a/gdb/testsuite/gdb.mi/mi1-stepi.exp b/gdb/testsuite/gdb.mi/mi1-stepi.exp index 56344798038..a7066370f19 100644 --- a/gdb/testsuite/gdb.mi/mi1-stepi.exp +++ b/gdb/testsuite/gdb.mi/mi1-stepi.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -46,29 +46,6 @@ mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -proc test_running_to_main {} { - global mi_gdb_prompt - global hex - - mi_gdb_test "200-break-insert main" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"main\",file=\".*basics.c\",line=\"32\",times=\"0\"\}" \ - "break-insert operation" - - mi_run_cmd - - gdb_expect { - -re "000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"main\",args=\\\[\\\],file=\".*basics.c\",line=\"32\"\}\r\n$mi_gdb_prompt$" { - pass "run to main" - } - -re ".*$mi_gdb_prompt$" { - fail "run to main (2)" - } - timeout { - fail "run to main (timeout)" - } - } -} - proc test_stepi_nexti {} { global mi_gdb_prompt global hex @@ -102,7 +79,7 @@ proc test_stepi_nexti {} { } } -test_running_to_main +mi_run_to_main test_stepi_nexti mi_gdb_exit diff --git a/gdb/testsuite/gdb.mi/mi1-var-block.exp b/gdb/testsuite/gdb.mi/mi1-var-block.exp index 1478280334b..0ff9356ccf2 100644 --- a/gdb/testsuite/gdb.mi/mi1-var-block.exp +++ b/gdb/testsuite/gdb.mi/mi1-var-block.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2002 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 @@ -42,19 +42,7 @@ mi_delete_breakpoints mi_gdb_reinitialize_dir $srcdir/$subdir mi_gdb_load ${binfile} -mi_gdb_test "200-break-insert do_block_tests" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"do_block_tests\",file=\".*var-cmd.c\",line=\"154\",times=\"0\"\}" \ - "break-insert operation" - -mi_run_cmd -# The running part has been checked already by mi_run_cmd -gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"154\"\}\r\n$mi_gdb_prompt$" { - pass "run to do_block_tests" - } - -re ".*$mi_gdb_prompt$" {fail "run to do_block_tests (2)"} - timeout {fail "run to do_block_tests (timeout 2)"} -} +mi_runto do_block_tests # Test: c_variable-3.2 # Desc: create cb and foo @@ -67,15 +55,7 @@ mi_gdb_test "-var-create foo * foo" \ "create local variable foo" # step to "foo = 123;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"158\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { - fail "step at do_block_tests (timeout)" - } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "158" "step at do_block_test" # Be paranoid and assume 3.2 created foo @@ -91,15 +71,7 @@ mi_gdb_test "-var-create foo * foo" \ "create local variable foo" # step to "foo2 = 123;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"161\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { - fail "step at do_block_tests (timeout)" - } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "161" "step at do_block_test" # Test: c_variable-3.4 # Desc: check foo, cb changed @@ -108,15 +80,7 @@ mi_gdb_test "-var-update *" \ "update all vars: cb foo changed" # step to "foo = 321;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"164\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { - fail "step at do_block_tests (timeout)" - } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "164" "step at do_block_test" # Test: c_variable-3.5 # Desc: create inner block foo @@ -125,13 +89,7 @@ mi_gdb_test "-var-create inner_foo * foo" \ "create local variable inner_foo" # step to "foo2 = 0;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"166\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { fail "step at do_block_tests (timeout)" } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "166" "step at do_block_test" # Test: c_variable-3.6 # Desc: create foo2 @@ -163,13 +121,7 @@ mi_gdb_test "-var-delete inner_foo" \ "delete var inner_foo" # step to "foo = 0;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"168\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { fail "step at do_block_tests (timeout)" } -} +mi_step_to "do_block_tests" "" "var-cmd.c" "168" "step at do_block_test" # Test: c_variable-3.8 # Desc: check that foo2 out of scope (known gdb problem) @@ -180,14 +132,7 @@ mi_gdb_test "-var-update foo2" \ clear_xfail *-*-* # step to "cb = 21;" -send_gdb "-exec-step\n" -gdb_expect { - -re "\\^running\r\n${mi_gdb_prompt}\\*stopped,reason=\"end-stepping-range\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_block_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"171\"\}\r\n$mi_gdb_prompt$" { - pass "step at do_block_tests" - } - timeout { fail "step at do_block_tests (timeout)" } -} - +mi_step_to "do_block_tests" "" "var-cmd.c" "171" "step at do_block_test" # Test: c_variable-3.9 # Desc: check that only cb is in scope (known gdb problem) diff --git a/gdb/testsuite/gdb.mi/mi1-var-cmd.exp b/gdb/testsuite/gdb.mi/mi1-var-cmd.exp index 0f0d522b80c..c6a88b6bd93 100644 --- a/gdb/testsuite/gdb.mi/mi1-var-cmd.exp +++ b/gdb/testsuite/gdb.mi/mi1-var-cmd.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2002 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 @@ -70,19 +70,7 @@ mi_gdb_test "113-var-create argc * argc" \ "&\"mi_cmd_var_create: unable to create variable object\\\\n\".*113\\^error,msg=\"mi_cmd_var_create: unable to create variable object\"" \ "create out of scope variable" -mi_gdb_test "200-break-insert do_locals_tests" \ - "200\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"do_locals_tests\",file=\".*var-cmd.c\",line=\"106\",times=\"0\"\}" \ - "break-insert operation" - -mi_run_cmd -# The running part has been checked already by mi_run_cmd -gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"do_locals_tests\",args=\\\[\\\],file=\".*var-cmd.c\",line=\"106\"\}\r\n$mi_gdb_prompt$" { - pass "run to do_locals_tests" - } - -re ".*$mi_gdb_prompt$" {fail "run to do_locals_tests (2)"} - timeout {fail "run to do_locals_tests (timeout 2)"} -} +mi_runto do_locals_tests # Test: c_variable-1.4 # Desc: create local variables diff --git a/gdb/testsuite/gdb.mi/mi1-watch.exp b/gdb/testsuite/gdb.mi/mi1-watch.exp index 937eb2c807c..dfb97ae59d0 100644 --- a/gdb/testsuite/gdb.mi/mi1-watch.exp +++ b/gdb/testsuite/gdb.mi/mi1-watch.exp @@ -1,4 +1,4 @@ -# Copyright 1999, 2000 Free Software Foundation, Inc. +# Copyright 1999, 2000, 2002 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 @@ -115,31 +115,6 @@ proc test_rwatch_creation_and_listing {} { "delete read watchpoint" } -proc test_running_the_program {} { - global mi_gdb_prompt - global hex - - # Run the program without args, then specify srgs and rerun the program - # Tests: - # -exec-run - - mi_gdb_test "300-break-insert callee4" \ - "300\\^done,bkpt=\{number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"$hex\",func=\"callee4\",file=\".*basics.c\",line=\"8\",times=\"0\"\}" \ - "insert breakpoint at callee4" - - # mi_gdb_test cannot be used for asynchronous commands because there are - # two prompts involved and this can lead to a race condition. - # The following is equivalent to a send_gdb "000-exec-run\n" - mi_run_cmd - # The running part has been checked already by mi_run_cmd - gdb_expect { - -re "\[\r\n\]*000\\*stopped,reason=\"breakpoint-hit\",bkptno=\"1\",thread-id=\"\[01\]\",frame=\{addr=\"$hex\",func=\"callee4\",args=\\\[\\\],file=\".*basics.c\",line=\"8\"\}\r\n$mi_gdb_prompt$" \ - { pass "run to callee4" } - -re ".*$mi_gdb_prompt$" {fail "run to callee4 (2)"} - timeout {fail "run to callee4 (timeout 2)"} - } -} - proc test_watchpoint_triggering {} { global mi_gdb_prompt global hex @@ -181,7 +156,7 @@ proc test_watchpoint_triggering {} { } } -test_running_the_program +mi_runto callee4 test_watchpoint_creation_and_listing #test_rwatch_creation_and_listing #test_awatch_creation_and_listing -- 2.30.2