[binutils-gdb] gdb/testsuite: fix gdb.mi/mi-condbreak-throw.exp failure
Andrew Burgess
aburgess@sourceware.org
Fri Sep 8 10:02:11 GMT 2023
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=932a49fff332ba4921dc9e38cf45bf65a301f2c6
commit 932a49fff332ba4921dc9e38cf45bf65a301f2c6
Author: Andrew Burgess <aburgess@redhat.com>
Date: Fri Sep 8 10:45:08 2023 +0100
gdb/testsuite: fix gdb.mi/mi-condbreak-throw.exp failure
In commit:
commit 3ce8f906be7a55d8c0375e6d360cc53b456d86ae
Date: Tue Aug 8 10:45:20 2023 +0100
gdb: MI stopped events when unwindonsignal is on
a new test, gdb.mi/mi-condbreak-throw.exp, was added. Unfortunately,
this test would fail when using the native-gdbserver board (and other
similar boards).
The problem was that one of the expected output patterns included some
output from the inferior. When using the native-gdbserver board, this
output is not printed to GDB's tty, but is instead printed to
gdbserver's tty, the result is that the expected output no longer
matches, and the test fails.
Additionally, as the output is actually from the C++ runtime, rather
than the test's source file, changes to the C++ runtime could cause
the output to change.
To solve both of these issues, in this commit, I'm removing the
reference to the inferior's output, and replacing it with '.*', which
will skip the output if it is present, but is equally happy if the
output is not present.
After this commit gdb.mi/mi-condbreak-throw.exp now passes on all
boards, including native-gdbserver.
Diff:
---
gdb/testsuite/gdb.mi/mi-condbreak-throw.exp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp b/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp
index 4151fa18395..7f291244e53 100644
--- a/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp
+++ b/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp
@@ -97,8 +97,7 @@ proc run_test { unwind_on_exception } {
mi_gdb_test "" \
[multi_line \
- "terminate called after throwing an instance of 'int'" \
- "~\"\\\\nProgram\"" \
+ ".*~\"\\\\nProgram\"" \
"~\" received signal SIGABRT, Aborted\\.\\\\n\"${out_ln_re}" \
"\\*stopped,reason=\"signal-received\",signal-name=\"SIGABRT\"\[^\r\n\]+frame=\\{addr=\"$::hex\",\[^\r\n\]+\\}\[^\r\n\]+" \
"&\"Error in testing condition for breakpoint $bpnum:\\\\n\"" \
More information about the Gdb-cvs
mailing list