test suite update - gdb.base/s*
authorTom Tromey <tromey@redhat.com>
Thu, 27 Jun 2013 18:58:28 +0000 (18:58 +0000)
committerTom Tromey <tromey@redhat.com>
Thu, 27 Jun 2013 18:58:28 +0000 (18:58 +0000)
Convert files gdb.base/s*.exp to use standard_output_file et al.

* gdb.base/save-bp.exp, gdb.base/savedregs.exp,
gdb.base/scope.exp, gdb.base/sep.exp, gdb.base/sepsymtab.exp,
gdb.base/set-lang-auto.exp, gdb.base/setshow.exp,
gdb.base/setvar.exp, gdb.base/shlib-call.exp,
gdb.base/shreloc.exp, gdb.base/sigall.exp,
gdb.base/sigaltstack.exp, gdb.base/sigbpt.exp,
gdb.base/sigchld.exp, gdb.base/siginfo-addr.exp,
gdb.base/siginfo-infcall.exp, gdb.base/siginfo-obj.exp,
gdb.base/siginfo.exp, gdb.base/signals.exp, gdb.base/signest.exp,
gdb.base/signull.exp, gdb.base/sigrepeat.exp,
gdb.base/sigstep.exp, gdb.base/sizeof.exp,
gdb.base/skip-solib.exp, gdb.base/so-impl-ld.exp,
gdb.base/solib-display.exp, gdb.base/solib-nodir.exp,
gdb.base/solib-overlap.exp, gdb.base/solib-symbol.exp,
gdb.base/solib-weak.exp, gdb.base/source.exp,
gdb.base/stack-checking.exp, gdb.base/stale-infcall.exp,
gdb.base/stap-probe.exp, gdb.base/start.exp,
gdb.base/step-break.exp, gdb.base/step-bt.exp,
gdb.base/step-line.exp, gdb.base/step-resume-infcall.exp,
gdb.base/step-test.exp, gdb.base/structs.exp,
gdb.base/structs2.exp, gdb.base/structs3.exp,
gdb.base/symbol-without-target_section.exp: Use standard_testfile,
standard_output_file, prepare_for_testing, clean_restart.

46 files changed:
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/save-bp.exp
gdb/testsuite/gdb.base/savedregs.exp
gdb/testsuite/gdb.base/scope.exp
gdb/testsuite/gdb.base/sep.exp
gdb/testsuite/gdb.base/sepsymtab.exp
gdb/testsuite/gdb.base/set-lang-auto.exp
gdb/testsuite/gdb.base/setshow.exp
gdb/testsuite/gdb.base/setvar.exp
gdb/testsuite/gdb.base/shlib-call.exp
gdb/testsuite/gdb.base/shreloc.exp
gdb/testsuite/gdb.base/sigall.exp
gdb/testsuite/gdb.base/sigaltstack.exp
gdb/testsuite/gdb.base/sigbpt.exp
gdb/testsuite/gdb.base/sigchld.exp
gdb/testsuite/gdb.base/siginfo-addr.exp
gdb/testsuite/gdb.base/siginfo-infcall.exp
gdb/testsuite/gdb.base/siginfo-obj.exp
gdb/testsuite/gdb.base/siginfo.exp
gdb/testsuite/gdb.base/signals.exp
gdb/testsuite/gdb.base/signest.exp
gdb/testsuite/gdb.base/signull.exp
gdb/testsuite/gdb.base/sigrepeat.exp
gdb/testsuite/gdb.base/sigstep.exp
gdb/testsuite/gdb.base/sizeof.exp
gdb/testsuite/gdb.base/skip-solib.exp
gdb/testsuite/gdb.base/so-impl-ld.exp
gdb/testsuite/gdb.base/solib-display.exp
gdb/testsuite/gdb.base/solib-nodir.exp
gdb/testsuite/gdb.base/solib-overlap.exp
gdb/testsuite/gdb.base/solib-symbol.exp
gdb/testsuite/gdb.base/solib-weak.exp
gdb/testsuite/gdb.base/source.exp
gdb/testsuite/gdb.base/stack-checking.exp
gdb/testsuite/gdb.base/stale-infcall.exp
gdb/testsuite/gdb.base/stap-probe.exp
gdb/testsuite/gdb.base/start.exp
gdb/testsuite/gdb.base/step-break.exp
gdb/testsuite/gdb.base/step-bt.exp
gdb/testsuite/gdb.base/step-line.exp
gdb/testsuite/gdb.base/step-resume-infcall.exp
gdb/testsuite/gdb.base/step-test.exp
gdb/testsuite/gdb.base/structs.exp
gdb/testsuite/gdb.base/structs2.exp
gdb/testsuite/gdb.base/structs3.exp
gdb/testsuite/gdb.base/symbol-without-target_section.exp

