blob: 2e9297f5410e34a41f41f459188646c2de3a6aa1 [file] [log] [blame]
# Copyright 2017-2021 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Regression test for PR tui/21216 - TUI line breaks regression.
#
# Tests that newlines in filtered output force a "carriage return" in
# the TUI command window. With a broken gdb, instead of:
#
# (gdb) printf "hello\nworld\n"
# hello
# world
# (gdb)
#
# we'd get:
#
# (gdb) printf "hello\nworld\n"hello
# world
#
# (gdb)
gdb_exit
gdb_start
if {[skip_tui_tests]} {
return
}
# Enable the TUI.
set test "tui enable"
gdb_test_multiple "tui enable" $test {
-re "$gdb_prompt $" {
pass $test
}
}
# Make sure filtering/pagination is enabled, but make the window high
# enough that we don't paginate in practice.
gdb_test_no_output "set pagination on"
gdb_test_no_output "set height 2000"
gdb_test \
{printf "hello\nworld\n"} \
"hello\r\nworld" \
"correct line breaks"