Eliminate is_remote check in gdb.base/scope.exp
authorPedro Alves <palves@redhat.com>
Fri, 13 Oct 2017 00:27:18 +0000 (01:27 +0100)
committerPedro Alves <palves@redhat.com>
Fri, 13 Oct 2017 00:27:18 +0000 (01:27 +0100)
commitf5ca00321dd8da526b8a6a894465bdc7a14d30ac
tree90d197fdc4601674f39d972a69fe3a93eb190b54
parent52a58c224d5d45cc6d7749e2d93827c218562a30
Eliminate is_remote check in gdb.base/scope.exp

This commit makes --target_board=native-gdbserver (and in principle
all other is_remote boards) pass all the same gdb.base/scope.exp tests
as native testing.

I first wrote the gdb.base/scope.exp change described in the ChangeLog
below and in the new comments in the patch, knowing that gdb_file_cmd
was the right thing to use here.

However, that revealed that the native-extended-gdbserver board should
be overriding gdb_file_cmd+gdb_reload instead of gdb_load, as is
hinted at by the comments on top of the default implementations in
testsuite/lib/gdb.exp, because otherwise a gdb_run_cmd after
gdb_file_cmd misses setting "set remote exec-file".  However, if we do
that and remove gdb_load, then we regress gdb.base/dbx.exp, so for now
keep the gdb_load override as well.

gdb/testsuite/ChangeLog:
2017-10-13  Pedro Alves  <palves@redhat.com>

* gdb.base/scope.exp: Use build_executable + clean_restart +
gdb_file_cmd instead of prepare_for_testing and no longer skip
"before run" tests on is_remote target boards.  Update comments.
* boards/native-extended-gdbserver.exp
(extended_gdbserver_load_last_file): New, factored out from ...
(gdb_load): ... this.  Move further below and add comment.
(extended_gdbserver_gdb_file_cmd, gdb_file_cmd, gdb_reload): New.
gdb/testsuite/ChangeLog
gdb/testsuite/boards/native-extended-gdbserver.exp
gdb/testsuite/gdb.base/scope.exp