aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog8
-rw-r--r--gdb/testsuite/gdb.server/server-connect.exp7
-rw-r--r--gdb/testsuite/lib/gdbserver-support.exp16
3 files changed, 26 insertions, 5 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 83d5a4f..2acc1f7 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2019-09-19 Tom de Vries <tdevries@suse.de>
+
+ * lib/gdbserver-support.exp (gdb_target_cmd_ext): Return 2 (meaning
+ UNSUPPORTED) for 'Network is unreachable' message. Factor out of ...
+ (gdb_target_cmd): ... here.
+ * gdb.server/server-connect.exp: Use gdb_target_cmd_ext, handle return
+ value 2.
+
2019-09-18 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.base/source-dir.exp: Avoid having directory names in test
diff --git a/gdb/testsuite/gdb.server/server-connect.exp b/gdb/testsuite/gdb.server/server-connect.exp
index 682fdaa..e69f792 100644
--- a/gdb/testsuite/gdb.server/server-connect.exp
+++ b/gdb/testsuite/gdb.server/server-connect.exp
@@ -101,10 +101,13 @@ save_vars { GDB_TEST_SOCKETHOST } {
set gdbserver_gdbport [lindex $res 1]
set test "connect to gdbserver using $sockhost"
- if { [gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport] == 0 } {
+ set res [gdb_target_cmd_ext $gdbserver_protocol $gdbserver_gdbport]
+ if { $res == 0 } {
pass $test
- } else {
+ } elseif { $res == 1 } {
fail $test
+ } else {
+ unsupported $test
}
}
}
diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp
index ade99c0..2ad53c1 100644
--- a/gdb/testsuite/lib/gdbserver-support.exp
+++ b/gdb/testsuite/lib/gdbserver-support.exp
@@ -41,12 +41,13 @@
#
#
-# gdb_target_cmd
-# Send gdb the "target" command. Returns 0 on success, 1 on failure.
+# gdb_target_cmd_ext
+# Send gdb the "target" command. Returns 0 on success, 1 on failure, 2 on
+# unsupported.
# If specified, then ADDITIONAL_TEXT must match the text that comes after
# the connection message in order for the procedure to succeed.
#
-proc gdb_target_cmd { targetname serialport {additional_text ""} } {
+proc gdb_target_cmd_ext { targetname serialport {additional_text ""} } {
global gdb_prompt
set serialport_re [string_to_regexp $serialport]
@@ -97,6 +98,9 @@ proc gdb_target_cmd { targetname serialport {additional_text ""} } {
# Leave it there for the test to diagnose.
return 1
}
+ -re ": Network is unreachable.\r\n.*$gdb_prompt $" {
+ return 2
+ }
timeout {
send_gdb ""
break
@@ -106,6 +110,12 @@ proc gdb_target_cmd { targetname serialport {additional_text ""} } {
return 1
}
+# Like gdb_target_cmd_ext, but returns 0 on success, 1 on failure.
+
+proc gdb_target_cmd { $args } {
+ set res [gdb_target_cmd_ext $args]
+ return [expr $res == 0 ? 0 : 1]
+}
global portnum
set portnum "2345"