# Copyright 2015 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 . # This file is part of the gdb testsuite. # Test the setting of "history size" via the GDBHISTSIZE environment variable # Check that the history size is properly set to SIZE when the environment # variable ENV_VAR is set to GDBHISTSIZE. proc test_histsize_history_setting { histsize size { env_var "GDBHISTSIZE" } } { global env save_vars { env($env_var) } { set env($env_var) $histsize with_test_prefix "histsize=$histsize" { gdb_exit gdb_start gdb_test "show history size" "The size of the command history is $size." if { $size == "0" } { gdb_test_no_output "show commands" } elseif { $size != "1" } { gdb_test "show commands" \ " . show history size\r\n . show commands" } } } } test_histsize_history_setting "" "unlimited" test_histsize_history_setting "0" "0" test_histsize_history_setting "20" "20" test_histsize_history_setting " 20 " "20" test_histsize_history_setting "-5" "unlimited" # Test defaulting to 256 upon encountering a non-numeric GDBHISTSIZE. test_histsize_history_setting "not_an_integer" "256" test_histsize_history_setting "10zab" "256" test_histsize_history_setting "-5ab" "256" # A huge number (hopefully larger than INT_MAX) test_histsize_history_setting "99999999999999999999999999999999999" "unlimited" # We no longer read HISTSIZE test_histsize_history_setting "50" "256" "HISTSIZE"