This is the mail archive of the gdb-patches@sourceware.org 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]

handle gdb,noinferiorio in a couple of gdb.gdb/ tests


I'm applying this.

Skip unsupported functionality against extended-remote gdbserver.

Tested on x86_64 Fedora 16.

2012-02-02  Pedro Alves  <palves@redhat.com>

	* gdb.gdb/complaints.exp: Skip if gdb,noinferiorio is set.
	* gdb.gdb/selftest.exp (test_with_self): Handle gdb,noinferiorio.

---

diff --git a/gdb/testsuite/gdb.gdb/complaints.exp b/gdb/testsuite/gdb.gdb/complaints.exp
index 5ec02ff..97a3270 100644
--- a/gdb/testsuite/gdb.gdb/complaints.exp
+++ b/gdb/testsuite/gdb.gdb/complaints.exp
@@ -23,6 +23,11 @@ if { [is_remote target] || ![isnative] } then {
     return
 }

+if [target_info exists gdb,noinferiorio] {
+    verbose "Skipping because of no inferiorio capabilities."
+    return
+}
+
 proc setup_test { executable } {
     global gdb_prompt
     global timeout
diff --git a/gdb/testsuite/gdb.gdb/selftest.exp b/gdb/testsuite/gdb.gdb/selftest.exp
index 21798bc..1ffa945 100644
--- a/gdb/testsuite/gdb.gdb/selftest.exp
+++ b/gdb/testsuite/gdb.gdb/selftest.exp
@@ -394,19 +394,29 @@ proc test_with_self { executable } {
     }

     # start the "xgdb" process
-    gdb_test_multiple "continue" "xgdb is at prompt" {
-	-re "GNU gdb \[0-9\.\]*.*Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc.*License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.*This is free software: you are free to change and redistribute it.*There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\".*and \"show warranty\" for details.*This GDB was configured as .*$gdb_prompt $" {
-	    pass "xgdb is at prompt"
+    if [target_info exists gdb,noinferiorio] {
+	# Maybe testing with a local extended-remote gdbserver.  With
+	# no way to interact with inferior GDB, all we can do is let
+	# it run.
+	send_gdb "continue\n"
+	# Wait a bit while the inferior gdb gets to its prompt.
+	sleep 1
+    } else {
+	set test "xgdb is at prompt"
+	gdb_test_multiple "continue" $test {
+	    -re "GNU gdb \[0-9\.\]*.*Copyright \\(C\\) \[0-9\]* Free Software Foundation, Inc.*License GPLv3\\+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.*This is free software: you are free to change and redistribute it.*There is NO WARRANTY, to the extent permitted by law.  Type \"show copying\".*and \"show warranty\" for details.*This GDB was configured as .*$gdb_prompt $" {
+		pass $test
+	    }
 	}
-    }
-
-    # set xgdb prompt so we can tell which is which
-    gdb_test_multiple "set prompt (xgdb) " "Set xgdb_prompt" {
-	-re "\[(\]xgdb\[)\].*\[(\]xgdb\[)\] $" {
-	    pass "Set xgdb prompt"
+
+	# set xgdb prompt so we can tell which is which
+	gdb_test_multiple "set prompt (xgdb) " "Set xgdb_prompt" {
+	    -re "\[(\]xgdb\[)\].*\[(\]xgdb\[)\] $" {
+		pass "Set xgdb prompt"
+	    }
 	}
     }
-
+
     # kill the xgdb process
     set description "send ^C to child process"
     send_gdb "\003"


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