1 # Copyright
2015-2024 Free Software Foundation
, Inc.
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.
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.
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
/>.
16 # This file is part of the gdb testsuite.
18 # Test the setting of
"history size" via the GDBHISTSIZE environment variable
21 # We cannot expect remote hosts to see environment variables
set on the
23 require
{!is_remote host
}
25 # Check that the history size is properly
set to SIZE when the environment
26 #
variable ENV_VAR is
set to GDBHISTSIZE.
28 proc test_histsize_history_setting
{ histsize size
{ env_var
"GDBHISTSIZE" } } {
31 save_vars
{ env
(GDBHISTFILE
) env
(GDBHISTSIZE
) env
($env_var
) } {
32 # These environment variables take precedence over whatever
33 # history size is
set in .gdbinit. Make sure the former is not
35 unset
-nocomplain env
(GDBHISTFILE
)
36 unset
-nocomplain env
(GDBHISTSIZE
)
38 # Ensure we don
't accidentally pick up a .gdb_history from the
39 # testsuite directory.
40 set env(GDBHISTFILE) [standard_output_file .gdb_history]
42 set env($env_var) $histsize
44 with_test_prefix "histsize=$histsize" {
48 gdb_test "show history size" "The size of the command history is $size."
51 gdb_test_no_output "show commands"
52 } elseif { $size != "1" } {
53 gdb_test "show commands" \
54 " . show history size\r\n . show commands"
60 test_histsize_history_setting "" "unlimited"
61 test_histsize_history_setting "0" "0"
62 test_histsize_history_setting "20" "20"
63 test_histsize_history_setting " 20 " "20"
64 test_histsize_history_setting "-5" "unlimited"
66 # Test defaulting to 256 upon encountering a non-numeric GDBHISTSIZE.
67 test_histsize_history_setting "not_an_integer" "256"
68 test_histsize_history_setting "10zab" "256"
69 test_histsize_history_setting "-5ab" "256"
71 # A huge number (hopefully larger than INT_MAX)
72 test_histsize_history_setting "99999999999999999999999999999999999" "unlimited"
74 # We no longer read HISTSIZE
75 test_histsize_history_setting "50" "256" "HISTSIZE"