This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
add gdb_load_cmd to test harness
- From: Nathan Sidwell <nathan at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Date: Tue, 13 Jun 2006 14:12:15 +0100
- Subject: add gdb_load_cmd to test harness
This patch adds a gdb_load_cmd procedure to the test harness. It's useful to
have this as a separate component so that a target specific gdb_load procedure
can be built up. There are some instances in the testsuite/config directory
that could be simplified by using this -- I've not done so, because I cannot
easily test them.
ok?
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
2006-06-13 Nathan Sidwell <nathan@codesourcery.com>
gdb/testsuite/
* lib/gdb.exp (gdb_load_cmd): New.
Index: gdb/testsuite/lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.64.10.1
diff -c -3 -p -r1.64.10.1 gdb.exp
*** gdb/testsuite/lib/gdb.exp 7 Mar 2006 15:48:34 -0000 1.64.10.1
--- gdb/testsuite/lib/gdb.exp 13 Jun 2006 07:31:34 -0000
*************** proc gdb_exit { } {
*** 1867,1872 ****
--- 1867,1916 ----
}
#
+ # gdb_load_cmd -- load a file into the debugger.
+ # ARGS - additional args to load command.
+ # return a -1 if anything goes wrong.
+ #
+ proc gdb_load_cmd { args } {
+ global gdb_prompt
+
+ if [target_info exists gdb_load_timeout] {
+ set loadtimeout [target_info gdb_load_timeout]
+ } else {
+ set loadtimeout 1600
+ }
+ send_gdb "load $args\n"
+ verbose "Timeout is now $timeout seconds" 2
+ gdb_expect $loadtimeout {
+ -re "Loading section\[^\r\]*\r\n" {
+ exp_continue
+ }
+ -re "Start address\[\r\]*\r\n" {
+ exp_continue
+ }
+ -re "Transfer rate\[\r\]*\r\n" {
+ exp_continue
+ }
+ -re "Memory access error\[^\r\]*\r\n" {
+ perror "Failed to load program"
+ return -1
+ }
+ -re "$gdb_prompt $" {
+ return 0
+ }
+ -re "(.*)\r\n$gdb_prompt " {
+ perror "Unexpected reponse from 'load' -- $expect_out(1,string)"
+ return -1
+ }
+ timeout {
+ perror "Timed out trying to load $arg."
+ return -1
+ }
+ }
+ return -1
+ }
+
+ #
# gdb_load -- load a file into the debugger.
# Many files in config/*.exp override this procedure.
#