mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-02-23 13:21:43 +08:00
[gdb/testsuite] Fix gdb.mi/gdb2549.exp with check-read1
When running gdb.mi/gdb2549.exp with check-read1, we get: ... Running src/gdb/testsuite/gdb.mi/gdb2549.exp ... FAIL: gdb.mi/gdb2549.exp: register values t (timeout) ... The problem is that the command generates a lot of output, which is matched by a single '.*': ... mi_gdb_test "666-data-list-register-values t" \ "666\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$binary\"\}.*\\\]" \ "register values t" ... Fix this by splitting up the matching and calling exp_continue after each number/value pair. Tested on x86_64-linux with make targets check and check-read1. gdb/testsuite/ChangeLog: 2020-03-03 Tom de Vries <tdevries@suse.de> * gdb.mi/gdb2549.exp: Fix "register values t" check-read1 timeout.
This commit is contained in:
parent
1ef44e861d
commit
478e490a4d
@ -1,3 +1,7 @@
|
||||
2020-03-03 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.mi/gdb2549.exp: Fix "register values t" check-read1 timeout.
|
||||
|
||||
2020-03-03 Tom de Vries <tdevries@suse.de>
|
||||
|
||||
* gdb.mi/list-thread-groups-available.exp: Use -prompt syntax for
|
||||
|
@ -51,6 +51,7 @@ proc register_tests_no_exec { } {
|
||||
proc register_tests { } {
|
||||
global hex
|
||||
global decimal
|
||||
global mi_gdb_prompt
|
||||
set octal "\[0-7\]+"
|
||||
set binary "\[0-1\]+"
|
||||
set float "\\-?((\[0-9\]+(\\.\[0-9\]+)?(e\[-+\]\[0-9\]+)?)|(nan\\($hex\\)))"
|
||||
@ -71,9 +72,35 @@ proc register_tests { } {
|
||||
"555\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$octal\"\}.*\\\]" \
|
||||
"register values o"
|
||||
|
||||
mi_gdb_test "666-data-list-register-values t" \
|
||||
"666\\^done,register-values=\\\[\{number=\"$decimal\",value=\"$binary\"\}.*\\\]" \
|
||||
"register values t"
|
||||
set cmd "666-data-list-register-values t"
|
||||
set test "register values t"
|
||||
set state 0
|
||||
gdb_test_multiple $cmd $test -prompt "$mi_gdb_prompt$" {
|
||||
-re "666\\^done,register-values=\\\[" {
|
||||
if { $state == 0 } {
|
||||
set state 1
|
||||
exp_continue
|
||||
}
|
||||
fail $gdb_test_name
|
||||
}
|
||||
-re "\{number=\"$decimal\",value=\"$binary\"\}" {
|
||||
if { $state != 0 } {
|
||||
set state 2
|
||||
exp_continue
|
||||
}
|
||||
fail $gdb_test_name
|
||||
}
|
||||
-re "\{number=\"$decimal\",value=\"\[^\"\]*\"\}" {
|
||||
exp_continue
|
||||
}
|
||||
-re "\]\r\n$mi_gdb_prompt$" {
|
||||
if { $state == 2 } {
|
||||
pass $gdb_test_name
|
||||
} else {
|
||||
fail $gdb_test_name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
register_tests_no_exec
|
||||
|
Loading…
Reference in New Issue
Block a user