[1/3,gdb/testsuite] Fix -wrap in presence of -prompt in gdb_test_multiple
Commit Message
While writing a gdb_test_multiple call in a test-case I tried to use -wrap in
combination with -prompt and found out that it doesn't work, because -wrap uses
"$gdb_prompt $" instead of $prompt_regexp.
Fix this by making -wrap use $prompt_regexp.
Tested on x86_64-linux.
---
gdb/testsuite/gdb.testsuite/gdb-test.exp | 11 +++++++++++
gdb/testsuite/lib/gdb.exp | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
@@ -48,3 +48,14 @@ with_test_prefix "cmd with trailing control code" {
gdb_assert { [string equal $output $expected_error_msg] }
}
}
+
+# Change the prompt.
+set prompt "(GDB) "
+set prompt_re "\\(GDB\\) $"
+gdb_test -prompt $prompt_re "set prompt $prompt"
+
+gdb_test_multiple "print 1" "" -prompt $prompt_re {
+ -re -wrap " = 1" {
+ pass $gdb_test_name
+ }
+}
@@ -1126,7 +1126,7 @@ proc gdb_test_multiple { command message args } {
if { $wrap_pattern } {
# Wrap subst_item as is done for the gdb_test PATTERN argument.
lappend $current_list \
- "\[\r\n\]*(?:$subst_item)\[\r\n\]+$gdb_prompt $"
+ "\[\r\n\]*(?:$subst_item)\[\r\n\]+$prompt_regexp"
set wrap_pattern 0
} else {
lappend $current_list $subst_item