[RFA/testsuite] Regexp-escape command in capture_command_output
Keith Seitz
keiths@redhat.com
Thu Jun 11 20:10:00 GMT 2015
On 06/11/2015 12:09 PM, Sergio Durigan Junior wrote:
>>> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
>>> index 73e55e3..fe7dd60 100644
>>> --- a/gdb/testsuite/lib/gdb.exp
>>> +++ b/gdb/testsuite/lib/gdb.exp
>>> @@ -5185,7 +5185,7 @@ proc capture_command_output { command prefix } {
>>>
>>> set output_string ""
>>> gdb_test_multiple "$command" "capture_command_output for $command" {
>>> - -re "${command}\[\r\n\]+${prefix}(.*)\[\r\n\]+$gdb_prompt $" {
>>> + -re "[string_to_regexp ${command}]\[\r\n\]+${prefix}(.*)\[\r\n\]+$gdb_prompt $" {
>>> set output_string $expect_out(1,string)
>
> The patch looks correct, but shouldn't we convert ${prefix} to regexp as
> well?
Actually, no, we shouldn't. Prefix is supposed to be a regexp that
expect can grok. Much of the test suite already relies on this; in
gdb.base/completion.exp:
set regs_output [capture_command_output "mt print registers" \
".*Name.*Nr.*Rel.*Offset.*Size.*Type.\[^\n\]*\n"]
Keith
More information about the Gdb-patches
mailing list