summaryrefslogtreecommitdiff
path: root/gdb/testsuite/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r--gdb/testsuite/lib/gdb.exp13
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 289d4d82123..6ae31293f29 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -3098,6 +3098,7 @@ proc standard_output_file {basename} {
proc standard_testfile {args} {
global gdb_test_file_name
global objdir subdir
+ global gdb_test_file_last_vars
# Outputs.
global testfile binfile
@@ -3109,6 +3110,17 @@ proc standard_testfile {args} {
set args .c
}
+ # Unset our previous output variables.
+ # This can help catch hidden bugs.
+ if {[info exists gdb_test_file_last_vars]} {
+ foreach varname $gdb_test_file_last_vars {
+ global $varname
+ catch {unset $varname}
+ }
+ }
+ # 'executable' is often set by tests.
+ set gdb_test_file_last_vars {executable}
+
set suffix ""
foreach arg $args {
set varname srcfile$suffix
@@ -3122,6 +3134,7 @@ proc standard_testfile {args} {
}
set $varname $arg
+ lappend gdb_test_file_last_vars $varname
if {$suffix == ""} {
set suffix 2