aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib/gdb.exp
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/lib/gdb.exp')
-rw-r--r--gdb/testsuite/lib/gdb.exp50
1 files changed, 28 insertions, 22 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index cb277be..3e71adc 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1105,38 +1105,44 @@ proc gdb_expect { args } {
proc gdb_expect_list {test sentinal list} {
global gdb_prompt
set index 0
- while { ${index} >= 0 && ${index} < [llength ${list}] } {
+ set ok 1
+ while { ${index} < [llength ${list}] } {
set pattern [lindex ${list} ${index}]
set index [expr ${index} + 1]
if { ${index} == [llength ${list}] } {
- gdb_expect {
- -re "${pattern}${sentinal}" {
- pass "${test} (sentinal)"
- }
- timeout {
- fail "(timeout on sentinal) ${test}"
- set index -1
+ if { ${ok} } {
+ gdb_expect {
+ -re "${pattern}${sentinal}" {
+ pass "${test}, pattern ${index} + sentinal"
+ }
+ timeout {
+ fail "${test}, pattern ${index} + sentinal (timeout)"
+ set ok 0
+ }
}
+ } else {
+ fail "${test}, pattern ${index} + sentinal"
}
} else {
- gdb_expect {
- -re "${pattern}" {
- pass "${test} (line ${index})"
- }
- -re "${sentinal}" {
- fail "${test} (line ${index})"
- set index -1
- }
- timeout {
- fail "(timeout on line ${index}) ${test}"
- set index -1
+ if { ${ok} } {
+ gdb_expect {
+ -re "${pattern}" {
+ pass "${test}, pattern ${index}"
+ }
+ -re "${sentinal}" {
+ fail "${test}, pattern ${index}"
+ set ok 0
+ }
+ timeout {
+ fail "${test}, pattern ${index} (timeout)"
+ set ok 0
+ }
}
+ } else {
+ fail "${test}, pattern ${index}"
}
}
}
- if { ${index} >= 0 } {
- pass "${test}"
- }
}
#