index f577bae0832cc57a4f292ff47d85bae962c3fd62..ca53806c68b611d64d3db6c54cb3a42a55c5d79e 100644 (file)
@@ -1,3 +1,29 @@
+2013-06-27  Tom Tromey  <tromey@redhat.com>
+
+       * gdb.base/save-bp.exp, gdb.base/savedregs.exp,
+       gdb.base/scope.exp, gdb.base/sep.exp, gdb.base/sepsymtab.exp,
+       gdb.base/set-lang-auto.exp, gdb.base/setshow.exp,
+       gdb.base/setvar.exp, gdb.base/shlib-call.exp,
+       gdb.base/shreloc.exp, gdb.base/sigall.exp,
+       gdb.base/sigaltstack.exp, gdb.base/sigbpt.exp,
+       gdb.base/sigchld.exp, gdb.base/siginfo-addr.exp,
+       gdb.base/siginfo-infcall.exp, gdb.base/siginfo-obj.exp,
+       gdb.base/siginfo.exp, gdb.base/signals.exp, gdb.base/signest.exp,
+       gdb.base/signull.exp, gdb.base/sigrepeat.exp,
+       gdb.base/sigstep.exp, gdb.base/sizeof.exp,
+       gdb.base/skip-solib.exp, gdb.base/so-impl-ld.exp,
+       gdb.base/solib-display.exp, gdb.base/solib-nodir.exp,
+       gdb.base/solib-overlap.exp, gdb.base/solib-symbol.exp,
+       gdb.base/solib-weak.exp, gdb.base/source.exp,
+       gdb.base/stack-checking.exp, gdb.base/stale-infcall.exp,
+       gdb.base/stap-probe.exp, gdb.base/start.exp,
+       gdb.base/step-break.exp, gdb.base/step-bt.exp,
+       gdb.base/step-line.exp, gdb.base/step-resume-infcall.exp,
+       gdb.base/step-test.exp, gdb.base/structs.exp,
+       gdb.base/structs2.exp, gdb.base/structs3.exp,
+       gdb.base/symbol-without-target_section.exp: Use standard_testfile,
+       standard_output_file, prepare_for_testing, clean_restart.
+
 2013-06-27  Tom Tromey  <tromey@redhat.com>
 
        * gdb.base/nextoverexit.exp, gdb.base/nextoverexit.exp,
index 72a6847a4ef020568b643bdb7aa76cf9b994b8f5..64df0f722d0c981dcda86d9f13a541b5ada596b4 100644 (file)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile save-bp
-set srcfile ${testfile}.c
+standard_testfile .c
 
-if { [prepare_for_testing ${testfile}.exp ${testfile}] } {
+if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile] } {
     return -1
 }
 
