This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Test the interaction between GDBHISTSIZE and .gdbinit
- From: Patrick Palka <ppalka at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 18 Jun 2015 16:40:11 -0000
- Subject: [binutils-gdb] Test the interaction between GDBHISTSIZE and .gdbinit
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=74bd41ce65c6c2c30ff67519bfc1d00b61826d96
commit 74bd41ce65c6c2c30ff67519bfc1d00b61826d96
Author: Patrick Palka <patrick@parcs.ath.cx>
Date: Wed Jun 17 15:41:07 2015 -0400
Test the interaction between GDBHISTSIZE and .gdbinit
The value inside the GDBHISTSIZE environment variable, only if valid,
should override setting the history size through one's .gdbinit file.
gdb/testsuite/ChangeLog:
* gdb.base/gdbinit-history.exp: Test the interaction between
setting GDBHISTSIZE and setting the history size via .gdbinit.
Diff:
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.base/gdbinit-history.exp | 23 ++++++++++++++++++++---
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 0f3749e..5a9a7eb 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-18 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/gdbinit-history.exp: Test the interaction between
+ setting GDBHISTSIZE and setting the history size via .gdbinit.
+
2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
PR gdb/16999
diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp
index 7bdce5f..85177f3 100644
--- a/gdb/testsuite/gdb.base/gdbinit-history.exp
+++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -19,9 +19,10 @@
# Check that the history size is properly set to SIZE when reading the .gdbinit
-# file located in HOME.
+# file located in HOME with the environment variable GDBHISTSIZE optionally
+# set to GDBHISTSIZE_VAL.
-proc test_gdbinit_history_setting { home size } {
+proc test_gdbinit_history_setting { home size { gdbhistsize_val "-" } } {
global env
global INTERNAL_GDBFLAGS
global srcdir
@@ -36,10 +37,19 @@ proc test_gdbinit_history_setting { home size } {
# set.
unset -nocomplain env(GDBHISTSIZE)
+ if { $gdbhistsize_val != "-" } {
+ set env(GDBHISTSIZE) $gdbhistsize_val
+ }
+
set saved_internal_gdbflags $INTERNAL_GDBFLAGS
set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
- with_test_prefix "home=$home" {
+ set prefix "home=$home"
+ if { $gdbhistsize_val != "-" } {
+ append prefix " gdbhistsize=$gdbhistsize_val"
+ }
+
+ with_test_prefix $prefix {
gdb_exit
gdb_start
@@ -54,6 +64,7 @@ proc test_gdbinit_history_setting { home size } {
set INTERNAL_GDBFLAGS $saved_internal_gdbflags
+ unset -nocomplain env(GDBHISTSIZE)
array set env [array get old_env]
}
@@ -117,3 +128,9 @@ test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited"
test_gdbinit_history_setting "gdbinit-history/zero" "0"
test_no_truncation_of_unlimited_history_file
+
+# A valid GDBHISTSIZE value overrides the setting inside the .gdbinit file; an
+# invalid GDBHISTSIZE value is ignored, falling back on the setting inside the
+# .gdbinit file.
+test_gdbinit_history_setting "gdbinit-history/unlimited" "1000" "1000"
+test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited" "foo"