aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2018-03-15 19:41:50 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2018-05-04 11:11:45 +0100
commit089a949083dcd5c679376033e975d54093007408 (patch)
treefb5517fb4156537136e1f79b43cf223cd0b28064 /gdb
parent602f16570454a1597c2af28af66852133432d1f2 (diff)
downloadgdb-089a949083dcd5c679376033e975d54093007408.zip
gdb-089a949083dcd5c679376033e975d54093007408.tar.gz
gdb-089a949083dcd5c679376033e975d54093007408.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/mi-support.exp6
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 188e6b1..a66b8cc 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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
diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index 2846da7..851e490 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -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
}