From 686f09d02169f2e74f4465ed61f5be6f6664749b Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 10 Jul 2012 14:41:16 +0000 Subject: [PATCH] * lib/gdb.exp (standard_testfile): Unset output variables from earlier invocations. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/lib/gdb.exp | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f4ad297e9f0..5d840db4e6e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-07-10 Tom Tromey + + * lib/gdb.exp (standard_testfile): Unset output variables from + earlier invocations. + 2012-07-10 Yao Qi * gdb.mi/gdb2549.exp: Remove -DFAKEARGV from compilation flags. 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 -- 2.30.2