diff options
author | Pedro Alves <pedro@palves.net> | 2022-05-18 13:22:02 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2022-05-25 13:44:12 +0100 |
commit | cce0ae568c7e30e0a7b8d1bd77f8c4b7d7b8ce7b (patch) | |
tree | 14e4c08fb31df4412278a62a4bdf5f739be6d698 /gdb/testsuite/gdb.cp/cpexprs.exp.tcl | |
parent | aee9dcf8a836fe08e3d7f1b58a8b6dd2e16d9b68 (diff) | |
download | gdb-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.tcl | 3 |
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}] |