diff options
author | Tom de Vries <tdevries@suse.de> | 2019-09-19 19:54:15 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2019-09-19 19:54:15 +0200 |
commit | e452e88f54624ae55d534c4ae32e0c768cb4b59f (patch) | |
tree | 4e03a8fdd9128df26846802e823bf146ae0bc3ea /gdb/testsuite/lib | |
parent | f64e2f4045485f99b4ce6649fdab874dacccd5a6 (diff) | |
download | gdb-e452e88f54624ae55d534c4ae32e0c768cb4b59f.zip gdb-e452e88f54624ae55d534c4ae32e0c768cb4b59f.tar.gz gdb-e452e88f54624ae55d534c4ae32e0c768cb4b59f.tar.bz2 |
[gdb/testsuite] Don't use FOOBAR pattern in gdb_test
If gdb_test is used with fewer than five arguments, then the question_string
defaults to "^FOOBAR$":
...
if [llength $args]==5 {
set question_string [lindex $args 3]
set response_string [lindex $args 4]
} else {
set question_string "^FOOBAR$"
}
...
This can however match "FOOBAR", so perhaps "\$FOOBAR^" would have been a
better choice.
Eliminate the FOOBAR pattern from gdb_test by instead of defining a default
regexp, conditionally appending the regexp matching to a user_code variable.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2019-09-19 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (gdb_test): Eliminate "^FOOBAR$" pattern.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index acbeb01..3a1f053 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1083,24 +1083,28 @@ proc gdb_test { args } { set command [lindex $args 0] set pattern [lindex $args 1] - if [llength $args]==5 { - set question_string [lindex $args 3] - set response_string [lindex $args 4] - } else { - set question_string "^FOOBAR$" - } - - return [gdb_test_multiple $command $message { + set user_code {} + lappend user_code { -re "\[\r\n\]*(?:$pattern)\[\r\n\]+$gdb_prompt $" { if ![string match "" $message] then { pass "$message" } } - -re "(${question_string})$" { - send_gdb "$response_string\n" - exp_continue + } + + if { [llength $args] == 5 } { + set question_string [lindex $args 3] + set response_string [lindex $args 4] + lappend user_code { + -re "(${question_string})$" { + send_gdb "$response_string\n" + exp_continue + } } - }] + } + + set user_code [join $user_code] + return [gdb_test_multiple $command $message $user_code] } # Return 1 if version MAJOR.MINOR is at least AT_LEAST_MAJOR.AT_LEAST_MINOR. |