aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-05-19 10:47:27 +0100
committerPedro Alves <palves@redhat.com>2015-05-19 10:47:27 +0100
commit84204ed7c0ccaa790dff8e124e710277d9a8abc9 (patch)
tree6727eac926ca542253d6c3e3c907196f766ef307 /gdb
parent8f8a1b36a0962f87ab471d18e39be2c3b213034a (diff)
downloadfsf-binutils-gdb-84204ed7c0ccaa790dff8e124e710277d9a8abc9.zip
fsf-binutils-gdb-84204ed7c0ccaa790dff8e124e710277d9a8abc9.tar.gz
fsf-binutils-gdb-84204ed7c0ccaa790dff8e124e710277d9a8abc9.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog7
-rw-r--r--gdb/testsuite/gdb.base/gdbinit-history.exp12
2 files changed, 17 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 9b446af..a74ac52 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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.
diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp
index 474680a..aba15b4 100644
--- a/gdb/testsuite/gdb.base/gdbinit-history.exp
+++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -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"