Fix gdb.base/remote.exp with native-extended-gdbserver board
authorPedro Alves <palves@redhat.com>
Tue, 22 May 2018 22:26:46 +0000 (23:26 +0100)
committerPedro Alves <palves@redhat.com>
Tue, 22 May 2018 22:26:46 +0000 (23:26 +0100)
This fixes gdb.base/remote.exp regressions caused by the previous
commit to the testcase, when tested with
--target_board=native-extended-gdbserver.  For example:

  ...
  show remote memory-write-packet-size
  The memory-write-packet-size is 0 (default). Packets are limited to 16383 bytes.
  (gdb) FAIL: gdb.base/remote.exp: write-packet default
  ...

With that board, GDB connects to GDBserver at gdb_start time, so GDB
is showing the actual remote/gdbserver packet size limits.

Fix it using the usual "disconnect" pattern.  While at it, there's no
need to start GDB before compiling the testcase.

gdb/testsuite/ChangeLog:
2018-05-22  Pedro Alves  <palves@redhat.com>

* gdb.base/remote.exp: Only gdb_start after compiling the
testcase.  Issue "disconnect" before testing "set remote" command
defaults.  Issue clean_restart before running to main.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/remote.exp

index 25df82b4e7c06c57b32c15b77e2b9f74a24cd46d..24955f65307ebd20e49cfb5aeaef2d2ef9298313 100644 (file)
@@ -1,3 +1,9 @@
+2018-05-22  Pedro Alves  <palves@redhat.com>
+
+       * gdb.base/remote.exp: Only gdb_start after compiling the
+       testcase.  Issue "disconnect" before testing "set remote" command
+       defaults.  Issue clean_restart before running to main.
+
 2018-05-22  Pedro Alves  <palves@redhat.com>
 
        * gdb.base/remote.exp: Adjust expected output of "show remote
index ba34441af29b856cdba8f571fcce7383bc20d359..edcfac824f101a57f56235093646bddc34a801e9 100644 (file)
@@ -21,14 +21,17 @@ if {[target_info gdb_protocol] != "remote"
 
 standard_testfile .c
 
-gdb_start
-
 set result [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}]
 if {$result != "" } then {
     untested "failed to compile"
     return -1
 }
 
+gdb_start
+
+# Make sure we're disconnected, in case we're testing with an
+# extended-remote board, therefore already connected.
+gdb_test "disconnect" ".*"
 
 #
 # Part ONE: Check the down load commands
@@ -126,6 +129,8 @@ proc gdb_load_timed {executable class writesize} {
     pass $test
 }
 
+clean_restart $binfile
+
 # These download tests won't actually download anything on !is_remote
 # target boards, but we run them anyway because it's simpler, and
 # harmless.