]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.base/gdbhistsize-history.exp
GDB copyright headers update after running GDB's copyright.py script.
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.base / gdbhistsize-history.exp
1 # Copyright 2015-2016 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 # This file is part of the gdb testsuite.
17
18 # Test the setting of "history size" via the GDBHISTSIZE environment variable
19
20
21 # We cannot expect remote hosts to see environment variables set on the
22 # local machine.
23
24 if { [is_remote host] } {
25 unsupported "can't set environment variables on remote host"
26 return -1
27 }
28
29 # Check that the history size is properly set to SIZE when the environment
30 # variable ENV_VAR is set to GDBHISTSIZE.
31
32 proc test_histsize_history_setting { histsize size { env_var "GDBHISTSIZE" } } {
33 global env
34
35 save_vars { env($env_var) } {
36 set env($env_var) $histsize
37
38 with_test_prefix "histsize=$histsize" {
39 gdb_exit
40 gdb_start
41
42 gdb_test "show history size" "The size of the command history is $size."
43
44 if { $size == "0" } {
45 gdb_test_no_output "show commands"
46 } elseif { $size != "1" } {
47 gdb_test "show commands" \
48 " . show history size\r\n . show commands"
49 }
50 }
51 }
52 }
53
54 test_histsize_history_setting "" "unlimited"
55 test_histsize_history_setting "0" "0"
56 test_histsize_history_setting "20" "20"
57 test_histsize_history_setting " 20 " "20"
58 test_histsize_history_setting "-5" "unlimited"
59
60 # Test defaulting to 256 upon encountering a non-numeric GDBHISTSIZE.
61 test_histsize_history_setting "not_an_integer" "256"
62 test_histsize_history_setting "10zab" "256"
63 test_histsize_history_setting "-5ab" "256"
64
65 # A huge number (hopefully larger than INT_MAX)
66 test_histsize_history_setting "99999999999999999999999999999999999" "unlimited"
67
68 # We no longer read HISTSIZE
69 test_histsize_history_setting "50" "256" "HISTSIZE"