Fix gdb.base/gdbinit-history.exp when HISTSIZE is set in the environment

Some buildslaves are showing that this test is failing.  E.g.,:

 https://sourceware.org/ml/gdb-testers/2015-q2/msg04164.html

The issue is that HISTSIZE is set to 1000 in the environment that runs
the tests (that's the default in Fedora, set in /etc/profile).

We can trivially reproduce it with:

 $ HISTSIZE=1000 make check RUNTESTFLAGS="gdbinit-history.exp"
 (...)
 Running /home/pedro/gdb/mygit/src/gdb/testsuite/gdb.base/gdbinit-history.exp ...
 FAIL: gdb.base/gdbinit-history.exp: show history size
 FAIL: gdb.base/gdbinit-history.exp: show history size
 FAIL: gdb.base/gdbinit-history.exp: show commands

gdb.log shows:
 ...
 (gdb) set height 0
 (gdb) set width 0
 (gdb) show history size
 The size of the command history is 1000.
 (gdb) FAIL: gdb.base/gdbinit-history.exp: show history size

gdb/testsuite/ChangeLog:
2015-05-19  Pedro Alves  <palves@redhat.com>

	* gdb.base/gdbinit-history.exp (test_gdbinit_history_setting):
	Save the whole env array instead of just HOME.  Unset HISTSIZE in
	the environment while testing.  Restore whole environment
	afterwards.
This commit is contained in:
Pedro Alves 2015-05-19 10:47:27 +01:00
parent 8f8a1b36a0
commit 84204ed7c0
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2015-05-19 Pedro Alves <palves@redhat.com>
* gdb.base/gdbinit-history.exp (test_gdbinit_history_setting):
Save the whole env array instead of just HOME. Unset HISTSIZE in
the environment while testing. Restore whole environment
afterwards.
2015-05-16 Doug Evans <xdje42@gmail.com>
* gdb.guile/scm-ports.c: New file.

View File

@ -27,8 +27,15 @@ proc test_gdbinit_history_setting { home size } {
global srcdir
global subdir
set old_home $env(HOME)
array set old_env [array get env]
set env(HOME) "$srcdir/$subdir/$home"
# The HISTSIZE environment variable takes precedence over whatever
# history size is set in .gdbinit. Make sure the former is not
# set.
unset -nocomplain env(HISTSIZE)
set saved_internal_gdbflags $INTERNAL_GDBFLAGS
set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
@ -44,7 +51,8 @@ proc test_gdbinit_history_setting { home size } {
}
set INTERNAL_GDBFLAGS $saved_internal_gdbflags
set $env(HOME) $old_home
array set env [array get old_env]
}
test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited"