This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Use save_vars to replace existing manipulation of globals in tests
- From: Pedro Alves <palves at redhat dot com>
- To: Patrick Palka <patrick at parcs dot ath dot cx>, gdb-patches at sourceware dot org
- Date: Wed, 12 Aug 2015 14:08:50 +0100
- Subject: Re: [PATCH] Use save_vars to replace existing manipulation of globals in tests
- Authentication-results: sourceware.org; auth=none
- References: <1439383627-22886-1-git-send-email-patrick at parcs dot ath dot cx>
On 08/12/2015 01:47 PM, Patrick Palka wrote:
> [ The diff is rather ugly for what amounts to relatively simple changes :( ]
Yeah, a git diff -w clearly shows how the real change is very simple. Since
I did that locally, I pasted it below too.
> gdb/testsuite/ChangeLog:
>
> * gdb.base/gdbhistsize-history.exp
> (test_histsize_history_setting): Use save_vars.
> * gdb.base/gdbinit-history.exp (test_gdbinit_history_setting):
> Use save_vars.
> (test_no_truncation_of_unlimited_history_file): Use save_vars.
> * gdb.base/readline.exp: Use save_vars.
OK.
diff --git c/gdb/testsuite/gdb.base/gdbhistsize-history.exp w/gdb/testsuite/gdb.base/gdbhistsize-history.exp
index 0c3f93f..75d98e1 100644
--- c/gdb/testsuite/gdb.base/gdbhistsize-history.exp
+++ w/gdb/testsuite/gdb.base/gdbhistsize-history.exp
@@ -24,11 +24,7 @@
proc test_histsize_history_setting { histsize size { env_var "GDBHISTSIZE" } } {
global env
- set have_old_gdbhistsize 0
- if [info exists env($env_var)] {
- set have_old_gdbhistsize 1
- set old_gdbhistsize $env($env_var)
- }
+ save_vars { env($env_var) } {
set env($env_var) $histsize
with_test_prefix "histsize=$histsize" {
@@ -43,11 +39,6 @@ proc test_histsize_history_setting { histsize size { env_var "GDBHISTSIZE" } } {
gdb_test "show commands" \
" . show history size\r\n . show commands"
}
-
- if { $have_old_gdbhistsize } {
- set env($env_var) $old_gdbhistsize
- } else {
- unset env($env_var)
}
}
}
diff --git c/gdb/testsuite/gdb.base/gdbinit-history.exp w/gdb/testsuite/gdb.base/gdbinit-history.exp
index 85177f3..85ef12f 100644
--- c/gdb/testsuite/gdb.base/gdbinit-history.exp
+++ w/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -28,8 +28,7 @@ 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"
# The GDBHISTSIZE environment variable takes precedence over whatever
@@ -41,7 +40,6 @@ proc test_gdbinit_history_setting { home size { gdbhistsize_val "-" } } {
set env(GDBHISTSIZE) $gdbhistsize_val
}
- set saved_internal_gdbflags $INTERNAL_GDBFLAGS
set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
set prefix "home=$home"
@@ -61,11 +59,7 @@ proc test_gdbinit_history_setting { home size { gdbhistsize_val "-" } } {
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,15 +69,12 @@ proc test_no_truncation_of_unlimited_history_file { } {
global env
global INTERNAL_GDBFLAGS
- array set old_env [array get env]
-
+ 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 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
@@ -118,10 +109,7 @@ proc test_no_truncation_of_unlimited_history_file { } {
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"
diff --git c/gdb/testsuite/gdb.base/readline.exp w/gdb/testsuite/gdb.base/readline.exp
index f0490a2..a605c80 100644
--- c/gdb/testsuite/gdb.base/readline.exp
+++ w/gdb/testsuite/gdb.base/readline.exp
@@ -150,10 +150,9 @@ if { ![readline_is_used] } {
return -1
}
-set oldtimeout1 $timeout
+save_vars { timeout env(GDBHISTSIZE) env(GDBHISTFILE) } {
set timeout 30
-
# A simple test of operate-and-get-next.
operate_and_get_next "Simple operate-and-get-next" \
"p 1" ".* = 1" \
@@ -182,12 +181,6 @@ gdb_test_multiple "if 1 > 0\n\033\[A\033\[A\nend" $msg {
# Now repeat the first test with a history file that fills the entire
# history list.
-if [info exists env(GDBHISTFILE)] {
- set old_gdbhistfile $env(GDBHISTFILE)
-}
-if [info exists env(GDBHISTSIZE)] {
- set old_gdbhistsize $env(GDBHISTSIZE)
-}
set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
set env(GDBHISTSIZE) "10"
@@ -199,19 +192,6 @@ operate_and_get_next "Simple operate-and-get-next" \
"p 7" ".* = 7" \
"p 8" ".* = 8" \
"p 9" ".* = 9"
-
-
-# Restore globals modified in this test...
-if [info exists old_gdbhistfile] {
- set env(GDBHISTFILE) $old_gdbhistfile
-} else {
- unset env(GDBHISTFILE)
-}
-if [info exists old_gdbhistsize] {
- set env(GDBHISTSIZE) $old_gdbhistsize
-} else {
- unset env(GDBHISTSIZE)
}
-set timeout $oldtimeout1
return 0