1# Copyright 2017-2023 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16# Regression test for PR tui/21216 - TUI line breaks regression. 17# 18# Tests that newlines in filtered output force a "carriage return" in 19# the TUI command window. With a broken gdb, instead of: 20# 21# (gdb) printf "hello\nworld\n" 22# hello 23# world 24# (gdb) 25# 26# we'd get: 27# 28# (gdb) printf "hello\nworld\n"hello 29# world 30# 31# (gdb) 32 33gdb_exit 34gdb_start 35 36if {[skip_tui_tests]} { 37 return 38} 39 40# Enable the TUI. 41 42set test "tui enable" 43gdb_test_multiple "tui enable" $test { 44 -re "$gdb_prompt $" { 45 pass $test 46 } 47} 48 49# Make sure filtering/pagination is enabled, but make the window high 50# enough that we don't paginate in practice. 51gdb_test_no_output "set pagination on" 52gdb_test_no_output "set height 2000" 53 54gdb_test \ 55 {printf "hello\nworld\n"} \ 56 "hello\r\nworld" \ 57 "correct line breaks" 58