Skip a few tests on targets that can't use the "run" commmand.
authorPedro Alves <palves@redhat.com>
Thu, 12 Oct 2017 17:20:25 +0000 (18:20 +0100)
committerPedro Alves <palves@redhat.com>
Fri, 13 Oct 2017 17:11:31 +0000 (18:11 +0100)
These tests want to use raw "run", so skip them on targets that can't
do that.

Also adds a small utility procedure that clearly conveys intent instead of
explicitly checking use_gdb_stub in the testcases.

This makes sure these testcases continue to be skipped with
--target_board=native-gdbserver once that board stops setting
is_remote.

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

* lib/gdb.exp (target_can_use_run_cmd): New procedure.
* gdb.base/annota1.exp: Use it instead of is_remote.
* gdb.base/annota3.exp: Use it instead of is_remote.
* gdb.cp/annota2.exp: Use it instead of is_remote.
* gdb.cp/annota3.exp: Use it instead of is_remote.
* gdb.multi/bkpt-multi-exec.exp: Use it instead of is_remote.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/annota1.exp
gdb/testsuite/gdb.base/annota3.exp
gdb/testsuite/gdb.cp/annota2.exp
gdb/testsuite/gdb.cp/annota3.exp
gdb/testsuite/gdb.multi/bkpt-multi-exec.exp
gdb/testsuite/lib/gdb.exp

index e6fc382f0239e7e3375e63ce404253471a681db3..fd604c64474cdd8c0c23df6fe537fc030b963076 100644 (file)
@@ -1,3 +1,12 @@
+2017-10-13  Pedro Alves  <palves@redhat.com>
+
+       * lib/gdb.exp (target_can_use_run_cmd): New procedure.
+       * gdb.base/annota1.exp: Use it instead of is_remote.
+       * gdb.base/annota3.exp: Use it instead of is_remote.
+       * gdb.cp/annota2.exp: Use it instead of is_remote.
+       * gdb.cp/annota3.exp: Use it instead of is_remote.
+       * gdb.multi/bkpt-multi-exec.exp: Use it instead of is_remote.
+
 2017-10-13  Pedro Alves  <palves@redhat.com>
 
        * gdb.base/testenv.exp: Check use_gdb_stub instead of is_remote.
index dd02bb49e442ab5af37ca5fd1051903278cb0d68..bb3dc2ffaeba4d830baaf3bdca01f15010d16cb2 100644 (file)
 # This file was written by Elena Zannoni (ezannoni@cygnus.com)
 
 
-# are we on a target board? If so, don't run these tests.
-# note: this is necessary because we cannot use runto_main (which would
-# work for remote targets too) because of the different prompt we get
-# when using annotation level 2.
+# This testcase cannot use runto_main because of the different prompt
+# we get when using annotation level 2.
 #
-if [is_remote target] then {
+if ![target_can_use_run_cmd] {
     return 0
 }
 
index ceb1682391624e1a34cfaabc0929caedace55746..5a971f001829dbc7833a46a4713014f34f092f0e 100644 (file)
 # This file was written by Elena Zannoni (ezannoni@cygnus.com)
 
 
-# are we on a target board? If so, don't run these tests.
-# note: this is necessary because we cannot use runto_main (which would
-# work for remote targets too) because of the different prompt we get
-# when using annotation level 2.
+# This testcase cannot use runto_main because of the different prompt
+# we get when using annotation level 2.
 #
-if [is_remote target] then {
+if ![target_can_use_run_cmd] {
     return 0
 }
 
index a00161dc2851acc0c80dbab41d7792ff3dc44a14..78e8795a2dfea01594d1d0e39aac4ff8e4c97644 100644 (file)
@@ -29,12 +29,10 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
     return -1
 }
 
-# are we on a target board? If so, don't run these tests.
-# note: this is necessary because we cannot use runto_main (which would
-# work for remote targets too) because of the different prompt we get
-# when using annotation level 2.
+# This testcase cannot use runto_main because of the different prompt
+# we get when using annotation level 2.
 #
-if [is_remote target] then {
+if ![target_can_use_run_cmd] {
     return 0
 }
 
index 4215e763ad19f98f3e409386a1106251564fbe1d..3141251e63c6b1fd5a561f159cede95b3110af5d 100644 (file)
@@ -29,12 +29,10 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
     return -1
 }
 
-# are we on a target board? If so, don't run these tests.
-# note: this is necessary because we cannot use runto_main (which would
-# work for remote targets too) because of the different prompt we get
-# when using annotation level 2.
+# This testcase cannot use runto_main because of the different prompt
+# we get when using annotation level 2.
 #
-if [is_remote target] then {
+if ![target_can_use_run_cmd] {
     return 0
 }
 
index dba6697e5e9d7decc1a5593c011b3e7f80d8cfce..d68b92f9b3cda3fff8ef19746188f7ea7695e845 100644 (file)
@@ -13,7 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-if { [is_remote target] || ![isnative] } then {
+if ![target_can_use_run_cmd] {
     continue
 }
 
index 9d8296a109eb18f637f43d2c95186e0fc7bfbe95..548cb068d426c80ea5c60cdd6582126b570acc96 100644 (file)
@@ -226,6 +226,19 @@ proc delete_breakpoints {} {
     }
 }
 
+# Returns true iff the target supports using the "run" command.
+
+proc target_can_use_run_cmd {} {
+    if [target_info exists use_gdb_stub] {
+       # In this case, when we connect, the inferior is already
+       # running.
+       return 0
+    }
+
+    # Assume yes.
+    return 1
+}
+
 # Generic run command.
 #
 # The second pattern below matches up to the first newline *only*.