This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Modify gdb.base/commands.exp to test multi breakpoints command clearing.
- From: Philippe Waroquiers <philippe at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 28 Aug 2018 21:00:23 -0000
- Subject: [binutils-gdb] Modify gdb.base/commands.exp to test multi breakpoints command clearing.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ead9aa39bfc80007336bc96c6374df7f79341485
commit ead9aa39bfc80007336bc96c6374df7f79341485
Author: Philippe Waroquiers <philippe.waroquiers@skynet.be>
Date: Thu Aug 2 23:15:23 2018 +0200
Modify gdb.base/commands.exp to test multi breakpoints command clearing.
gdb/testsuite/ChangeLog
2018-08-26 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.base/commands.exp: Test multi breakpoints command clearing.
Diff:
---
gdb/testsuite/gdb.base/commands.exp | 47 +++++++++++++++++++++++++++++++++++--
1 file changed, 45 insertions(+), 2 deletions(-)
diff --git a/gdb/testsuite/gdb.base/commands.exp b/gdb/testsuite/gdb.base/commands.exp
index 259b89b..52a22bb 100644
--- a/gdb/testsuite/gdb.base/commands.exp
+++ b/gdb/testsuite/gdb.base/commands.exp
@@ -281,6 +281,48 @@ proc_with_prefix breakpoint_command_test {} {
gdb_test "print value" " = 5"
}
+# Test clearing the commands of several breakpoints with one single "end".
+proc_with_prefix breakpoint_clear_command_test {} {
+ runto_or_return factorial
+
+ set any "\[^\r\n\]*"
+ delete_breakpoints
+ gdb_test "break factorial" "Breakpoint.*at.*"
+ gdb_test_no_output "set \$bpnumfactorial = \$bpnum"
+ gdb_test "break main" "Breakpoint.*at.*"
+ gdb_test_no_output "set \$bpnummain = \$bpnum"
+
+ gdb_test \
+ [multi_line_input \
+ {commands $bpnumfactorial $bpnummain} \
+ { print 1234321} \
+ {end}] \
+ "End with.*" \
+ "set commands of two breakpoints to print 1234321"
+ gdb_test "info breakpoints" \
+ [multi_line \
+ "${any}What${any}" \
+ "${any}in factorial${any}" \
+ "${any}print 1234321${any}" \
+ "${any}in main${any}" \
+ "${any}print 1234321${any}" \
+ ] \
+ "print 1234321 command present in the two breakpoints"
+ gdb_test \
+ [multi_line_input \
+ {commands $bpnumfactorial $bpnummain} \
+ {end}] \
+ "End with.*" \
+ "clear the command list of the two breakpoints"
+ gdb_test "info breakpoints" \
+ [multi_line \
+ "${any}What${any}" \
+ "${any}in factorial${any}" \
+ "${any}in main${any}" \
+ ] \
+ "print 1234321 command is not present anymore in the two breakpoints"
+ }
+
# Test a simple user defined command (with arguments)
proc_with_prefix user_defined_command_test {} {
global valnum_re
@@ -368,8 +410,8 @@ proc_with_prefix user_defined_command_case_sensitivity {} {
gdb_test "print 456\nend" "" "enter commands 2"
- gdb_test "Homer-Simpson" " = 123" "execute command"
- gdb_test "HomeR-SimpsoN" " = 456" "execute command"
+ gdb_test "Homer-Simpson" " = 123" "execute command Homer-Simpson"
+ gdb_test "HomeR-SimpsoN" " = 456" "execute command HomeR-SimpsoN"
gdb_test "HOMER-SIMPSON" "Undefined command.*" "try to call in upper case"
gdb_test "homer-simpson" "Undefined command.*" "try to call in lower case"
}
@@ -1134,6 +1176,7 @@ progvar_complex_if_while_test
if_while_breakpoint_command_test
infrun_breakpoint_command_test
breakpoint_command_test
+breakpoint_clear_command_test
user_defined_command_test
user_defined_command_case_sensitivity
user_defined_command_args_eval