aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-12-02 22:35:17 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-12-02 22:35:17 +0000
commit05acf2749697518bdc83f3051e876e5fbe90fd12 (patch)
treeb9864a4cd97940289c5513347ff51f9a3b0aecc9
parent2268b414f486239cbcc0f756f157c3e03599efac (diff)
downloadgdb-05acf2749697518bdc83f3051e876e5fbe90fd12.zip
gdb-05acf2749697518bdc83f3051e876e5fbe90fd12.tar.gz
gdb-05acf2749697518bdc83f3051e876e5fbe90fd12.tar.bz2
gdb/testsuite/
Fix gdb.mi/mi-solib.exp without system debug info installed. * lib/mi-support.exp (mi_expect_stop): Accept FILE also for `from' expect attribute, return 0 for it. Update comments.
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/lib/mi-support.exp24
2 files changed, 21 insertions, 9 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index a1d6ab0..8b291cb 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2011-12-02 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Fix gdb.mi/mi-solib.exp without system debug info installed.
+ * lib/mi-support.exp (mi_expect_stop): Accept FILE also for `from'
+ expect attribute, return 0 for it. Update comments.
+
+2011-12-02 Jan Kratochvil <jan.kratochvil@redhat.com>
+
* gdb.base/solib-corrupted.exp: Suppress test on is_remote target.
(corrupted list): Adjust the expectation.
diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index 0e28bfa..32949fa 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -981,9 +981,10 @@ proc mi_detect_async {} {
# Wait for MI *stopped notification to appear.
# The REASON, FUNC, ARGS, FILE and LINE are regular expressions
-# to match against whatever is output in *stopped. ARGS should
-# not include [] the list of argument is enclosed in, and other
-# regular expressions should not include quotes.
+# to match against whatever is output in *stopped. FILE may also match
+# filename of a file without debug info. ARGS should not include [] the
+# list of argument is enclosed in, and other regular expressions should
+# not include quotes.
# If EXTRA is a list of one element, it's the regular expression
# for output expected right after *stopped, and before GDB prompt.
# If EXTRA is a list of two elements, the first element is for
@@ -991,9 +992,10 @@ proc mi_detect_async {} {
# right after reason field. The regex after reason should not include
# the comma separating it from the following fields.
#
-# When we fail to match output at all, -1 is returned. Otherwise,
-# the line at which we stop is returned. This is useful when exact
-# line is not possible to specify for some reason -- one can pass
+# When we fail to match output at all, -1 is returned. If FILE does
+# match and the target system has no debug info for FILE return 0.
+# Otherwise, the line at which we stop is returned. This is useful when
+# exact line is not possible to specify for some reason -- one can pass
# the .* or "\[0-9\]*" regexps for line, and then check the line
# programmatically.
#
@@ -1067,11 +1069,15 @@ proc mi_expect_stop { reason func args file line extra test } {
set any "\[^\n\]*"
- verbose -log "mi_expect_stop: expecting: \\*stopped,${r}${a}${bn}frame=\{addr=\"$hex\",func=\"$func\",args=$args,file=\"$any$file\",fullname=\"${fullname_syntax}$file\",line=\"$line\"\}$after_stopped,thread-id=\"$decimal\",stopped-threads=$any\r\n($thread_selected_re|$breakpoint_re)*$prompt_re"
+ verbose -log "mi_expect_stop: expecting: \\*stopped,${r}${a}${bn}frame=\{addr=\"$hex\",func=\"$func\",args=$args,(?:file=\"$any$file\",fullname=\"${fullname_syntax}$file\",line=\"$line\"|from=\"$file\")\}$after_stopped,thread-id=\"$decimal\",stopped-threads=$any\r\n($thread_selected_re|$breakpoint_re)*$prompt_re"
gdb_expect {
- -re "\\*stopped,${r}${a}${bn}frame=\{addr=\"$hex\",func=\"$func\",args=$args,file=\"$any$file\",fullname=\"${fullname_syntax}$file\",line=\"($line)\"\}$after_stopped,thread-id=\"$decimal\",stopped-threads=$any\r\n($thread_selected_re|$breakpoint_re)*$prompt_re" {
+ -re "\\*stopped,${r}${a}${bn}frame=\{addr=\"$hex\",func=\"$func\",args=$args,(?:file=\"$any$file\",fullname=\"${fullname_syntax}$file\",line=\"($line)\"|from=\"$file\")\}$after_stopped,thread-id=\"$decimal\",stopped-threads=$any\r\n($thread_selected_re|$breakpoint_re)*$prompt_re" {
pass "$test"
- return $expect_out(2,string)
+ if {[array names expect_out "2,string"] != ""} {
+ return $expect_out(2,string)
+ }
+ # No debug info available but $file does match.
+ return 0
}
-re "\\*stopped,${r}${a}${bn}frame=\{addr=\"$hex\",func=\"$any\",args=\[\\\[\{\]$any\[\\\]\}\],file=\"$any\",fullname=\"${fullname_syntax}$any\",line=\"\[0-9\]*\"\}$after_stopped,thread-id=\"$decimal\",stopped-threads=$any\r\n($thread_selected_re|$breakpoint_re)*$prompt_re" {
verbose -log "got $expect_out(buffer)"