aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/gdbinit-history.exp
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.base/gdbinit-history.exp')
-rw-r--r--gdb/testsuite/gdb.base/gdbinit-history.exp124
1 files changed, 56 insertions, 68 deletions
diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp
index 85177f3..85ef12f 100644
--- a/gdb/testsuite/gdb.base/gdbinit-history.exp
+++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -28,44 +28,38 @@ proc test_gdbinit_history_setting { home size { gdbhistsize_val "-" } } {
global srcdir
global subdir
- array set old_env [array get env]
+ save_vars { INTERNAL_GDBFLAGS env(GDBHISTSIZE) env(HOME) } {
+ set env(HOME) "$srcdir/$subdir/$home"
- set env(HOME) "$srcdir/$subdir/$home"
+ # The GDBHISTSIZE environment variable takes precedence over whatever
+ # history size is set in .gdbinit. Make sure the former is not
+ # set.
+ unset -nocomplain env(GDBHISTSIZE)
- # The GDBHISTSIZE environment variable takes precedence over whatever
- # history size is set in .gdbinit. Make sure the former is not
- # set.
- unset -nocomplain env(GDBHISTSIZE)
-
- if { $gdbhistsize_val != "-" } {
- set env(GDBHISTSIZE) $gdbhistsize_val
- }
+ if { $gdbhistsize_val != "-" } {
+ set env(GDBHISTSIZE) $gdbhistsize_val
+ }
- set saved_internal_gdbflags $INTERNAL_GDBFLAGS
- set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
+ set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
- set prefix "home=$home"
- if { $gdbhistsize_val != "-" } {
- append prefix " gdbhistsize=$gdbhistsize_val"
- }
+ set prefix "home=$home"
+ if { $gdbhistsize_val != "-" } {
+ append prefix " gdbhistsize=$gdbhistsize_val"
+ }
- with_test_prefix $prefix {
- gdb_exit
- gdb_start
+ with_test_prefix $prefix {
+ gdb_exit
+ gdb_start
- gdb_test "show history size" "The size of the command history is $size."
+ 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"
+ if { $size == "0" } {
+ gdb_test_no_output "show commands"
+ } elseif { $size != "1" } {
+ gdb_test "show commands" " . show history size\r\n . show commands"
+ }
}
}
-
- set INTERNAL_GDBFLAGS $saved_internal_gdbflags
-
- unset -nocomplain env(GDBHISTSIZE)
- array set env [array get old_env]
}
# Check that the history file does not get truncated to zero when a gdbinit
@@ -75,53 +69,47 @@ proc test_no_truncation_of_unlimited_history_file { } {
global env
global INTERNAL_GDBFLAGS
- array set old_env [array get env]
-
- # The GDBHISTSIZE environment variable takes precedence over whatever
- # history size is set in .gdbinit. Make sure the former is not
- # set.
- unset -nocomplain env(GDBHISTSIZE)
-
- set saved_internal_gdbflags $INTERNAL_GDBFLAGS
-
- set temp_gdbinit [standard_output_file "gdbinit-history.gdbinit"]
- set temp_histfile [standard_output_file "gdbinit-history.gdb_history"]
- file delete $temp_gdbinit
- file delete $temp_histfile
-
- set fd [open $temp_gdbinit "w"]
- puts $fd "set history size unlimited\n"
- puts $fd "set history filename $temp_histfile\n"
- puts $fd "set history save\n"
- close $fd
-
- append INTERNAL_GDBFLAGS " -x $temp_gdbinit"
-
- # We have to start then exit GDB twice: the first time to test the creation
- # of the initial history file, and the second time to test appending to it.
- # In either case the initial "print 1" command should persist through the
- # history file.
- with_test_prefix "truncation" {
- gdb_exit
- gdb_start
- gdb_test "print 1"
-
- with_test_prefix "creating" {
+ save_vars { INTERNAL_GDBFLAGS env(GDBHISTSIZE) } {
+ # The GDBHISTSIZE environment variable takes precedence over whatever
+ # history size is set in .gdbinit. Make sure the former is not
+ # set.
+ unset -nocomplain env(GDBHISTSIZE)
+
+ set temp_gdbinit [standard_output_file "gdbinit-history.gdbinit"]
+ set temp_histfile [standard_output_file "gdbinit-history.gdb_history"]
+ file delete $temp_gdbinit
+ file delete $temp_histfile
+
+ set fd [open $temp_gdbinit "w"]
+ puts $fd "set history size unlimited\n"
+ puts $fd "set history filename $temp_histfile\n"
+ puts $fd "set history save\n"
+ close $fd
+
+ append INTERNAL_GDBFLAGS " -x $temp_gdbinit"
+
+ # We have to start then exit GDB twice: the first time to test the creation
+ # of the initial history file, and the second time to test appending to it.
+ # In either case the initial "print 1" command should persist through the
+ # history file.
+ with_test_prefix "truncation" {
+ gdb_exit
+ gdb_start
+ gdb_test "print 1"
+
+ with_test_prefix "creating" {
gdb_exit
gdb_start
gdb_test "server show commands" " . print 1.*"
- }
+ }
- with_test_prefix "appending" {
+ with_test_prefix "appending" {
gdb_exit
gdb_start
gdb_test "server show commands" " . print 1.*"
- }
+ }
+ }
}
-
- set INTERNAL_GDBFLAGS $saved_internal_gdbflags
-
- array set env [array get old_env]
}
test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited"