Fix gdb.base/term.exp on non-"target native" boards
authorPedro Alves <palves@redhat.com>
Fri, 13 Oct 2017 12:38:24 +0000 (13:38 +0100)
committerPedro Alves <palves@redhat.com>
Fri, 13 Oct 2017 12:41:44 +0000 (13:41 +0100)
With --target_board=native-extended-gdbserver, we get:

  Running .../src/gdb/testsuite/gdb.base/term.exp ...
  FAIL: gdb.base/term.exp: info terminal at breakpoint

  (gdb) info terminal
  No saved terminal information.

Fix it by running the test everywhere, and expecting different output
on non-native targets.

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

* gdb.base/term.exp: Don't skip if is_remote target.  Instead,
expect different "info terminal" output if testing with a
non-native target.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/term.exp

index 8a912024edd77d849f7d7a3f49294c07db428bd4..73389ae495c46219896b9f3abdabb4e091f04762 100644 (file)
@@ -1,3 +1,9 @@
+2017-10-13  Pedro Alves  <palves@redhat.com>
+
+       * gdb.base/term.exp: Don't skip if is_remote target.  Instead,
+       expect different "info terminal" output if testing with a
+       non-native target.
+
 2017-10-13  Pedro Alves  <palves@redhat.com>
            Simon Marchi  <simon.marchi@polymtl.ca>
 
index c922debead6ca04cd83bf0fad479e1b3f5b07eae..2c388162ab1b656d243826b55b421fe76fc8f3e5 100644 (file)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Don't try this for remote targets.
-if [is_remote target] then {
-    continue
-}
-
 if { [prepare_for_testing "failed to prepare" term term.c] } {
     return -1
 }
@@ -33,9 +28,16 @@ if ![runto_main] then {
 }
 
 # Once while the program is running and stopped.
-gdb_test "info terminal" \
-    "Inferior's terminal status .currently saved by GDB.:.*" \
-    "info terminal at breakpoint"
+
+# While only native targets save terminal status, we still test
+# everywhere to make sure that the command doesn't misbehave.
+if {[target_info gdb_protocol] == ""} {
+    set term_re "Inferior's terminal status .currently saved by GDB.:.*"
+} else {
+    set term_re "No saved terminal information\\."
+}
+
+gdb_test "info terminal" $term_re "info terminal at breakpoint"
 
 gdb_continue_to_end