mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
[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.
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
2019-09-19 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* lib/gdb.exp (gdb_test): Eliminate "^FOOBAR$" pattern.
|
||||
|
||||
2019-09-19 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* lib/gdbserver-support.exp (gdb_target_cmd): Fix argument passing.
|
||||
|
@ -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.
|
||||
|
Reference in New Issue
Block a user