diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-12-02 22:35:17 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2011-12-02 22:35:17 +0000 |
commit | 05acf2749697518bdc83f3051e876e5fbe90fd12 (patch) | |
tree | b9864a4cd97940289c5513347ff51f9a3b0aecc9 | |
parent | 2268b414f486239cbcc0f756f157c3e03599efac (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/lib/mi-support.exp | 24 |
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)" |