RFA: parse output from `info sources' one filename at a time
Jim Blandy
jimb@zwingli.cygnus.com
Wed Feb 13 16:10:00 GMT 2002
This eliminates an `ERROR' when the test is run under Linux. The
output from `info sources' includes all the shared library source
files, making it so long that it overflows Expect's buffer.
2002-02-13 Jim Blandy <jimb@redhat.com>
* gdb.asm/asm-source.exp: Parse the output from `info sources' one
filename at a time, and watch for the ones we want to see.
Index: gdb/testsuite/gdb.asm/asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.17
diff -c -r1.17 asm-source.exp
*** gdb/testsuite/gdb.asm/asm-source.exp 2002/01/18 00:13:00 1.17
--- gdb/testsuite/gdb.asm/asm-source.exp 2002/02/14 00:05:30
***************
*** 202,211 ****
"Current source file is .*asmsrc2.s.*Source language is asm.*" \
"info source asmsrc2.s"
! # Try 'info sources'
! gdb_test "info sources" \
! "Source files .*asmsrc\[12\].s.*asmsrc\[12\].s.*" \
! "info sources"
# Try 'info line'
gdb_test "info line" \
--- 202,238 ----
"Current source file is .*asmsrc2.s.*Source language is asm.*" \
"info source asmsrc2.s"
! # Try 'info sources'. This can produce a lot of output on systems
! # with dynamic linking, where the system's shared libc was compiled
! # with debugging info; for example, on Linux, this produces 47kb of
! # output. So we consume it as we go.
! send_gdb "info sources\n"
! set seen_asmsrc_1 0
! set seen_asmsrc_2 0
! gdb_expect {
! -re "^\[^,\]*asmsrc1.s(, |\[\r\n\]+)" {
! set seen_asmsrc_1 1
! exp_continue
! }
! -re "^\[^,\]*asmsrc2.s(, |\[\r\n\]+)" {
! set seen_asmsrc_2 1
! exp_continue
! }
! -re ", " {
! exp_continue
! }
! -re "$gdb_prompt $" {
! if {$seen_asmsrc_1 && $seen_asmsrc_2} {
! pass "info sources"
! } else {
! fail "info sources"
! }
! }
! timeout {
! fail "info sources (timeout)"
! }
! }
!
# Try 'info line'
gdb_test "info line" \
More information about the Gdb-patches
mailing list