blob: 5fadc2113d1f13094d1c73389a545c6740fbf8b7 [file] [log] [blame]
# Copyright 1992-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/>. */
# This file was written by Fred Fish. (fnf@cygnus.com)
gdb_exit
gdb_start
gdb_test_no_output "set pagination off"
gdb_test "show pagination" "State of pagination is off.*" "pagination is off"
gdb_test_sequence "help" "unpaged help" {
"List of classes of commands:"
""
"aliases -- User-defined aliases of other commands"
"breakpoints -- Making program stop at certain points"
"data -- Examining data"
"files -- Specifying and examining files"
"internals -- Maintenance commands"
"obscure -- Obscure features"
"running -- Running the program"
"stack -- Examining the stack"
"status -- Status inquiries"
"support -- Support facilities"
"tracepoints -- Tracing of program execution without stopping the program"
"user-defined -- User-defined commands"
""
"Type .help. followed by a class name for a list of commands in that class."
"Type .help. followed by command name for full documentation."
"Command name abbreviations are allowed if unambiguous."
}
gdb_test_no_output "set pagination on"
gdb_test "show pagination" "State of pagination is on.*" "pagination is on"
gdb_test_no_output "set height 10"
send_gdb "help\n"
gdb_expect_list "paged help" \
".*$pagination_prompt" {
"List of classes of commands:"
""
"aliases -- User-defined aliases of other commands"
"breakpoints -- Making program stop at certain points"
"data -- Examining data"
"files -- Specifying and examining files"
"internals -- Maintenance commands"
"obscure -- Obscure features"
"running -- Running the program"
}
gdb_test "q"
gdb_test_no_output "set height 5"
send_gdb "printf \"1\\n2\\n3\\n4\\n5\\n6\\n7\\n8\\n9\\n10\\n11\"\n"
gdb_expect_list "paged count" \
".*$pagination_prompt" {
1
2
3
4
}
send_gdb "c\n"
gdb_expect_list "paged count remainder" "${gdb_prompt} " {
5
6
7
8
9
10
11
}
set fours [string repeat 4 40]
set str "1\\n2\\n3\\n$fours\\n5\\n"
# Avoid some confusing output from readline.
gdb_test_no_output "set editing off"
gdb_test_no_output "set width 30"
send_gdb "printf \"$str\"\n"
gdb_expect_list "paged count for interrupt" \
".*$pagination_prompt" \
[list 1\r\n 2\r\n 3\r\n 444444444444444444444444444444]
gdb_test "q" "Quit" "quit while paging"
# Check that width/height of sqrt(INT_MAX) is treated as unlimited, as
# well as "0" and explicit "unlimited".
foreach_with_prefix size {"0" "0x80000000" "unlimited"} {
# Alternate between "non-unlimited" values and "unlimited" values,
# to make sure we're not seeing stale internal state.
gdb_test "set width 200"
gdb_test "show width" \
"Number of characters gdb thinks are in a line is 200\\."
gdb_test "set height 200"
gdb_test "show height" \
"Number of lines gdb thinks are in a page is 200\\."
gdb_test "set width $size"
gdb_test "show width unlimited" \
"Number of characters gdb thinks are in a line is unlimited\\."
gdb_test "set height $size"
gdb_test "show height unlimited" \
"Number of lines gdb thinks are in a page is unlimited\\."
}
gdb_test "set width -1" "integer -1 out of range"
gdb_test "set height -1" "integer -1 out of range"
gdb_exit
return 0