aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-10-13 11:25:42 +0100
committerPedro Alves <palves@redhat.com>2017-10-13 12:15:52 +0100
commitdf479dc6e045beb77052f96280798e48ee1feb6c (patch)
treed644ccd72e8a3741b5d27a3649ce8b84ed881519
parent23fb630af09f2601e7cb75233837399d67cfd017 (diff)
downloadgdb-df479dc6e045beb77052f96280798e48ee1feb6c.zip
gdb-df479dc6e045beb77052f96280798e48ee1feb6c.tar.gz
gdb-df479dc6e045beb77052f96280798e48ee1feb6c.tar.bz2
Tweak gdb.base/corefile.exp is_remote check
1. Otherwise, when we make native-gdbserver board no longer is_remote, we get: Running .../src/gdb/testsuite/gdb.base/corefile.exp ... ERROR: tcl error sourcing .../src/gdb/testsuite/gdb.base/corefile.exp. ERROR: gdbserver does not support attach 9327 without extended-remote while executing "error "gdbserver does not support $command without extended-remote"" That's fixed by using can_spawn_for_attach instead. 2. The gdb_protocol check fixes this current problem with --target_board=extended-remote-gdbserver: Running .../src/gdb/testsuite/gdb.base/corefile.exp ... FAIL: gdb.base/corefile.exp: run: with core FAIL: gdb.base/corefile.exp: run: core file is cleared FAIL: gdb.base/corefile.exp: attach: with core FAIL: gdb.base/corefile.exp: attach: core file is cleared gdb.log: (...) attach 10859 Don't know how to attach. Try "help target". (...) The fix for #2 alone would fix #1 too, but can_spawn_for_attach expresses the requirement directly, so I still left it there. gdb/testsuite/ChangeLog: 2017-10-13 Pedro Alves <palves@redhat.com> * gdb.base/corefile.exp (corefile_test_run): Skip if gdb_protocol is set. (corefile_test_attach): Likewise. Check can_spawn_for_attach instead of is_remote.
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.base/corefile.exp20
2 files changed, 26 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 117ab9b..3532ed3 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,12 @@
2017-10-13 Pedro Alves <palves@redhat.com>
+ * gdb.base/corefile.exp (corefile_test_run): Skip if gdb_protocol
+ is set.
+ (corefile_test_attach): Likewise. Check can_spawn_for_attach
+ instead of is_remote.
+
+2017-10-13 Pedro Alves <palves@redhat.com>
+
* gdb.base/remote.exp: Check gdb_protocol instead of is_remote.
(top level): Add comment.
diff --git a/gdb/testsuite/gdb.base/corefile.exp b/gdb/testsuite/gdb.base/corefile.exp
index 21b974f..9be4aef 100644
--- a/gdb/testsuite/gdb.base/corefile.exp
+++ b/gdb/testsuite/gdb.base/corefile.exp
@@ -188,6 +188,15 @@ gdb_test "core" "No core file now."
proc corefile_test_run {} {
global corefile gdb_prompt
+ # This test is trying to check whether the "run" command finds the
+ # default run target when already debugging a core, so it would
+ # fail on boards that set auto-connect-native-target off. Since
+ # there's no real point in running the test but with the native
+ # target, it's easier to just skip elsewhere.
+ if {[target_info gdb_protocol] != ""} {
+ return
+ }
+
gdb_test "core-file $corefile" "Core was generated by .*" "run: load core again"
gdb_test "info files" "\r\nLocal core dump file:\r\n.*" "run: sanity check we see the core file"
@@ -244,7 +253,16 @@ gdb_exit
proc corefile_test_attach {} {
global binfile corefile gdb_prompt
- if ![is_remote target] {
+ # This test is checking whether the "attach" command finds the
+ # default run target when already debugging a core, so it would
+ # fail on boards that set auto-connect-native-target off. Since
+ # there's no real point in running the test but with the native
+ # target, it's easier to just skip elsewhere.
+ if {[target_info gdb_protocol] != ""} {
+ return
+ }
+
+ if [can_spawn_for_attach] {
set test "attach: spawn sleep"
set res [remote_spawn host "$binfile sleep"]
if { $res < 0 || $res == "" } {