This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC] gdb.base/args.exp: Invoke gdb_load for simulator targets


I'm testing gdb against a simulator and I'm seeing the following in
the gdb.log output:

    (gdb) run
    Starting program: .../gdb/testsuite/gdb.base/args 1 3
    Don't know how to run.  Try "help target".
    (gdb) FAIL: gdb.base/args.exp: correct args printed

My first inclination was to simply skip this test for simulator
targets, but I decided that there's no reason not to run it.  I've
added a bit of code to invoke gdb_load for simulator targets and
wrapped it up in a proc so that it'll be easier to augment as other
targets are identified which can use a similar mechanism.

Comments?  (This is reasonably obvious, so I'll check this in a day or
so if there are no objections.)

	* gdb.base/args.exp: Invoke gdb_load for simulator targets. 
	Modify regexps to match extra output after program exit in a
	simulator.

Index: gdb.base/args.exp
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/testsuite/gdb.base/args.exp,v
retrieving revision 1.3
diff -u -p -r1.3 args.exp
--- args.exp	2003/03/27 22:01:24	1.3
+++ args.exp	2003/04/08 22:04:40
@@ -31,6 +31,15 @@ if [target_info exists noargs] {
     return;
 }
 
+# No loading needs to be done when the target is `exec'.  Some targets
+# require that the program be loaded, however.
+proc args_load {} {
+    global binfile
+    if [target_info exists is_simulator] {
+	gdb_load ${binfile}
+    }
+}
+
 set testfile "args"
 set srcfile ${testfile}.c
 set binfile ${objdir}/${subdir}/${testfile}
@@ -47,8 +56,9 @@ set GDBFLAGS "--args $binfile 1 3"
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
+args_load
 gdb_test "run" \
-	"Starting program.*args(\\.exe)? 1 3.*3\r\n.*args\r\n1\r\n3.*Program exited normally." \
+	"Starting program.*args(\\.exe)? 1 3.*3\r\n.*args\r\n1\r\n3.*Program exited normally.*" \
 	"correct args printed"
 
 #
@@ -58,8 +68,9 @@ set GDBFLAGS "--args $binfile 1 '' 3"
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
+args_load
 gdb_test "run" \
-	"Starting program.*args(\\.exe)? 1 \\\\'\\\\' 3.*4\r\n.*args\r\n1\r\n''\r\n3.*Program exited normally." \
+	"Starting program.*args(\\.exe)? 1 \\\\'\\\\' 3.*4\r\n.*args\r\n1\r\n''\r\n3.*Program exited normally.*" \
 	"correct args printed, one empty"
 
 #
@@ -69,8 +80,9 @@ set GDBFLAGS "--args $binfile 1 '' '' 3"
 gdb_exit
 gdb_start
 gdb_reinitialize_dir $srcdir/$subdir
+args_load
 gdb_test "run" \
-	"Starting program.*args(\\.exe)? 1 \\\\'\\\\' \\\\'\\\\' 3.*5\r\n.*args\r\n1\r\n''\r\n''\r\n3.*Program exited normally." \
+	"Starting program.*args(\\.exe)? 1 \\\\'\\\\' \\\\'\\\\' 3.*5\r\n.*args\r\n1\r\n''\r\n''\r\n3.*Program exited normally.*" \
 	"correct args printed, two empty"
 
 set GDBFLAGS $old_gdbflags


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]