index 1548d0a6b20cfaa579caab7fdb0445398eed5e8f..d4d16c382e00f1142ef3a044ce804d42db6de0fd 100644 (file)
@@ -30,19 +30,15 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile savedregs
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
+
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
     untested "Couldn't compile ${module}.c"
     return -1
 }
 
 # get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 # Advance to main
 if { ![runto_main] } {
index fbcc31b5064df948eab90fd83c6281e787d53eb0..e781cf034879b30e8b202ab9b16c7c0a080c895b 100644 (file)
 # This file was written by Fred Fish. (fnf@cygnus.com)
 
 
-set testfile "scope"
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile scope0.c scope1.c
 
-
-if  { [gdb_compile "${srcdir}/${subdir}/scope0.c" "${binfile}0.o" object {debug}] != "" } {
-     untested scope.exp
-     return -1
-}
-
-if  { [gdb_compile "${srcdir}/${subdir}/scope1.c" "${binfile}1.o" object {debug}] != "" } {
-     untested scope.exp
-     return -1
-}
-
-if  { [gdb_compile "${binfile}0.o ${binfile}1.o" ${binfile} executable {debug}] != "" } {
-     untested scope.exp
-     return -1
+if {[prepare_for_testing ${testfile}.exp ${testfile} \
+        [list $srcfile $srcfile2] {debug}]} {
+    return -1
 }
 
 # Create and source the file that provides information about the compiler
@@ -511,13 +499,6 @@ proc test_at_localscopes {} {
     gdb_stop_suppressing_tests
 }
 
-# Start with a fresh gdb.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 if [istarget "*-*-vxworks*"] {
     set timeout 120
     verbose "Timeout is now $timeout seconds" 2
index af50d17f49215101886d0a20f977ae28af7baae4..7034d0348d65fac17d1acd2fafba94d25878360b 100644 (file)
@@ -13,9 +13,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile "sep"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug nowarnings}] != "" } {
     untested sep.exp
@@ -24,10 +22,7 @@ if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
 
 set location [gdb_get_line_number "say_hello" "sep-proc.c"]
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 # Try to display the source code inside a file which is included by
 # another source file.  The purpose of this test is to verify that
index 407a9b0365a31c824bd77a07b252b7b12294396f..d19075e921b84ac57de522850abd975104a323da 100644 (file)
@@ -17,9 +17,7 @@
 # test running programs
 #
 
-set testfile "sepsymtab"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}${EXEEXT}
+standard_testfile .c
 
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
          executable {debug}] != "" } {
@@ -33,10 +31,7 @@ if [gdb_gnu_strip_debug $binfile no-main] {
     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 set command "info sym main"
 set command_regex [string_to_regexp $command]
index 617310eb2bf2d66bd87a019833d4c80371627933..e2f3694bf32ee8f358f2d1913e3dee15980a074e 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-set testfile start
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested "Couldn't compile test program"
+standard_testfile start.c
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 # Do not run the inferior as the purpose of this testcase is to test
 # the behavior of the "set language" command when there is no inferior.
 
index e172fc7615dad53d6c7f8cd5caeaf2c1a6abe5ef..661431c546906f048dfcfbf3ccdde4d290bd775b 100644 (file)
@@ -16,9 +16,8 @@
 # This file was written by Michael Snyder (msnyder@cygnus.com)
 
 
-set testfile "setshow"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
+
 if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable {debug}] != "" } {
      untested setshow.exp
      return -1
@@ -26,10 +25,7 @@ if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable {debug}]
 
 # Start with a fresh gdb
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 # make sure $pc is sane, in case we're talking to a board.
 if { ![runto_main] } {
index 1c58300cf887b0f4f8dfc0c77c74f163671e594c..99704990a9899dc960987b36f246d42b2808aaa3 100644 (file)
 # test running programs
 #
 
-set testfile "setvar"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-     untested setvar.exp
-     return -1
-}
+standard_testfile
 
 # Create and source the file that provides information about the compiler
 # used to compile the test case.
@@ -38,10 +32,10 @@ if [get_compiler_info] {
     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load $binfile
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
+    return -1
+}
 
 #
 # set it up at a breakpoint so we canplay with the variable values
index 747aaa5bb824fa26ee97e27685583dea987282c9..326112d19f1105311edb1e62202c76b0b36c81db 100644 (file)
@@ -33,15 +33,12 @@ if {[skip_shlib_tests]} {
     return 0
 }
 
-set testfile "shmain"
-set libfile1 "shr1"
-set libfile2 "shr2"
-set srcfile  ${srcdir}/${subdir}/${testfile}.c
-set lib1src  ${srcdir}/${subdir}/${libfile1}.c
-set lib2src  ${srcdir}/${subdir}/${libfile2}.c
-set lib1     ${objdir}/${subdir}/${libfile1}.sl
-set lib2     ${objdir}/${subdir}/${libfile2}.sl
-set binfile  ${objdir}/${subdir}/${testfile}
+standard_testfile shmain.c shr1.c shr2.c
+set srcfile  ${srcdir}/${subdir}/${srcfile}
+set lib1src  ${srcdir}/${subdir}/${srcfile2}
+set lib2src  ${srcdir}/${subdir}/${srcfile3}
+set lib1     [standard_output_file shr1.sl]
+set lib2     [standard_output_file shr2.sl]
 
 set lib_opts "debug"
 set exec_opts [list debug shlib=${lib1} shlib=${lib2}]
