aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
diff options
context:
space:
mode:
authorPedro Alves <pedro@palves.net>2022-05-18 13:22:02 +0100
committerPedro Alves <pedro@palves.net>2022-05-25 13:44:12 +0100
commitcce0ae568c7e30e0a7b8d1bd77f8c4b7d7b8ce7b (patch)
tree14e4c08fb31df4412278a62a4bdf5f739be6d698 /gdb/testsuite/gdb.cp/cpexprs.exp.tcl
parentaee9dcf8a836fe08e3d7f1b58a8b6dd2e16d9b68 (diff)
downloadgdb-cce0ae568c7e30e0a7b8d1bd77f8c4b7d7b8ce7b.zip
gdb-cce0ae568c7e30e0a7b8d1bd77f8c4b7d7b8ce7b.tar.gz
gdb-cce0ae568c7e30e0a7b8d1bd77f8c4b7d7b8ce7b.tar.bz2
gdb: Fix DUPLICATE and PATH regressions throughout
The previous patch to add -prompt/-lbl to gdb_test introduced a regression: Before, you could specify an explicit empty message to indicate you didn't want to PASS, like so: gdb_test COMMAND PATTERN "" After said patch, gdb_test no longer distinguishes no-message-specified vs empty-message, so tests that previously would be silent on PASS, now started emitting PASS messages based on COMMAND. This in turn introduced a number of PATH/DUPLICATE violations in the testsuite. This commit fixes all the regressions I could see. This patch uses the new -nopass feature introduced in the previous commit, but tries to avoid it if possible. Most of the patch fixes DUPLICATE issues the usual way, of using with_test_prefix or explicit unique messages. See previous commit's log for more info. In addition to looking for DUPLICATEs, I also looked for cases where we would now end up with an empty message in gdb.sum, due to a gdb_test being passed both no message and empty command. E.g., this in gdb.ada/bp_reset.exp: gdb_run_cmd gdb_test "" "Breakpoint $decimal, foo\\.nested_sub \\(\\).*" was resulting in this in gdb.sum: PASS: gdb.ada/bp_reset.exp: I fixed such cases by passing an explicit message. We may want to make such cases error out. Tested on x86_64 GNU/Linux, native and native-extended-gdbserver. I see zero PATH cases now. I get zero DUPLICATEs with native testing now. I still see some DUPLICATEs with native-extended-gdbserver, but those were preexisting, unrelated to the gdb_test change. Change-Id: I5375f23f073493e0672190a0ec2e847938a580b2
Diffstat (limited to 'gdb/testsuite/gdb.cp/cpexprs.exp.tcl')
-rw-r--r--gdb/testsuite/gdb.cp/cpexprs.exp.tcl3
1 files changed, 1 insertions, 2 deletions
diff --git a/gdb/testsuite/gdb.cp/cpexprs.exp.tcl b/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
index 0a1a4ab..b4ed3cd 100644
--- a/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
+++ b/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
@@ -30,8 +30,7 @@ proc test_breakpoint {func} {
fail "set test_function breakpoint for $func"
} elseif { [gdb_test "continue" \
"Continuing.\r\n\r\nBreakpoint $DEC+,.*test_function.*" \
- ""] != 0 } {
- fail "continue to test_function for $func"
+ "continue to test_function for $func"] != 0 } {
} else {
gdb_breakpoint "$func"
set i [expr {[string last : $func] + 1}]