[gdb/testsuite] Fix gdb.base/batch-exit-status.exp with native-gdbserver
authorTom de Vries <tdevries@suse.de>
Wed, 13 Oct 2021 09:06:36 +0000 (11:06 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 13 Oct 2021 09:06:36 +0000 (11:06 +0200)
When running test-case gdb.base/batch-exit-status.exp with target board
native-gdbserver, I run into (added missing double quotes for clarity):
...
builtin_spawn $build/gdb/testsuite/../../gdb/gdb -nw -nx \
  -data-directory $build/gdb/testsuite/../data-directory \
  -iex "set height 0" -iex "set width 0" \
  -ex "set auto-connect-native-target off" \
  -iex "set sysroot" -batch ""^M
: No such file or directory.^M
PASS: gdb.base/batch-exit-status.exp: 1x: \
  No such file or directory: [lindex $result 2] == 0
FAIL: gdb.base/batch-exit-status.exp: 1x: \
  No such file or directory: [lindex $result 3] == $expect_status
...

As in commit a02a90c114c "[gdb/testsuite] Set sysroot earlier in
local-board.exp", the problem is the use of -ex for
"set auto-connect-native-target off", which makes that the last command to
be executed, and consequently determines the return status.

Fix this by using -iex instead.

Tested on x86_64-linux.

gdb/testsuite/boards/gdbserver-base.exp

index 03bdffeb8f88aa40f81d65a7dbe4a0984595b0b5..8939b8c4b1221a96590bb050e578dab2ce9526b6 100644 (file)
@@ -31,4 +31,4 @@ set_board_info gdb,nofileio 1
 # The predefined TSVs in GDBserver.
 set_board_info gdb,predefined_tsv "\\\$trace_timestamp"
 
-set GDBFLAGS "${GDBFLAGS} -ex \"set auto-connect-native-target off\""
+set GDBFLAGS "${GDBFLAGS} -iex \"set auto-connect-native-target off\""