Fix gdb.base/term.exp on non-"target native" boards

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.
This commit is contained in:
Pedro Alves 2017-10-13 13:38:24 +01:00
parent ebe3b40202
commit 7594f62360
2 changed files with 16 additions and 8 deletions

View 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>

View File

@ -13,11 +13,6 @@
# 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