@@ -59,10 +56,7 @@ if { [gdb_compile_shlib ${lib1src} ${lib1} $lib_opts] != ""
 
 # Start with a fresh gdb.
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 gdb_load_shlibs $lib1 $lib2
 
 gdb_test_no_output "set print sevenbit-strings"
index f93b03ef9de70f4cfc3f35a3d679a88ff59f6d97..2baf67615ac39b6b85aa16d8ef087f3a1b8daa3b 100644 (file)
@@ -28,16 +28,14 @@ if {[skip_shlib_tests]} {
 #
 
 
-set workdir ${objdir}/${subdir}
-set testfile "shreloc"
-set libfile1 "shreloc1"
-set libfile2 "shreloc2"
-set srcfile $srcdir/$subdir/$testfile.c
-set lib1src $srcdir/$subdir/$libfile1.c
-set lib2src $srcdir/$subdir/$libfile2.c
-set binfile $objdir/$subdir/$testfile
-set lib1_sl $objdir/$subdir/$libfile1.sl
-set lib2_sl $objdir/$subdir/$libfile2.sl
+standard_testfile .c shreloc1.c shreloc2.c
+
+set srcfile $srcdir/$subdir/$srcfile
+set lib1src $srcdir/$subdir/$srcfile2
+set lib2src $srcdir/$subdir/$srcfile3
+set binfile [standard_output_file $testfile]
+set lib1_sl [standard_output_file shreloc1.sl]
+set lib2_sl [standard_output_file shreloc2.sl]
 
 if [get_compiler_info] {
     return -1
@@ -73,10 +71,7 @@ if { [gdb_compile_shlib $lib1src $lib1_sl $lib_opts] != ""} {
 
 # Start with a fresh gdb.
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${workdir}/shreloc
+clean_restart $binfile
 gdb_load_shlibs $lib1_sl $lib2_sl
 
 # Load up the shared objects
@@ -226,7 +221,7 @@ proc check_different {var msymfile} {
     return 1
 }
 
-set msymfile "${workdir}/shreloc.txt"
+set msymfile [standard_output_file shreloc.txt]
 
 if [send_gdb_discard "maint print msymbols ${msymfile}"] {
     if {[check_different "static_var_\[12\]" "${msymfile}"]} {
index 4bd04278265476c881c73c1fe321905914800862..b1b85974c52bc95e59e6cec72fa19be121ccd42e 100644 (file)
@@ -18,17 +18,11 @@ if [target_info exists gdb,nosignals] {
     continue
 }
 
+standard_testfile
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-
-set testfile sigall
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-     untested sigall.exp
-     return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
+    return -1
 }
 
 proc test_one_sig {nextsig} {
@@ -98,8 +92,6 @@ proc test_one_sig {nextsig} {
     set thissig $nextsig
 }
 
-gdb_load $binfile
-
 # The list of signals that the program generates, in the order they
 # are generated.
 set signals {
index 4fc5ac819b79b2877a2658ac3e25d6682ceaf1f8..317131872c9a0e95e38987c35fb94e6a2c2883f9 100644 (file)
@@ -28,19 +28,15 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile sigaltstack
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
+
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
     untested "Couldn't compile ${srcfile}.c"
     return -1
 }
 
 # get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 # Pass all the alarms straight through (but verbosely)
 gdb_test "handle SIGALRM print pass nostop"
index 51545da52f89498eff63d4f27f86be226382e30a..eb16b8e2b76ae4392988fbf225bc8e63716a5bcf 100644 (file)
@@ -34,19 +34,13 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile "sigbpt"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested sigbpt.exp
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 #
 # Run to `main' where we begin our tests.
 #
index ce8857632a0e2c034c43e174fbeaaad7727b2ea2..ab2a37f57ca1a569bfc2349fb5daadf977f14d9b 100644 (file)
@@ -21,18 +21,13 @@ if [target_info exists gdb,nosignals] {
     continue
 }
 
-set testfile "sigchld"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 runto_main
 
index 02810e89ba5a5fe2472327dfc607ba599c2ba285..021d5d188690e578a3a158b73552362ce61798e8 100644 (file)
@@ -31,20 +31,12 @@ if [gdb_skip_stdio_test "siginfo-addr.exp"] {
 }
 
 
-set testfile siginfo-addr
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+standard_testfile
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
     untested "Couldn't compile ${srcfile}.c"
     return -1
 }
 
-# get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 gdb_test "display/i \$pc"
 
 # Advance to main
index 7d17b70747a7b79b3ed9c898a1057784de6ea7e5..ed034be4549c48f15ef5fe27b264ab40a6d349b4 100644 (file)
@@ -18,10 +18,9 @@ if [target_info exists gdb,nosignals] {
     continue
 }
 
-set testfile siginfo-infcall
-set srcfile ${testfile}.c
-set executable ${testfile}
-if { [prepare_for_testing ${testfile}.exp $executable] } {
+standard_testfile .c
+
+if { [prepare_for_testing ${testfile}.exp $testfile $srcfile] } {
     return -1
 }
 
index cebc2eeaa05100a5a553c1652dab5879645c6889..6cee02efbd40688704a9c336f6960874ad767811 100644 (file)
@@ -34,20 +34,13 @@ if { ! [istarget "i?86-*-linux*"]
 }
 
 
-set testfile siginfo-obj
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested "Couldn't compile ${srcfile}.c"
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-# get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 # Advance to main
 if { ![runto_main] } then {
     gdb_suppress_tests
index 5389e0b8456e7fb99976babb0b2418da02bd4772..036d1a52122e0c17c08b7feb87b16ab228941a2a 100644 (file)
@@ -29,20 +29,13 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile siginfo
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested "Couldn't compile ${srcfile}.c"
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-# get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 gdb_test "display/i \$pc"
 
 # Advance to main
index 7652ff0c198f01df4835910c47d92d844edfdbbc..667368cb60ec24991da58b1b94ed9384f2bce323 100644 (file)
@@ -19,9 +19,8 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile signals
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
+
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
     untested signals.exp
     return -1
@@ -74,10 +73,7 @@ proc test_handle_all_print {} {
 }
 test_handle_all_print
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load $binfile
+clean_restart $binfile
 
 if [runto_main] then {
 
index 67dc6ee63a7630a24cfd691857f604430724bb44..de000f3746718bf345fbf6843ed07610d4f62a7b 100644 (file)
@@ -15,8 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile "signest"
-set srcfile ${testfile}.c
+standard_testfile
 
 if [target_info exists gdb,nosignals] {
     verbose "Skipping ${testfile}.exp because of nosignals."
index 5fadd3a1701d7cfdade65f19ea437b4da49e8558..e440c1707ea34ac8f6f747fcbb909684d6f46007 100644 (file)
@@ -33,18 +33,14 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile "signull"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
+
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
     untested signull.exp
     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 #
 # Run to `main' where we begin our tests.
index 3b423ec64943bf807180893401590c2bdfa50c20..08beed3d59e39912d9cdadd111363096390877e9 100644 (file)
@@ -25,19 +25,15 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile sigrepeat
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
+
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
     untested "Couldn't compile ${srcfile}"
     return -1
 }
 
 # get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 # Advance to main
 if { ![runto_main] } then {
index e8ab8ea5b8ad077fc51015715ff46cd07a1c434d..9515c613a48289d68f91d8c8b2f36ddd761a5ba5 100644 (file)
@@ -27,20 +27,13 @@ if [target_info exists gdb,nosignals] {
 }
 
 
-set testfile sigstep
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested "Couldn't compile ${srcfile}.c"
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-# get things started
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 gdb_test "display/i \$pc"
 
 # Advance to main
index 03972bbdaa259a627453cc9f22d793083eacfd0b..af59e3bc76b759c2b4b3dd3a094fd6913cd972dd 100644 (file)
@@ -24,22 +24,16 @@ if [target_info exists gdb,noinferiorio] {
 # test running programs
 #
 
-set testfile "sizeof"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-     untested sizeof.exp
-     return -1
-}
+standard_testfile
 
 if [get_compiler_info] {
     return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
+    return -1
+}
 
 #
 # set it up at a breakpoint so we can play with the variable values
index 14bf6bfc4e001edd4cfa84bb5c949064f1a7118c..f618fc51131d473042eef53538279bedb5aa3386 100644 (file)
@@ -27,10 +27,10 @@ if { ![isnative] || [is_remote host] || ![istarget *-linux*] || [skip_shlib_test
 set test "skip-solib"
 set srcfile_main "${test}-main.c"
 set executable_main ${test}-test
-set binfile_main ${objdir}/${subdir}/${executable_main}
+set binfile_main [standard_output_file ${executable_main}]
 set srcfile_lib "${test}-lib.c"
 set libname "lib${test}"
-set binfile_lib ${objdir}/${subdir}/${libname}.so
+set binfile_lib [standard_output_file ${libname}.so]
 
 #
 # Compile our program under test.  The main program references a shared library
@@ -47,9 +47,10 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile_main}" "${binfile_main}.o" objec
     return -1
 }
 
+set testobjdir [standard_output_file {}]
 if {[gdb_compile "${binfile_main}.o" "${binfile_main}" executable \
-                 [list debug "additional_flags=-L${objdir}/${subdir} -l${test} \
-                                               -Wl,-rpath=${objdir}/${subdir}"]] != ""} {
+                 [list debug "additional_flags=-L$testobjdir -l${test} \
+                                               -Wl,-rpath=$testobjdir"]] != ""} {
     return -1
 }
 
index 64fc7816c8cbcae1f83c03695e33e46dff4d61ec..a1d028196b56551fed03801dda32eac9a8906e00 100644 (file)
@@ -18,12 +18,10 @@ if {[skip_shlib_tests]} {
     return 0
 }
 
-set testfile "so-impl-ld"
+standard_testfile .c
 set libfile "solib1"
-set srcfile $srcdir/$subdir/$testfile.c
 set libsrc  $srcdir/$subdir/$libfile.c
-set binfile $objdir/$subdir/$testfile
-set lib_sl  $objdir/$subdir/$libfile.sl
+set lib_sl  [standard_output_file $libfile.sl]
 
 set lib_opts  debug
 set exec_opts [list debug shlib=$lib_sl]
@@ -41,17 +39,15 @@ if [test_compiler_info "hpcc-*"] {
 }
 
 if { [gdb_compile_shlib $libsrc $lib_sl $lib_opts] != ""
-     || [gdb_compile $srcfile $binfile executable $exec_opts] != ""} {
+     || [gdb_compile $srcdir/$subdir/$srcfile $binfile \
+            executable $exec_opts] != ""} {
     untested "Couldn't compile $libsrc or $srcfile."
     return -1
 }
 
 # Start with a fresh gdb
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 gdb_load_shlibs $lib_sl
 
 # This program implicitly loads SOM shared libraries.
index 817846c68bdbc91c360a8f1cb530ecc7415ab57c..928719deae149ca4403c360a44e06de3670042d5 100644 (file)
@@ -35,13 +35,13 @@ if { [skip_shlib_tests] || [is_remote target] } {
 # Library file.
 set libname "solib-display-lib"
 set srcfile_lib ${srcdir}/${subdir}/${libname}.c
-set binfile_lib ${objdir}/${subdir}/${libname}.so
+set binfile_lib [standard_output_file ${libname}.so]
 set lib_flags {}
 # Binary file.
 set testfile "solib-display-main"
 set srcfile ${srcdir}/${subdir}/${testfile}.c
 set executable ${testfile}
-set binfile ${objdir}/${subdir}/${executable}
+set binfile [standard_output_file ${executable}]
 set bin_flags [list debug shlib=${binfile_lib}]
 
 if [get_compiler_info] {
index 2ed48a5ffa7c44c41d5e2616cfab648669934c02..34d9410fbab2f9a04c6f689287e3e2ec56e20ff6 100644 (file)
@@ -24,11 +24,11 @@ set srclibfile foo.c
 # Arbitrary file containing main.
 set srcfile start.c
 set binlibfilebase ${testfile}.so
-set binlibfiledir ${objdir}/${subdir}
+set binlibfiledir [standard_output_file {}]
 set binlibfile ${binlibfiledir}/${binlibfilebase}
 set executable ${testfile}
-set objfile ${objdir}/${subdir}/${executable}.o
-set binfile ${objdir}/${subdir}/${executable}
+set objfile [standard_output_file ${executable}.o]
+set binfile [standard_output_file ${executable}]
 
 # build the first test case
 if { [get_compiler_info]
index ba1e1adb4b13a1a2e73a985d468d1e92326a3ba6..068c1de39d395391985f86288aafb5b40d1df392 100644 (file)
@@ -56,14 +56,14 @@ foreach prelink_lib1 {0x40000000 0x50000000} { with_test_prefix "$prelink_lib1"
     set prelink_lib2 [format "0x%x" [expr $prelink_lib1 + 0x01000000]]
 
     # Library file.
-    set binfile_lib1 ${objdir}/${subdir}/${libname}1-${prelink_lib1}.so
+    set binfile_lib1 [standard_output_file ${libname}1-${prelink_lib1}.so]
     set binfile_lib1_test_msg OBJDIR/${subdir}/${libname}1-${prelink_lib1}.so
-    set binfile_lib2 ${objdir}/${subdir}/${libname}2-${prelink_lib1}.so
+    set binfile_lib2 [standard_output_file ${libname}2-${prelink_lib1}.so]
     set binfile_lib2_test_msg OBJDIR/${subdir}/${libname}2-${prelink_lib1}.so
     set lib_flags {debug}
     # Binary file.
     set binfile_base ${testfile}-${prelink_lib1}
-    set binfile ${objdir}/${subdir}/${binfile_base}
+    set binfile [standard_output_file ${binfile_base}]
     set binfile_test_msg OBJDIR/${subdir}/${binfile_base}
     set bin_flags [list debug shlib=${binfile_lib1} shlib=${binfile_lib2}]
     set escapedbinfile  [string_to_regexp ${binfile}]
index b758a680d4b038c74e700fe72d9e57e264758605..9ffe7febd4c718d79fe3759d12ea2401f6123db4 100644 (file)
@@ -22,12 +22,12 @@ if {[skip_shlib_tests]} {
 # Library file.
 set libname "solib-symbol-lib"
 set srcfile_lib ${srcdir}/${subdir}/${libname}.c
-set binfile_lib ${objdir}/${subdir}/${libname}.so
+set binfile_lib [standard_output_file ${libname}.so]
 set lib_flags [list debug ldflags=-Wl,-Bsymbolic]
 # Binary file.
 set testfile "solib-symbol-main"
 set srcfile ${srcdir}/${subdir}/${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+set binfile [standard_output_file ${testfile}]
 set bin_flags [list debug shlib=${binfile_lib}]
 
 if [get_compiler_info] {
index 11c3830e079c72434898a87478e44b9a112ec75c..5951806b3075f7906bb99b073acf2dbb1ca66dc5 100644 (file)
@@ -39,7 +39,7 @@ if {![test_compiler_info "gcc-*"]} {
 }
 
 proc do_test { lib1opts lib2opts lib1first } {
-    global objdir srcdir subdir
+    global srcdir subdir
 
     set testfile "solib-weak"
     set srcfile ${testfile}.c
@@ -72,9 +72,9 @@ proc do_test { lib1opts lib2opts lib1first } {
        append testfile "-lib2"
     }
 
-    set binfile ${objdir}/${subdir}/${testfile}
-    set lib1 ${objdir}/${subdir}/${libfile1}.sl
-    set lib2 ${objdir}/${subdir}/${libfile2}.sl
+    set binfile [standard_output_file ${testfile}]
+    set lib1 [standard_output_file ${libfile1}.sl]
+    set lib2 [standard_output_file ${libfile2}.sl]
 
     if $lib1first {
        set exec_opts [list debug shlib=${lib1} shlib=${lib2}]
index a398e776aaf4c3b35d52553c9754d090c6719315..61fd2211c4603e7189631b6dd2dfbb2893d66f2e 100644 (file)
@@ -19,9 +19,7 @@
 
 
 
-set testfile "structs"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile structs.c
 
 gdb_start
 
index 47d02e9d963414347be78a8772a8e9df1a129d25..0c1fb5149c39c2f1f06963481dd016024480631d 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-set testfile "stack-checking"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [concat debug additional_flags=-fstack-check nowarnings]] != "" } {
      untested stack-checking.exp
      return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 if ![runto_main] then {
     fail "Can't run to main"
index 074fabb8f5362abeeb551dd2cbcae0343794cb34..deddf6107f188adb27642bcad1a7ef5be05bd68e 100644 (file)
@@ -13,8 +13,8 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile stale-infcall
-set srcfile ${testfile}.c
+standard_testfile .c
+
 if { [prepare_for_testing $testfile.exp $testfile $srcfile] } {
     return -1
 }
index 048e082f55bf3900768d95d0062975e52f65b979..0f2b028874a6320621741d9456d3e2bbb1e1cc42 100644 (file)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile stap-probe
+standard_testfile
 
 # Run the tests.  We run the tests two different ways: once with a
 # plain probe, and once with a probe that has an associated semaphore.
 # This returns -1 on failure to compile or start, 0 otherwise.
 proc stap_test {exec_name {arg ""}} {
-    global testfile hex
+    global testfile hex srcfile
 
-    if {[prepare_for_testing ${testfile}.exp ${exec_name} ${testfile}.c \
+    if {[prepare_for_testing ${testfile}.exp ${exec_name} $srcfile \
           [concat $arg debug]]} {
        return -1
     }
index 6f1f517d84240d2022ba99c543dc09fda609f0d0..296d17ae5910c087ac3b6518af2e9e656e68dcb8 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-set testfile start
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested "Couldn't compile test program"
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 # This is a testcase specifically for the `start' GDB command.  For regular
 # stop-in-main goal in the testcases consider using `runto_main' instead.
 
index ca091af23ca6b5aa45669a50e297f72d915d8638..29c2a3ba47ea527d74c397c647452e17c0795225 100644 (file)
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile step-break
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile
 
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
      untested step-break.exp
      return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 if ![runto_main] then {
    fail "Can't run to main"
    return 0
index f5b57ce353f4b69e902eb102d095f0b59c56285a..03fc4533cbb0ca5c63d7045a90e2c6915222f1f6 100644 (file)
 # single-stepping the instructions that prepare to call a function.
 
 
-set testfile step-bt
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-    untested "Couldn't compile test program"
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
     return -1
 }
 
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 gdb_test "break *hello" \
          "Breakpoint.*at.* file .*$srcfile, line .*" \
          "breakpoint at first instruction of hello()"
index 1be5dae9670c979333579f130c960f9868ab1771..bc8f2bcca6c08610eb1e56c646fa162ef6024c91 100644 (file)
 # step-line.exp -- Expect script to test stepping in files with
 # #line directives.
 
-set testfile step-line
-set srcfile ${testfile}.c
+standard_testfile
 set linefile ${testfile}.inp
-set binfile ${objdir}/${subdir}/${testfile}
 
-remote_exec build "rm -f ${binfile}"
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-     untested step-line.exp
-     return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    untested $testfile.exp
+    return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
 if ![runto_main] then {
    fail "Can't run to main"
    return 0
index 44af3cbc45767c38729107667f75e8b848e4be56..176bede4f94f44ed1c3f36bd5d2768547fec5ff2 100644 (file)
@@ -13,9 +13,9 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile "step-resume-infcall"
+standard_testfile
 
-if { [prepare_for_testing ${testfile}.exp ${testfile}] } {
+if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile] } {
     return -1
 }
 
index a493f826f5128318ddd88e20f3029230749b7b75..c05b4de022954f0e53c3f44da7378bcf2f6b8abf 100644 (file)
@@ -16,9 +16,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 # step-test.exp -- Expect script to test stepping in gdb
 
-set testfile step-test
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 remote_exec build "rm -f ${binfile}"
 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
@@ -26,10 +24,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debu
      return -1
 }
 
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 if ![runto_main] then {
    fail "Can't run to main"
index 2aa181ea17ea42955787b5336d2cc6fe183095b0..1fe4c28b1e4510516029573d6f6f5adb2e9981be 100644 (file)
@@ -25,9 +25,7 @@ if [target_info exists gdb,cannot_call_functions] {
     continue
 }
 
-set testfile "structs"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 # Regex matching any value of `char' type like: a = 65 'A'
 set anychar_re {-?[0-9]{1,3} '(.|\\([0-7]{3}|[a-z]|\\|'))'}
@@ -49,7 +47,6 @@ proc start_structs_test { types } {
     global testfile
     global srcfile
     global binfile
-    global objdir
     global subdir
     global srcdir
     global gdb_prompt
@@ -67,7 +64,7 @@ proc start_structs_test { types } {
        append testfile "-" "$t"
     }
 
-    set binfile ${objdir}/${subdir}/${testfile}
+    set binfile [standard_output_file ${testfile}]
     if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "${flags}"] != "" } {
        # built the second test case since we can't use prototypes
        warning "Prototypes not supported, rebuilding with -DNO_PROTOTYPES"
index 0753086ff33d923a33e5495ae02400c105c75fa8..fc77cd70a35f79436190c5c92703fa2ca5864f49 100644 (file)
@@ -14,9 +14,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 set prototypes 1
-set testfile "structs2"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 # Create and source the file that provides information about the compiler
 # used to compile the test case.
@@ -37,9 +35,7 @@ if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
 
 # Start with a fresh gdb.
 
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
 
 gdb_test_no_output "set width 0"
 
index e11d171c241a8b5347c0cfd81aab1d664fff0434..251c9b7e0fe9600dd5ddf5cd3d4a335bf7b54d20 100644 (file)
@@ -15,9 +15,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-set testfile "structs3"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .c
 
 if { [prepare_for_testing structs3.exp "structs3" "" {debug}] } {
     return -1
index 76ef84001c99d6f89ec76a580b8fef2b1fb3795a..45af158fb66aed7e6b1382315ffaede45b433b7e 100644 (file)
 # Such file is ${binmainfile} through add-symbol-file here.  Set context first
 # by "list main" to have some local BLOCK set in lookup_symbol_global.
 
-set testfile symbol-without-target_section
-set srclibfile ${testfile}.c
+standard_testfile start.c .c
 set binlibfile ${testfile}.x
-set srcmainfile start.c
-set binmainfile ${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srclibfile}" \
-                 "${objdir}/${subdir}/${binlibfile}" object {debug}] != "" } {
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" \
+                 [standard_output_file ${binlibfile}] object {debug}] != "" } {
     untested ${testfile}.exp
     return -1
 }
-if {[build_executable ${testfile}.exp ${binmainfile} ${srcmainfile} {debug}] == -1} {
+if {[build_executable ${testfile}.exp ${testfile} ${srcfile} {debug}] == -1} {
     return -1
 }
 clean_restart ${binlibfile}
 
-gdb_test "add-symbol-file ${objdir}/${subdir}/${binmainfile} 0" \
+gdb_test "add-symbol-file [standard_output_file ${testfile}] 0" \
     "Reading symbols from .*" \
     "add-symbol-file" \
     "add symbol table from file \".*\" at.*\\(y or n\\) " "y"