forked from Imagelibrary/binutils-gdb
gdb/testsuite: Fix broken regexp in gdbstub case
When $use_gdb_stub is true then, when we start an MI target there's a
regexp to match GDB's startup pattern. Unfortunately the pattern is
broken, and we're also missing a timeout case in the match list (which
would have helped point out that the regexp was broken).
The changes to the regexp are:
1. Remove '${run_match}' prefix, the issued command doesn't include
'${run_prefix}' so expecting '${run_match}' is wrong.
2. Replaced '\\n' with '\\\\n' in order to match literal '\n' in
GDBs output (that is, match a backslash followed by 'n', not a
newline character).
3. Replaced a '.' (matching any character) with '\.' to match a '.'
and moved the '\.' into the correct place in the regexp.
4. Replaced '\r\n' with '[\r\n]+' to match the end of a line. This
change isn't esential, but matches the other end of line patterns
within this regexp.
Here's an example of the output that the regexp should match taken
from a testfile log, the first line is the command sent to GDB, and
the remaining lines are the response from GDB:
jump *_start
&"jump *_start\n"
~"Continuing at 0x10074.\n"
^running
*running,thread-id="all"
(gdb)
gdb/testsuite/ChangeLog:
* lib/mi-support.exp (mi_run_cmd_full): Fix regexp and add a
timeout.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2018-05-04 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* lib/mi-support.exp (mi_run_cmd_full): Fix regexp and add a
|
||||
timeout.
|
||||
|
||||
2018-05-03 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* gdb.base/callfuncs.exp (fetch_all_registers): Add riscv register
|
||||
|
||||
@@ -979,7 +979,11 @@ proc mi_run_cmd_full {use_mi_command args} {
|
||||
send_gdb "jump *$start\n"
|
||||
warning "Using CLI jump command, expect run-to-main FAIL"
|
||||
gdb_expect {
|
||||
-re "${run_match}&\"jump \\*${start}\\n\"\[\r\n\]+~\"Continuing at 0x\[0-9A-Fa-f\]+\\n.\"\[\r\n\]+\^running\[\r\n\]+\\*running,thread-id=\"\[^\"\]+\"\r\n${mi_gdb_prompt}" {}
|
||||
-re "&\"jump \\*${start}\\\\n\"\[\r\n\]+~\"Continuing at 0x\[0-9A-Fa-f\]+\.\\\\n\"\[\r\n\]+\\^running\[\r\n\]+\\*running,thread-id=\"\[^\"\]+\"\[\r\n\]+${mi_gdb_prompt}" {}
|
||||
timeout {
|
||||
perror "Unable to start target"
|
||||
return -1
|
||||
}
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user