aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2023-03-24 10:45:37 +0100
committerTom de Vries <tdevries@suse.de>2023-03-24 10:45:37 +0100
commitc569a946f6925d3f210c3eaf74dcda56843350ef (patch)
tree810910c33bbc22a669a7d72df325cc48f0923e1a
parent1985d8cb7048bcfce60b59cfe219d3b09bda6373 (diff)
downloadbinutils-c569a946f6925d3f210c3eaf74dcda56843350ef.zip
binutils-c569a946f6925d3f210c3eaf74dcda56843350ef.tar.gz
binutils-c569a946f6925d3f210c3eaf74dcda56843350ef.tar.bz2
[gdb/testsuite] Fix unbalanced quotes in mi_expect_stop argument
In proc mi_expect_stop there's a proc argument reason that's handled like so: ... set r "reason=\"$reason\"," ... That's fine for say: ... set reason "foo" ... for which this evaluates to: ... set r "reason=\"foo\"," ... But there are more complex uses, for instance: ... set reason "breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal" ... which evaluates to: ... set r "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\"" ... Note how in this reason argument, the first two '\"' seems to form a pair surrounding ',disp=', which is not the case, which is confusing. Fix this by only adding the quotes in mi_expect_stop if the string doesn't already contain quotes, such that we have the more readable: ... set reason "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\"" ... Tested on x86_64-linux.
-rw-r--r--gdb/testsuite/gdb.ada/mi_catch_assert.exp2
-rw-r--r--gdb/testsuite/gdb.ada/mi_catch_ex.exp8
-rw-r--r--gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp4
-rw-r--r--gdb/testsuite/gdb.ada/mi_ex_cond.exp2
-rw-r--r--gdb/testsuite/lib/mi-support.exp6
5 files changed, 13 insertions, 9 deletions
diff --git a/gdb/testsuite/gdb.ada/mi_catch_assert.exp b/gdb/testsuite/gdb.ada/mi_catch_assert.exp
index e0d5439..c3673fa 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_assert.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_assert.exp
@@ -79,7 +79,7 @@ mi_gdb_test "-catch-assert -c \"Global_Var = 2\"" \
set bp_location [gdb_get_line_number "STOP" ${testdir}/bla.adb]
mi_execute_to "exec-continue" \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\"" \
"bla" "" ".*" "$bp_location" \
".*" \
"continue to assert failure catchpoint hit"
diff --git a/gdb/testsuite/gdb.ada/mi_catch_ex.exp b/gdb/testsuite/gdb.ada/mi_catch_ex.exp
index 6a0f94a..d0dfbd5 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_ex.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_ex.exp
@@ -92,7 +92,7 @@ proc continue_to_exception { exception_name exception_message test } {
# Now MI stream output.
mi_expect_stop \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"$exception_name\(\",exception-message=\"$exception_message\)?" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"$exception_name\(\",exception-message=\"$exception_message\)?\"" \
"foo" "" ".*" ".*" \
".*" \
$test
@@ -140,19 +140,19 @@ mi_gdb_test "-catch-exception -u" \
"catch unhandled exceptions"
mi_execute_to "exec-continue" \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"PROGRAM_ERROR(\",exception-message=\"foo\\.adb:$decimal explicit raise)?" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"PROGRAM_ERROR(\",exception-message=\"foo\\.adb:$decimal explicit raise)?\"" \
"foo" "" ".*" ".*" \
".*" \
"continue to exception catchpoint hit"
mi_execute_to "exec-continue" \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\"" \
"foo" "" ".*" ".*" \
".*" \
"continue to assert failure catchpoint hit"
mi_execute_to "exec-continue" \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"CONSTRAINT_ERROR" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"CONSTRAINT_ERROR\"" \
"foo" "" ".*" ".*" \
".*" \
"continue to unhandled exception catchpoint hit"
diff --git a/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp b/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
index 82c7b2a..2cd175f 100644
--- a/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
+++ b/gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp
@@ -82,7 +82,7 @@ proc continue_to_exception_handler { test line } {
# Now MI stream output.
mi_expect_stop \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\",exception-name=\"exception\"?" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\",exception-name=\"exception\"" \
"foo" "" ".*" "$line" \
".*" \
$test
@@ -125,7 +125,7 @@ mi_gdb_test "-catch-handlers -e Constraint_Error" \
"catch Constraint_Error"
mi_execute_to "exec-continue" \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\",exception-name=\"exception\"?" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$decimal\",exception-name=\"exception\"" \
"foo" "" ".*" "$bp_ce_location" \
".*" \
"continue to exception catchpoint hit"
diff --git a/gdb/testsuite/gdb.ada/mi_ex_cond.exp b/gdb/testsuite/gdb.ada/mi_ex_cond.exp
index f41b633..54aa6b5 100644
--- a/gdb/testsuite/gdb.ada/mi_ex_cond.exp
+++ b/gdb/testsuite/gdb.ada/mi_ex_cond.exp
@@ -77,7 +77,7 @@ mi_gdb_test "-catch-exception -c \"i = 2\" -e constraint_error" \
mi_run_cmd
mi_expect_stop \
- "breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"CONSTRAINT_ERROR(\",exception-message=\"foo\\.adb:$decimal explicit raise)?" \
+ "\"breakpoint-hit\",disp=\"keep\",bkptno=\"$any_nb\",exception-name=\"CONSTRAINT_ERROR(\",exception-message=\"foo\\.adb:$decimal explicit raise)?\"" \
"foo" "" ".*" ".*" \
".*" \
"run to exception catchpoint hit"
diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index 3c2dd2f..c738b7b 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -1267,7 +1267,11 @@ proc mi_expect_stop { reason func args file line extra test } {
set r ""
if { $reason != "" } {
- set r "reason=\"$reason\","
+ if { [regexp {"} $reason] } {
+ set r "reason=$reason,"
+ } else {
+ set r "reason=\"$reason\","
+ }
}