summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.cp
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2012-07-10 15:18:18 +0000
committerTom Tromey <tromey@redhat.com>2012-07-10 15:18:18 +0000
commitf5f3a911eca889085f7a9bf46aea6fdfcb98f9bd (patch)
treee6b77b41e6de8367d44b3724a1499523316099a0 /gdb/testsuite/gdb.cp
parent81c82a68dc3bb09bd3b5b4101ed9737814023f1a (diff)
downloadbinutils-gdb-f5f3a911eca889085f7a9bf46aea6fdfcb98f9bd.tar.gz
* gdb.cp/abstract-origin.exp: Use standard_testfile.
* gdb.cp/ambiguous.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/annota2.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/annota3.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/anon-ns.exp: Use standard_testfile. * gdb.cp/anon-struct.exp: Use standard_testfile. * gdb.cp/anon-union.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/arg-reference.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/bool.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/breakpoint.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/bs15503.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/call-c.exp: Use standard_testfile, clean_restart, standard_output_file. * gdb.cp/casts.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/class2.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/classes.exp: Use standard_testfile, prepare_for_testing. (test_static_members): Update. * gdb.cp/cmpd-minsyms.exp: Use standard_testfile. * gdb.cp/converts.exp: Use standard_testfile. * gdb.cp/cp-relocate.exp: Use standard_testfile. * gdb.cp/cpcompletion.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/cpexprs.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/cplabel.exp: Use standard_testfile. * gdb.cp/cplusfuncs.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/ctti.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/derivation.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/destrprint.exp: Use standard_testfile. * gdb.cp/dispcxx.exp: Use standard_testfile. * gdb.cp/exception.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/expand-psymtabs-cxx.exp: Use standard_testfile. * gdb.cp/extern-c.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/formatted-ref.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/fpointer.exp: Use standard_testfile. * gdb.cp/gdb1355.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/gdb2384.exp: Use standard_testfile, clean_restart, standard_output_file. * gdb.cp/gdb2495.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/hang.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/infcall-dlopen.exp: Use standard_testfile, standard_output_file. * gdb.cp/inherit.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/koenig.exp: Use standard_testfile. * gdb.cp/local.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/m-data.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/m-static.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/mb-ctor.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/mb-inline.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/mb-templates.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/member-ptr.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/meth-typedefs.exp: Use standard_testfile. * gdb.cp/method.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/method2.exp: Use standard_testfile. * gdb.cp/minsym-fallback.exp: Use standard_testfile, standard_output_file. * gdb.cp/misc.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/namespace-enum.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/namespace-nested-import.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/namespace.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nextoverthrow.exp: Use standard_testfile. * gdb.cp/no-dmgl-verbose.exp: Use standard_testfile. * gdb.cp/nsdecl.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsimport.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsnested.exp: Use standard_testfile. * gdb.cp/nsnoimports.exp: Use standard_testfile. * gdb.cp/nsrecurs.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsstress.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/nsusing.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/operator.exp: Use standard_testfile. * gdb.cp/oranking.exp: Use standard_testfile. * gdb.cp/overload-const.exp: Use standard_testfile. * gdb.cp/overload.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/ovldbreak.exp: Use standard_testfile. * gdb.cp/ovsrch.exp: Use standard_testfile. * gdb.cp/paren-type.exp: Use standard_testfile. * gdb.cp/pass-by-ref.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr-1023.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr-1210.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr-574.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr10687.exp: Use standard_testfile, clean_restart. * gdb.cp/pr10728.exp: Use standard_testfile, standard_output_file. * gdb.cp/pr12028.exp: Use standard_testfile. * gdb.cp/pr9067.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/pr9167.exp: Use standard_testfile. * gdb.cp/pr9631.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/printmethod.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/psmang.exp: Use standard_testfile, clean_restart. * gdb.cp/psymtab-parameter.exp: Use standard_testfile. * gdb.cp/ptype-cv-cp.exp: Use standard_testfile. * gdb.cp/re-set-overloaded.exp: Use standard_testfile, standard_output_file. * gdb.cp/readnow-language.exp: Use standard_testfile. * gdb.cp/ref-params.exp: Use standard_testfile, build_executable. (gdb_start_again): Use clean_restart. * gdb.cp/ref-types.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/rtti.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/shadow.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/smartp.exp: Use standard_testfile. * gdb.cp/static-method.exp: Use standard_testfile. * gdb.cp/static-print-quit.exp: Use standard_testfile. * gdb.cp/temargs.exp: Use standard_testfile. * gdb.cp/templates.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/try_catch.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/typedef-operator.exp: Use standard_testfile. * gdb.cp/userdef.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/virtbase.exp: Use standard_testfile, prepare_for_testing. * gdb.cp/virtfunc.exp: Use standard_testfile, prepare_for_testing. (do_tests): Update. * gdb.cp/virtfunc2.exp: Use standard_testfile, prepare_for_testing.
Diffstat (limited to 'gdb/testsuite/gdb.cp')
-rw-r--r--gdb/testsuite/gdb.cp/abstract-origin.exp6
-rw-r--r--gdb/testsuite/gdb.cp/ambiguous.exp16
-rw-r--r--gdb/testsuite/gdb.cp/annota2.exp14
-rw-r--r--gdb/testsuite/gdb.cp/annota3.exp14
-rw-r--r--gdb/testsuite/gdb.cp/anon-ns.exp4
-rw-r--r--gdb/testsuite/gdb.cp/anon-struct.exp5
-rw-r--r--gdb/testsuite/gdb.cp/anon-union.exp16
-rw-r--r--gdb/testsuite/gdb.cp/arg-reference.exp12
-rw-r--r--gdb/testsuite/gdb.cp/bool.exp12
-rw-r--r--gdb/testsuite/gdb.cp/breakpoint.exp16
-rw-r--r--gdb/testsuite/gdb.cp/bs15503.exp12
-rw-r--r--gdb/testsuite/gdb.cp/call-c.exp20
-rw-r--r--gdb/testsuite/gdb.cp/casts.exp15
-rw-r--r--gdb/testsuite/gdb.cp/class2.exp12
-rw-r--r--gdb/testsuite/gdb.cp/classes.exp20
-rw-r--r--gdb/testsuite/gdb.cp/cmpd-minsyms.exp5
-rw-r--r--gdb/testsuite/gdb.cp/converts.exp4
-rw-r--r--gdb/testsuite/gdb.cp/cp-relocate.exp5
-rw-r--r--gdb/testsuite/gdb.cp/cpcompletion.exp21
-rw-r--r--gdb/testsuite/gdb.cp/cpexprs.exp15
-rw-r--r--gdb/testsuite/gdb.cp/cplabel.exp4
-rw-r--r--gdb/testsuite/gdb.cp/cplusfuncs.exp21
-rw-r--r--gdb/testsuite/gdb.cp/ctti.exp44
-rw-r--r--gdb/testsuite/gdb.cp/derivation.exp14
-rw-r--r--gdb/testsuite/gdb.cp/destrprint.exp6
-rw-r--r--gdb/testsuite/gdb.cp/dispcxx.exp4
-rw-r--r--gdb/testsuite/gdb.cp/exception.exp17
-rw-r--r--gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp6
-rw-r--r--gdb/testsuite/gdb.cp/extern-c.exp16
-rw-r--r--gdb/testsuite/gdb.cp/formatted-ref.exp14
-rw-r--r--gdb/testsuite/gdb.cp/fpointer.exp4
-rw-r--r--gdb/testsuite/gdb.cp/gdb1355.exp16
-rw-r--r--gdb/testsuite/gdb.cp/gdb2384.exp15
-rw-r--r--gdb/testsuite/gdb.cp/gdb2495.exp16
-rw-r--r--gdb/testsuite/gdb.cp/hang.exp23
-rw-r--r--gdb/testsuite/gdb.cp/infcall-dlopen.exp14
-rw-r--r--gdb/testsuite/gdb.cp/inherit.exp22
-rw-r--r--gdb/testsuite/gdb.cp/koenig.exp4
-rw-r--r--gdb/testsuite/gdb.cp/local.exp17
-rw-r--r--gdb/testsuite/gdb.cp/m-data.exp17
-rw-r--r--gdb/testsuite/gdb.cp/m-static.exp30
-rw-r--r--gdb/testsuite/gdb.cp/mb-ctor.exp14
-rw-r--r--gdb/testsuite/gdb.cp/mb-inline.exp31
-rw-r--r--gdb/testsuite/gdb.cp/mb-templates.exp12
-rw-r--r--gdb/testsuite/gdb.cp/member-ptr.exp14
-rw-r--r--gdb/testsuite/gdb.cp/meth-typedefs.exp3
-rw-r--r--gdb/testsuite/gdb.cp/method.exp17
-rw-r--r--gdb/testsuite/gdb.cp/method2.exp4
-rw-r--r--gdb/testsuite/gdb.cp/minsym-fallback.exp12
-rw-r--r--gdb/testsuite/gdb.cp/misc.exp24
-rw-r--r--gdb/testsuite/gdb.cp/namespace-enum.exp25
-rw-r--r--gdb/testsuite/gdb.cp/namespace-nested-import.exp15
-rw-r--r--gdb/testsuite/gdb.cp/namespace.exp30
-rw-r--r--gdb/testsuite/gdb.cp/nextoverthrow.exp4
-rw-r--r--gdb/testsuite/gdb.cp/no-dmgl-verbose.exp9
-rw-r--r--gdb/testsuite/gdb.cp/nsdecl.exp17
-rw-r--r--gdb/testsuite/gdb.cp/nsimport.exp15
-rw-r--r--gdb/testsuite/gdb.cp/nsnested.exp5
-rw-r--r--gdb/testsuite/gdb.cp/nsnoimports.exp4
-rw-r--r--gdb/testsuite/gdb.cp/nsrecurs.exp19
-rw-r--r--gdb/testsuite/gdb.cp/nsstress.exp17
-rw-r--r--gdb/testsuite/gdb.cp/nsusing.exp19
-rw-r--r--gdb/testsuite/gdb.cp/operator.exp4
-rw-r--r--gdb/testsuite/gdb.cp/oranking.exp4
-rw-r--r--gdb/testsuite/gdb.cp/overload-const.exp5
-rw-r--r--gdb/testsuite/gdb.cp/overload.exp14
-rw-r--r--gdb/testsuite/gdb.cp/ovldbreak.exp5
-rw-r--r--gdb/testsuite/gdb.cp/ovsrch.exp11
-rw-r--r--gdb/testsuite/gdb.cp/paren-type.exp3
-rw-r--r--gdb/testsuite/gdb.cp/pass-by-ref.exp14
-rw-r--r--gdb/testsuite/gdb.cp/pr-1023.exp16
-rw-r--r--gdb/testsuite/gdb.cp/pr-1210.exp14
-rw-r--r--gdb/testsuite/gdb.cp/pr-574.exp17
-rw-r--r--gdb/testsuite/gdb.cp/pr10687.exp6
-rw-r--r--gdb/testsuite/gdb.cp/pr10728.exp18
-rw-r--r--gdb/testsuite/gdb.cp/pr12028.exp4
-rw-r--r--gdb/testsuite/gdb.cp/pr9067.exp14
-rw-r--r--gdb/testsuite/gdb.cp/pr9167.exp6
-rw-r--r--gdb/testsuite/gdb.cp/pr9631.exp16
-rw-r--r--gdb/testsuite/gdb.cp/printmethod.exp17
-rw-r--r--gdb/testsuite/gdb.cp/psmang.exp30
-rw-r--r--gdb/testsuite/gdb.cp/psymtab-parameter.exp10
-rw-r--r--gdb/testsuite/gdb.cp/ptype-cv-cp.exp3
-rw-r--r--gdb/testsuite/gdb.cp/re-set-overloaded.exp12
-rw-r--r--gdb/testsuite/gdb.cp/readnow-language.exp9
-rw-r--r--gdb/testsuite/gdb.cp/ref-params.exp16
-rw-r--r--gdb/testsuite/gdb.cp/ref-types.exp15
-rw-r--r--gdb/testsuite/gdb.cp/rtti.exp37
-rw-r--r--gdb/testsuite/gdb.cp/shadow.exp17
-rw-r--r--gdb/testsuite/gdb.cp/smartp.exp4
-rw-r--r--gdb/testsuite/gdb.cp/static-method.exp3
-rw-r--r--gdb/testsuite/gdb.cp/static-print-quit.exp9
-rw-r--r--gdb/testsuite/gdb.cp/temargs.exp3
-rw-r--r--gdb/testsuite/gdb.cp/templates.exp23
-rw-r--r--gdb/testsuite/gdb.cp/try_catch.exp17
-rw-r--r--gdb/testsuite/gdb.cp/typedef-operator.exp5
-rw-r--r--gdb/testsuite/gdb.cp/userdef.exp16
-rw-r--r--gdb/testsuite/gdb.cp/virtbase.exp14
-rw-r--r--gdb/testsuite/gdb.cp/virtfunc.exp18
-rw-r--r--gdb/testsuite/gdb.cp/virtfunc2.exp14
100 files changed, 315 insertions, 1026 deletions
diff --git a/gdb/testsuite/gdb.cp/abstract-origin.exp b/gdb/testsuite/gdb.cp/abstract-origin.exp
index 68e247b45ce..16c90692a26 100644
--- a/gdb/testsuite/gdb.cp/abstract-origin.exp
+++ b/gdb/testsuite/gdb.cp/abstract-origin.exp
@@ -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 abstract-origin
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/ambiguous.exp b/gdb/testsuite/gdb.cp/ambiguous.exp
index d86806205c8..052c281b680 100644
--- a/gdb/testsuite/gdb.cp/ambiguous.exp
+++ b/gdb/testsuite/gdb.cp/ambiguous.exp
@@ -28,9 +28,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile "ambiguous"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1;
@@ -38,18 +36,10 @@ if [get_compiler_info "c++"] {
if { [test_compiler_info gcc-*] } then { continue }
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ambiguous.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
#
# set it up at a breakpoint so we can play with the variable values
#
diff --git a/gdb/testsuite/gdb.cp/annota2.exp b/gdb/testsuite/gdb.cp/annota2.exp
index 41e1cc52857..9a54face335 100644
--- a/gdb/testsuite/gdb.cp/annota2.exp
+++ b/gdb/testsuite/gdb.cp/annota2.exp
@@ -22,12 +22,10 @@
if { [skip_cplus_tests] } { continue }
-set testfile "annota2"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ nowarnings}] != "" } {
- untested annota2.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile \
+ {debug c++ nowarnings}]} {
return -1
}
@@ -40,12 +38,6 @@ if [is_remote target] then {
return 0
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
#
# line number where we need to stop in main
#
diff --git a/gdb/testsuite/gdb.cp/annota3.exp b/gdb/testsuite/gdb.cp/annota3.exp
index 112fb85f31c..61ee22275b7 100644
--- a/gdb/testsuite/gdb.cp/annota3.exp
+++ b/gdb/testsuite/gdb.cp/annota3.exp
@@ -22,12 +22,10 @@
if { [skip_cplus_tests] } { continue }
-set testfile "annota3"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++ nowarnings}] != "" } {
- untested annota3.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile \
+ {debug c++ nowarnings}]} {
return -1
}
@@ -40,12 +38,6 @@ if [is_remote target] then {
return 0
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
#
# line number where we need to stop in main
#
diff --git a/gdb/testsuite/gdb.cp/anon-ns.exp b/gdb/testsuite/gdb.cp/anon-ns.exp
index 188cdec52f0..19c5f1dc5a3 100644
--- a/gdb/testsuite/gdb.cp/anon-ns.exp
+++ b/gdb/testsuite/gdb.cp/anon-ns.exp
@@ -19,9 +19,7 @@
if {[skip_cplus_tests]} { continue }
-# Tests for c++/12750/12704
-set testfile "anon-ns"
-set srcfile $testfile.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
diff --git a/gdb/testsuite/gdb.cp/anon-struct.exp b/gdb/testsuite/gdb.cp/anon-struct.exp
index 4130e9c4bd9..b3a0806e74e 100644
--- a/gdb/testsuite/gdb.cp/anon-struct.exp
+++ b/gdb/testsuite/gdb.cp/anon-struct.exp
@@ -14,9 +14,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 anon-struct
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/anon-union.exp b/gdb/testsuite/gdb.cp/anon-union.exp
index fe30ef1f193..51b69e2c1af 100644
--- a/gdb/testsuite/gdb.cp/anon-union.exp
+++ b/gdb/testsuite/gdb.cp/anon-union.exp
@@ -26,22 +26,12 @@
if { [skip_cplus_tests] } { continue }
-set testfile "anon-union"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- perror "Testcase compile failed" 0
- continue
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-# Start with a fresh gdb
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/arg-reference.exp b/gdb/testsuite/gdb.cp/arg-reference.exp
index 9eb39856ffe..a65055b6075 100644
--- a/gdb/testsuite/gdb.cp/arg-reference.exp
+++ b/gdb/testsuite/gdb.cp/arg-reference.exp
@@ -24,18 +24,10 @@
if { [skip_cplus_tests] } { continue }
-set testfile "arg-reference"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ${testfile}.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
gdb_test "ptype foo" "type = int \\\(Obj\\\)" "No false reference"
diff --git a/gdb/testsuite/gdb.cp/bool.exp b/gdb/testsuite/gdb.cp/bool.exp
index 9bf1810192b..fec6653cee7 100644
--- a/gdb/testsuite/gdb.cp/bool.exp
+++ b/gdb/testsuite/gdb.cp/bool.exp
@@ -23,20 +23,12 @@
if { [skip_cplus_tests] } { continue }
-set testfile "bool"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested bool.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
runto_main
# Testcases for tdep/2075.
diff --git a/gdb/testsuite/gdb.cp/breakpoint.exp b/gdb/testsuite/gdb.cp/breakpoint.exp
index d512a701b3b..c6155286142 100644
--- a/gdb/testsuite/gdb.cp/breakpoint.exp
+++ b/gdb/testsuite/gdb.cp/breakpoint.exp
@@ -23,23 +23,15 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "breakpoint"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested breakpoint.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
proc test_breakpoint {name} {
# Restart the program every time, so that a single failure doesn't
diff --git a/gdb/testsuite/gdb.cp/bs15503.exp b/gdb/testsuite/gdb.cp/bs15503.exp
index ad2a13d48f6..0803fc9cf05 100644
--- a/gdb/testsuite/gdb.cp/bs15503.exp
+++ b/gdb/testsuite/gdb.cp/bs15503.exp
@@ -24,24 +24,16 @@ if { [istarget "spu*-*-*"] } {
return 0
}
-set testfile "bs15503"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable "debug c++"] != "" } {
- untested bs15503.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/call-c.exp b/gdb/testsuite/gdb.cp/call-c.exp
index a4327e80fcd..68ca35db49b 100644
--- a/gdb/testsuite/gdb.cp/call-c.exp
+++ b/gdb/testsuite/gdb.cp/call-c.exp
@@ -16,24 +16,18 @@
if { [skip_cplus_tests] } { continue }
-set testfile call-c
-set binfile ${objdir}/${subdir}/${testfile}
-set srcfilec ${srcdir}/${subdir}/${testfile}-1.c
-set srcfilecpp ${srcdir}/${subdir}/${testfile}.cc
-set objfilec ${objdir}/${subdir}/${testfile}-1.o
-set objfilecpp ${objdir}/${subdir}/${testfile}.o
-
-if {[gdb_compile "${srcfilec}" "${objfilec}" object {debug}] != ""
- || [gdb_compile "${srcfilecpp}" "${objfilecpp}" object {c++ debug}] != ""
+standard_testfile .cc call-c-1.c
+set objfilec [standard_output_file ${testfile}-1.o]
+set objfilecpp [standard_output_file ${testfile}.o]
+
+if {[gdb_compile "$srcdir/$subdir/${srcfile2}" "${objfilec}" object {debug}] != ""
+ || [gdb_compile "$srcdir/$subdir/${srcfile}" "${objfilecpp}" object {c++ debug}] != ""
|| [gdb_compile "${objfilecpp} ${objfilec}" "${binfile}" executable {c++ debug}] != ""} {
untested ${testfile}.exp
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
runto_main
diff --git a/gdb/testsuite/gdb.cp/casts.exp b/gdb/testsuite/gdb.cp/casts.exp
index 0856ba589a7..2013ab841be 100644
--- a/gdb/testsuite/gdb.cp/casts.exp
+++ b/gdb/testsuite/gdb.cp/casts.exp
@@ -27,25 +27,16 @@
if { [skip_cplus_tests] } { continue }
-set testfile "casts"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1;
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested casts.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/class2.exp b/gdb/testsuite/gdb.cp/class2.exp
index 705e2033b87..3ccbc238bcf 100644
--- a/gdb/testsuite/gdb.cp/class2.exp
+++ b/gdb/testsuite/gdb.cp/class2.exp
@@ -16,9 +16,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile "class2"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
@@ -26,16 +24,10 @@ if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested class2.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Start with "set print object off".
gdb_test_no_output "set print object off"
diff --git a/gdb/testsuite/gdb.cp/classes.exp b/gdb/testsuite/gdb.cp/classes.exp
index 36304b4be51..440677b25d1 100644
--- a/gdb/testsuite/gdb.cp/classes.exp
+++ b/gdb/testsuite/gdb.cp/classes.exp
@@ -22,13 +22,10 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "classes"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested classes.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
# Test ptype of class objects.
@@ -541,21 +538,10 @@ proc test_static_members {} {
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
- global binfile
global gdb_prompt
global nl
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
gdb_test_no_output "set language c++" ""
gdb_test_no_output "set width 0" ""
diff --git a/gdb/testsuite/gdb.cp/cmpd-minsyms.exp b/gdb/testsuite/gdb.cp/cmpd-minsyms.exp
index 0186c0c24f5..fae1ac948ac 100644
--- a/gdb/testsuite/gdb.cp/cmpd-minsyms.exp
+++ b/gdb/testsuite/gdb.cp/cmpd-minsyms.exp
@@ -20,9 +20,10 @@
if {[skip_cplus_tests]} { continue }
# Tests for c++/12273, breakpoint/12803
-set testfile "cmpd-minsyms"
+standard_testfile .cc
+
# Do NOT compile with debug flag.
-if {[prepare_for_testing $testfile $testfile $testfile.cc {c++}]} {
+if {[prepare_for_testing $testfile $testfile $srcfile {c++}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/converts.exp b/gdb/testsuite/gdb.cp/converts.exp
index bd2d84b104b..9b8df58fe7e 100644
--- a/gdb/testsuite/gdb.cp/converts.exp
+++ b/gdb/testsuite/gdb.cp/converts.exp
@@ -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 converts
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/cp-relocate.exp b/gdb/testsuite/gdb.cp/cp-relocate.exp
index 2981228ac83..31b434f1d8f 100644
--- a/gdb/testsuite/gdb.cp/cp-relocate.exp
+++ b/gdb/testsuite/gdb.cp/cp-relocate.exp
@@ -15,9 +15,8 @@
# Test loading symbols from unrelocated C++ object files.
-set testfile cp-relocate
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}.o
+standard_testfile .cc
+append binfile .o
if { [skip_cplus_tests] } { continue }
diff --git a/gdb/testsuite/gdb.cp/cpcompletion.exp b/gdb/testsuite/gdb.cp/cpcompletion.exp
index 9161351a416..dba9c100601 100644
--- a/gdb/testsuite/gdb.cp/cpcompletion.exp
+++ b/gdb/testsuite/gdb.cp/cpcompletion.exp
@@ -51,25 +51,12 @@ proc test_class_complete {class expr name matches} {
if { [skip_cplus_tests] } { continue }
-set testfile pr9594
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile pr9594.cc
-if {[gdb_compile "${srcdir}/${subdir}/${testfile}.cc" "${testfile}.o" object {c++ debug}] != ""} {
- untested cpcompletion.exp
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-if {[gdb_compile "${testfile}.o" ${binfile} executable {c++ debug}] != "" } {
- untested cpcompletion.exp
- return -1
-}
-
-gdb_exit
-
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Test that completion is restricted by class name (all methods)
test_class_complete Foo "" "complete class methods" \
[list Foo Foofoo get_foo set_foo ~Foo]
@@ -79,9 +66,9 @@ test_class_complete Foo F "complete class methods beginning with F" \
# The tests below depend on the current code scope.
-set bp_location [gdb_get_line_number "Set breakpoint here" ${testfile}.cc]
+set bp_location [gdb_get_line_number "Set breakpoint here" ${srcfile}]
-if {![runto "${testfile}.cc:$bp_location"]} {
+if {![runto "${srcfile}:$bp_location"]} {
perror "test suppressed"
return
}
diff --git a/gdb/testsuite/gdb.cp/cpexprs.exp b/gdb/testsuite/gdb.cp/cpexprs.exp
index de50ee3c0fb..aa37315fd6e 100644
--- a/gdb/testsuite/gdb.cp/cpexprs.exp
+++ b/gdb/testsuite/gdb.cp/cpexprs.exp
@@ -674,25 +674,16 @@ if { [istarget "spu*-*-*"] } {
# test running programs
#
-set testfile "cpexprs"
-set srcfile "${testfile}.cc"
-set binfile [file join $objdir $subdir $testfile]
+standard_testfile .cc
-if {[gdb_compile [file join $srcdir $subdir $srcfile] $binfile \
- executable {debug c++}] != "" } {
- untested "$testfile.exp"
+if {[get_compiler_info "c++"]} {
return -1
}
-if {[get_compiler_info "c++"]} {
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir [file join $srcdir $subdir]
-gdb_load $binfile
-
if {![runto_main]} {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/cplabel.exp b/gdb/testsuite/gdb.cp/cplabel.exp
index 30dfa39fb09..41a91960cd7 100644
--- a/gdb/testsuite/gdb.cp/cplabel.exp
+++ b/gdb/testsuite/gdb.cp/cplabel.exp
@@ -17,8 +17,8 @@
if {[skip_cplus_tests]} { continue }
-set testfile cplabel
-set srcfile "$testfile.cc"
+standard_testfile .cc
+
if {[prepare_for_testing "$testfile.exp" $testfile $srcfile {c++ debug}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/cplusfuncs.exp b/gdb/testsuite/gdb.cp/cplusfuncs.exp
index 0a16a8a06b8..e482c825319 100644
--- a/gdb/testsuite/gdb.cp/cplusfuncs.exp
+++ b/gdb/testsuite/gdb.cp/cplusfuncs.exp
@@ -19,17 +19,14 @@
if { [skip_cplus_tests] } { continue }
-set testfile "cplusfuncs"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if { [get_compiler_info "c++"] } {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested cplusfuncs.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
#
@@ -584,20 +581,10 @@ proc test_paddr_hairy_functions {} {
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
global binfile
- global gdb_prompt
global dm_type_int_star
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
+ clean_restart $binfile
gdb_test_no_output "set width 0"
diff --git a/gdb/testsuite/gdb.cp/ctti.exp b/gdb/testsuite/gdb.cp/ctti.exp
index a10fd8df594..ff52003c646 100644
--- a/gdb/testsuite/gdb.cp/ctti.exp
+++ b/gdb/testsuite/gdb.cp/ctti.exp
@@ -24,50 +24,16 @@
if { [skip_cplus_tests] } { continue }
-set testfile "cttiadd"
-set srcfile "${testfile}.cc"
-set srcfile1 "${testfile}1.cc"
-set srcfile2 "${testfile}2.cc"
-set srcfile3 "${testfile}3.cc"
-set objfile "${testfile}.o"
-set objfile1 "${testfile}1.o"
-set objfile2 "${testfile}2.o"
-set objfile3 "${testfile}3.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" "$objdir/$subdir/$objfile" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile3" "$objdir/$subdir/$objfile3" object {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile $objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2 $objdir/$subdir/$objfile3" "${binfile}" executable {debug c++}] != "" } {
- untested ctti.exp
- return -1
-}
+standard_testfile cttiadd.cc cttiadd1.cc cttiadd2.cc cttiadd3.cc
if [get_compiler_info "c++"] {
return -1;
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2 $srcfile3 $srcfile4] {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/derivation.exp b/gdb/testsuite/gdb.cp/derivation.exp
index eafaad6e404..b752b526e48 100644
--- a/gdb/testsuite/gdb.cp/derivation.exp
+++ b/gdb/testsuite/gdb.cp/derivation.exp
@@ -32,20 +32,12 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "derivation"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested derivation.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Set it up at a breakpoint so we can play with the variable values.
if ![runto 'marker1'] then {
diff --git a/gdb/testsuite/gdb.cp/destrprint.exp b/gdb/testsuite/gdb.cp/destrprint.exp
index 377c785d1e4..23d7e146621 100644
--- a/gdb/testsuite/gdb.cp/destrprint.exp
+++ b/gdb/testsuite/gdb.cp/destrprint.exp
@@ -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 destrprint
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/dispcxx.exp b/gdb/testsuite/gdb.cp/dispcxx.exp
index ddb91b28d37..417450467ac 100644
--- a/gdb/testsuite/gdb.cp/dispcxx.exp
+++ b/gdb/testsuite/gdb.cp/dispcxx.exp
@@ -15,9 +15,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile dispcxx
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
untested dispcxx.exp
diff --git a/gdb/testsuite/gdb.cp/exception.exp b/gdb/testsuite/gdb.cp/exception.exp
index 04dd6de2d2e..ae2d8b45a15 100644
--- a/gdb/testsuite/gdb.cp/exception.exp
+++ b/gdb/testsuite/gdb.cp/exception.exp
@@ -41,23 +41,12 @@ if { [istarget "spu*-*-*"] } {
return 0
}
-set testfile "exception"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested exception.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-# Start with a fresh gdb
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Set a catch catchpoint
gdb_test "catch catch" "Catchpoint \[0-9\]+ \\(catch\\)" \
diff --git a/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp b/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
index 2614fb76209..01c56f1cc8b 100644
--- a/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
+++ b/gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp
@@ -16,10 +16,8 @@
#
# This file is part of the gdb testsuite.
-set testfile expand-psymtabs-cxx
-set srcfile ${testfile}.cc
-set executable ${testfile}.x
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
+set executable ${testfile}
if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug c++} ] != "" } {
untested ${testfile}.exp
diff --git a/gdb/testsuite/gdb.cp/extern-c.exp b/gdb/testsuite/gdb.cp/extern-c.exp
index 70c8f93d6ab..eecccc62563 100644
--- a/gdb/testsuite/gdb.cp/extern-c.exp
+++ b/gdb/testsuite/gdb.cp/extern-c.exp
@@ -17,22 +17,12 @@
if { [skip_cplus_tests] } { continue }
-set testfile "extern-c"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested extern-c.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-# Start with a fresh gdb
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
runto_main
if { [gdb_breakpoint "c_func"] == 1 } {
diff --git a/gdb/testsuite/gdb.cp/formatted-ref.exp b/gdb/testsuite/gdb.cp/formatted-ref.exp
index ff274392921..4522a299386 100644
--- a/gdb/testsuite/gdb.cp/formatted-ref.exp
+++ b/gdb/testsuite/gdb.cp/formatted-ref.exp
@@ -30,13 +30,10 @@
if { [skip_cplus_tests] } { continue }
-set testfile "formatted-ref"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested formatted-ref.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
proc get_address { var } {
@@ -113,11 +110,6 @@ proc test_p_op1_equals_op2 {op1 op2} {
gdb_test $test "\\$\[0-9\]+ = true"
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
runto ${srcfile}:[gdb_get_line_number "marker here"]
set s1_address [get_address "s1"]
diff --git a/gdb/testsuite/gdb.cp/fpointer.exp b/gdb/testsuite/gdb.cp/fpointer.exp
index 48e6aadf0e3..6f8c09f8315 100644
--- a/gdb/testsuite/gdb.cp/fpointer.exp
+++ b/gdb/testsuite/gdb.cp/fpointer.exp
@@ -16,8 +16,8 @@
# This tests for evaluation of functions in the form of
# complex expressions.
-set testfile fpointer
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/gdb1355.exp b/gdb/testsuite/gdb.cp/gdb1355.exp
index fb9c73f8234..20726dd1f0d 100644
--- a/gdb/testsuite/gdb.cp/gdb1355.exp
+++ b/gdb/testsuite/gdb.cp/gdb1355.exp
@@ -27,23 +27,15 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "gdb1355"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested gdb1355.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to main"
diff --git a/gdb/testsuite/gdb.cp/gdb2384.exp b/gdb/testsuite/gdb.cp/gdb2384.exp
index 4ae6baa7688..cc3d07f5088 100644
--- a/gdb/testsuite/gdb.cp/gdb2384.exp
+++ b/gdb/testsuite/gdb.cp/gdb2384.exp
@@ -24,13 +24,9 @@
if { [skip_cplus_tests] } { continue }
if { [skip_shlib_tests] } { continue }
-set testfile "gdb2384"
-set srcfile ${testfile}.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc gdb2384-base.cc
-set libfile "gdb2384-base"
-set libsrcfile ${libfile}.cc
-set sofile $objdir/$subdir/${libfile}.so
+set sofile [standard_output_file gdb2384-base.so]
# Create and source the file that provides information about the compiler
# used to compile the test case.
@@ -38,16 +34,13 @@ if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile_shlib $srcdir/$subdir/$libsrcfile $sofile {debug c++}] != ""
+if { [gdb_compile_shlib $srcdir/$subdir/$srcfile2 $sofile {debug c++}] != ""
|| [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug "c++" shlib=${sofile}]] != ""} {
untested gdb2384.exp
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
gdb_load_shlibs ${sofile}
diff --git a/gdb/testsuite/gdb.cp/gdb2495.exp b/gdb/testsuite/gdb.cp/gdb2495.exp
index f47b68aec61..deef927749c 100644
--- a/gdb/testsuite/gdb.cp/gdb2495.exp
+++ b/gdb/testsuite/gdb.cp/gdb2495.exp
@@ -43,9 +43,7 @@ if { [istarget "spu*-*-*"] } {
return 0
}
-set testfile "gdb2495"
-set srcfile ${testfile}.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
@@ -53,11 +51,6 @@ if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested gdb2495.exp
- return -1
-}
-
# Some targets can't do function calls, so don't even bother with this
# test.
if [target_info exists gdb,cannot_call_functions] {
@@ -66,10 +59,9 @@ if [target_info exists gdb,cannot_call_functions] {
continue
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to main"
diff --git a/gdb/testsuite/gdb.cp/hang.exp b/gdb/testsuite/gdb.cp/hang.exp
index 0b83ced9722..d10d249f198 100644
--- a/gdb/testsuite/gdb.cp/hang.exp
+++ b/gdb/testsuite/gdb.cp/hang.exp
@@ -16,28 +16,13 @@
if { [skip_cplus_tests] } { continue }
-set testfile hang
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile hang1.cc hang2.cc hang3.cc
-foreach file {hang1 hang2 hang3} {
- if {[gdb_compile "${srcdir}/${subdir}/${file}.cc" "${file}.o" object {c++ debug}] != ""} {
- untested hang.exp
- return -1
- }
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2 $srcfile3] {debug c++}]} {
+ return -1
}
-if {[gdb_compile "hang1.o hang2.o hang3.o" ${binfile} executable {c++ debug}] != "" } {
- untested hang.exp
- return -1
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
# As of May 1, 2002, GDB hangs trying to read the debug info for the
# `hang2.o' compilation unit from the executable `hang', when compiled
# by g++ 2.96 with STABS debugging info. Here's what's going on, as
diff --git a/gdb/testsuite/gdb.cp/infcall-dlopen.exp b/gdb/testsuite/gdb.cp/infcall-dlopen.exp
index 3f04a085f98..4a2c009948e 100644
--- a/gdb/testsuite/gdb.cp/infcall-dlopen.exp
+++ b/gdb/testsuite/gdb.cp/infcall-dlopen.exp
@@ -21,17 +21,13 @@ if [get_compiler_info] {
return -1
}
-set testfile "infcall-dlopen"
-set srcmainfile ${testfile}.cc
-set srclibfile ${testfile}-lib.cc
-set executable ${testfile}
-set libfile ${objdir}/${subdir}/${executable}.so
-set binfile ${objdir}/${subdir}/${executable}
-set lib_dlopen [shlib_target_file ${executable}.so]
+standard_testfile .cc infcall-dlopen-lib.cc
+set libfile [standard_output_file ${testfile}.so]
+set lib_dlopen [shlib_target_file ${testfile}.so]
# Use completely arbitrary file for $libfile source.
-if { [gdb_compile_shlib ${srcdir}/${subdir}/${srclibfile} ${libfile} {debug c++}] != ""
- || [prepare_for_testing ${testfile}.exp ${executable} ${srcmainfile} {debug c++ shlib_load}] } {
+if { [gdb_compile_shlib ${srcdir}/${subdir}/${srcfile2} ${libfile} {debug c++}] != ""
+ || [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++ shlib_load}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/inherit.exp b/gdb/testsuite/gdb.cp/inherit.exp
index 7a590533572..fc5f2e28787 100644
--- a/gdb/testsuite/gdb.cp/inherit.exp
+++ b/gdb/testsuite/gdb.cp/inherit.exp
@@ -25,13 +25,10 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "inherit"
-set srcfile misc.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile misc.cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested inherit.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
# Single inheritance, print type definitions.
@@ -658,19 +655,6 @@ proc test_print_mvi_classes { } {
}
proc do_tests { } {
- global subdir
- global objdir
- global srcdir
- global binfile
-
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
gdb_test_no_output "set width 0"
if { ![runto_main] } then {
diff --git a/gdb/testsuite/gdb.cp/koenig.exp b/gdb/testsuite/gdb.cp/koenig.exp
index 100a32a7592..ee6634eba8f 100644
--- a/gdb/testsuite/gdb.cp/koenig.exp
+++ b/gdb/testsuite/gdb.cp/koenig.exp
@@ -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 koenig
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/local.exp b/gdb/testsuite/gdb.cp/local.exp
index c6592815538..4767fa14c63 100644
--- a/gdb/testsuite/gdb.cp/local.exp
+++ b/gdb/testsuite/gdb.cp/local.exp
@@ -29,24 +29,15 @@ set nl "\[\r\n\]+"
if { [skip_cplus_tests] } { continue }
-set testfile "local"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested local.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
#
# set it up at a breakpoint so we can play with the variable values
diff --git a/gdb/testsuite/gdb.cp/m-data.exp b/gdb/testsuite/gdb.cp/m-data.exp
index 16f72bff7d5..a636596f183 100644
--- a/gdb/testsuite/gdb.cp/m-data.exp
+++ b/gdb/testsuite/gdb.cp/m-data.exp
@@ -24,24 +24,15 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "m-data"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested m-data.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/m-static.exp b/gdb/testsuite/gdb.cp/m-static.exp
index 26f94583c9c..0ac1d2eb0b7 100644
--- a/gdb/testsuite/gdb.cp/m-static.exp
+++ b/gdb/testsuite/gdb.cp/m-static.exp
@@ -25,36 +25,16 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "m-static"
-set srcfile "${testfile}.cc"
-set srcfile1 "${testfile}1.cc"
-set objfile "${testfile}.o"
-set objfile1 "${testfile}1.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile" "$objdir/$subdir/$objfile" object {debug c++}] != "" } {
- untested m-static.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested m-static.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile $objdir/$subdir/$objfile1" "${binfile}" executable {debug c++}] != "" } {
- untested m-static.exp
- return -1
-}
+standard_testfile .cc m-static1.cc
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 \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/mb-ctor.exp b/gdb/testsuite/gdb.cp/mb-ctor.exp
index 49f1e35c965..4c765350ff1 100644
--- a/gdb/testsuite/gdb.cp/mb-ctor.exp
+++ b/gdb/testsuite/gdb.cp/mb-ctor.exp
@@ -19,24 +19,16 @@
if { [skip_cplus_tests] } { continue }
-set testfile "mb-ctor"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested mb-ctor.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/mb-inline.exp b/gdb/testsuite/gdb.cp/mb-inline.exp
index 13a8fb4e938..d223bae8698 100644
--- a/gdb/testsuite/gdb.cp/mb-inline.exp
+++ b/gdb/testsuite/gdb.cp/mb-inline.exp
@@ -20,38 +20,17 @@
if { [skip_cplus_tests] } { continue }
-
-set testfile "mb-inline"
+standard_testfile mb-inline1.cc mb-inline2.cc
set hdrfile "${testfile}.h"
-set srcfile1 "${testfile}1.cc"
-set objfile1 "${testfile}1.o"
-set srcfile2 "${testfile}2.cc"
-set objfile2 "${testfile}2.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested mb-inline.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
- untested mb-inline.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2" "${binfile}" executable {debug c++}] != "" } {
- untested mb-inline.exp
- return -1
-}
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
+}
set bp_location [gdb_get_line_number "set breakpoint here" $hdrfile]
diff --git a/gdb/testsuite/gdb.cp/mb-templates.exp b/gdb/testsuite/gdb.cp/mb-templates.exp
index c1d3ebc7ee2..8aab4156d6d 100644
--- a/gdb/testsuite/gdb.cp/mb-templates.exp
+++ b/gdb/testsuite/gdb.cp/mb-templates.exp
@@ -24,22 +24,16 @@ if { [istarget "spu*-*-*"] } {
}
-set testfile "mb-templates"
-set srcfile ${testfile}.cc
-set executable ${testfile}
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested mb-templates.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-clean_restart ${executable}
-
set bp_location [gdb_get_line_number "set breakpoint here"]
# Set a breakpoint with multiple locations
diff --git a/gdb/testsuite/gdb.cp/member-ptr.exp b/gdb/testsuite/gdb.cp/member-ptr.exp
index f5b289acfc7..f569ca9343a 100644
--- a/gdb/testsuite/gdb.cp/member-ptr.exp
+++ b/gdb/testsuite/gdb.cp/member-ptr.exp
@@ -25,24 +25,16 @@ set vhn "\\$\[0-9\]+"
if { [skip_cplus_tests] } { continue }
-set testfile "member-ptr"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested member-ptr.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/meth-typedefs.exp b/gdb/testsuite/gdb.cp/meth-typedefs.exp
index 73ffa1b187c..b27d1248e0c 100644
--- a/gdb/testsuite/gdb.cp/meth-typedefs.exp
+++ b/gdb/testsuite/gdb.cp/meth-typedefs.exp
@@ -33,8 +33,7 @@ proc add {var name params expected {kind {func}}} {
if {[skip_cplus_tests]} { continue }
# Tests for c++/12266 et al
-set testfile "meth-typedefs"
-set srcfile $testfile.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
diff --git a/gdb/testsuite/gdb.cp/method.exp b/gdb/testsuite/gdb.cp/method.exp
index 2b2b3ee641b..193a253c383 100644
--- a/gdb/testsuite/gdb.cp/method.exp
+++ b/gdb/testsuite/gdb.cp/method.exp
@@ -35,24 +35,15 @@
if { [skip_cplus_tests] } { continue }
-set testfile "method"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested method.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
#
# set it up at a breakpoint so we can play with the variable values
diff --git a/gdb/testsuite/gdb.cp/method2.exp b/gdb/testsuite/gdb.cp/method2.exp
index 2aa035ec317..34c874a9ae7 100644
--- a/gdb/testsuite/gdb.cp/method2.exp
+++ b/gdb/testsuite/gdb.cp/method2.exp
@@ -20,9 +20,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile "method2"
-set srcfile $testfile.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
untested method2.exp
diff --git a/gdb/testsuite/gdb.cp/minsym-fallback.exp b/gdb/testsuite/gdb.cp/minsym-fallback.exp
index 5a2ac6d2b72..6f2f50f3c42 100644
--- a/gdb/testsuite/gdb.cp/minsym-fallback.exp
+++ b/gdb/testsuite/gdb.cp/minsym-fallback.exp
@@ -17,15 +17,13 @@
# only a declaration there for the method. The method is then defined in
# a different file providing only ELF symbols.
-set testfile minsym-fallback
-set srcfile ${testfile}.cc
-set srcmainfile ${testfile}-main.cc
+standard_testfile .cc minsym-fallback-main.cc
set executable $testfile
-set objfile $objdir/$subdir/${testfile}.o
-set objmainfile $objdir/$subdir/${testfile}-main.o
-set binfile $objdir/$subdir/$executable
+set objfile [standard_output_file ${testfile}.o]
+set objmainfile [standard_output_file ${testfile}-main.o]
+
if {[gdb_compile $srcdir/$subdir/$srcfile $objfile object {}] != ""
- || [gdb_compile $srcdir/$subdir/$srcmainfile $objmainfile object {debug}] != ""
+ || [gdb_compile $srcdir/$subdir/$srcfile2 $objmainfile object {debug}] != ""
|| [gdb_compile "$objfile $objmainfile" $binfile executable {c++}] != ""} {
untested ${testfile}.exp
return -1
diff --git a/gdb/testsuite/gdb.cp/misc.exp b/gdb/testsuite/gdb.cp/misc.exp
index a3ea820b59b..9d1ed0e5083 100644
--- a/gdb/testsuite/gdb.cp/misc.exp
+++ b/gdb/testsuite/gdb.cp/misc.exp
@@ -18,12 +18,10 @@
if { [skip_cplus_tests] } { continue }
-set testfile "misc"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested misc.exp
- return -1
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
#
@@ -66,20 +64,6 @@ proc test_expr { args } {
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
- global binfile
- global gdb_prompt
-
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
deduce_language_of_main
# Check for fixes for PRs 8916 and 8630
gdb_test "print s.a" ".* = 0" "print s.a for foo struct (known gcc 2.7.2 and earlier bug)"
diff --git a/gdb/testsuite/gdb.cp/namespace-enum.exp b/gdb/testsuite/gdb.cp/namespace-enum.exp
index 9847a1d3f9a..c293dbd2267 100644
--- a/gdb/testsuite/gdb.cp/namespace-enum.exp
+++ b/gdb/testsuite/gdb.cp/namespace-enum.exp
@@ -13,30 +13,13 @@
# 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 namespace-enum
-set srcfile0 ${testfile}.cc
-set objfile0 ${testfile}.o
-set srcfile1 ${testfile}-main.cc
-set objfile1 ${testfile}-main.o
-set executable ${testfile}
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc namespace-enum-main.cc
-if { [gdb_compile "$srcdir/$subdir/$srcfile0" "$objdir/$subdir/$objfile0" object {debug c++}] != "" } {
- untested namespace-enum.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
}
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested namespace-enum.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile0 $objdir/$subdir/$objfile1" "${binfile}" executable {debug c++}] != "" } {
- untested namespace-enum.exp
- return -1
-}
-
-clean_restart ${executable}
gdb_test "print foo::B::B_B" "`foo::B' is not defined as an aggregate type."
gdb_test "print foo::B_B" "foo::B_B"
gdb_test "print A_A" "A_A"
diff --git a/gdb/testsuite/gdb.cp/namespace-nested-import.exp b/gdb/testsuite/gdb.cp/namespace-nested-import.exp
index 15506ae33c4..24507ce8d11 100644
--- a/gdb/testsuite/gdb.cp/namespace-nested-import.exp
+++ b/gdb/testsuite/gdb.cp/namespace-nested-import.exp
@@ -14,21 +14,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile namespace-nested-import
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
############################################
# Test printing of a variable from a nested
# in a namespace inner to the one which has
diff --git a/gdb/testsuite/gdb.cp/namespace.exp b/gdb/testsuite/gdb.cp/namespace.exp
index f56198c91ef..fefd796ec9a 100644
--- a/gdb/testsuite/gdb.cp/namespace.exp
+++ b/gdb/testsuite/gdb.cp/namespace.exp
@@ -28,12 +28,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile "namespace"
-set srcfile ${testfile}.cc
-set objfile ${objdir}/${subdir}/${testfile}.o
-set srcfile1 ${testfile}1.cc
-set objfile1 ${objdir}/${subdir}/${testfile}1.o
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc namespace1.cc
if [get_compiler_info c++] {
return -1;
@@ -46,26 +41,11 @@ if {[test_compiler_info {gcc-[0-3]-*}]
set xfail_class_types 1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${objfile}" object {debug c++}] != "" } {
- untested namespace.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${objfile1}" object {debug c++}] != "" } {
- untested namespace.exp
- return -1
-}
-
-if { [gdb_compile "${objfile} ${objfile1}" "${binfile}" executable {debug c++}] != "" } {
- untested namespace.exp
- return -1
-}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
gdb_test "show lang" "auto; currently c\\+\\+.*"
#
@@ -142,7 +122,7 @@ gdb_test "break AAA::xyzq" \
# Break on a function in the global namespace.
gdb_test "break ::ensureOtherRefs" \
- "Breakpoint.*at $hex: file.*$srcfile1, line $decimal\\."
+ "Breakpoint.*at $hex: file.*$srcfile2, line $decimal\\."
# Call a function in a nested namespace
diff --git a/gdb/testsuite/gdb.cp/nextoverthrow.exp b/gdb/testsuite/gdb.cp/nextoverthrow.exp
index 8045e570224..53f59d750f1 100644
--- a/gdb/testsuite/gdb.cp/nextoverthrow.exp
+++ b/gdb/testsuite/gdb.cp/nextoverthrow.exp
@@ -16,9 +16,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile "nextoverthrow"
-set srcfile ${testfile}.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
diff --git a/gdb/testsuite/gdb.cp/no-dmgl-verbose.exp b/gdb/testsuite/gdb.cp/no-dmgl-verbose.exp
index 6bf2f0331c2..4dc181b0f1e 100644
--- a/gdb/testsuite/gdb.cp/no-dmgl-verbose.exp
+++ b/gdb/testsuite/gdb.cp/no-dmgl-verbose.exp
@@ -15,19 +15,16 @@
# Test loading symbols from unrelocated C++ object files.
-set testfile no-dmgl-verbose
-set srcfile ${testfile}.cc
-set executable ${testfile}.o
-set binfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
if { [skip_cplus_tests] } { continue }
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {c++ debug}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.o" object {c++ debug}] != "" } {
untested ${testfile}.exp
return -1
}
-clean_restart ${executable}
+clean_restart ${testfile}.o
gdb_test_no_output "set breakpoint pending off"
diff --git a/gdb/testsuite/gdb.cp/nsdecl.exp b/gdb/testsuite/gdb.cp/nsdecl.exp
index cf37451001b..23698fd9be4 100644
--- a/gdb/testsuite/gdb.cp/nsdecl.exp
+++ b/gdb/testsuite/gdb.cp/nsdecl.exp
@@ -16,24 +16,15 @@
# Stress test the lookup of declarations
-set testfile nsdecl
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1;
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
diff --git a/gdb/testsuite/gdb.cp/nsimport.exp b/gdb/testsuite/gdb.cp/nsimport.exp
index 6f937a7f29d..4547d26ce79 100644
--- a/gdb/testsuite/gdb.cp/nsimport.exp
+++ b/gdb/testsuite/gdb.cp/nsimport.exp
@@ -17,21 +17,12 @@
# imported into the same scope.
-set testfile nsimport
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
############################################
# test printing of namespace imported within
# the function.
diff --git a/gdb/testsuite/gdb.cp/nsnested.exp b/gdb/testsuite/gdb.cp/nsnested.exp
index 420483ac74a..766eb330908 100644
--- a/gdb/testsuite/gdb.cp/nsnested.exp
+++ b/gdb/testsuite/gdb.cp/nsnested.exp
@@ -13,9 +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 nsnested
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/nsnoimports.exp b/gdb/testsuite/gdb.cp/nsnoimports.exp
index d1ed3b3fa8a..38e45773f20 100644
--- a/gdb/testsuite/gdb.cp/nsnoimports.exp
+++ b/gdb/testsuite/gdb.cp/nsnoimports.exp
@@ -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 nsnoimports
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/nsrecurs.exp b/gdb/testsuite/gdb.cp/nsrecurs.exp
index ced50d6df40..5ea4376e405 100644
--- a/gdb/testsuite/gdb.cp/nsrecurs.exp
+++ b/gdb/testsuite/gdb.cp/nsrecurs.exp
@@ -14,26 +14,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile nsrecurs
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" \
- "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
diff --git a/gdb/testsuite/gdb.cp/nsstress.exp b/gdb/testsuite/gdb.cp/nsstress.exp
index ebefb7812e8..92ca6c766d5 100644
--- a/gdb/testsuite/gdb.cp/nsstress.exp
+++ b/gdb/testsuite/gdb.cp/nsstress.exp
@@ -16,24 +16,15 @@
# Stress test namespace lookup
-set testfile nsstress
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
diff --git a/gdb/testsuite/gdb.cp/nsusing.exp b/gdb/testsuite/gdb.cp/nsusing.exp
index bb8954710a7..0a052a2500d 100644
--- a/gdb/testsuite/gdb.cp/nsusing.exp
+++ b/gdb/testsuite/gdb.cp/nsusing.exp
@@ -14,26 +14,15 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-set testfile nsusing
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
- {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
############################################
# test printing of namespace imported within
diff --git a/gdb/testsuite/gdb.cp/operator.exp b/gdb/testsuite/gdb.cp/operator.exp
index a7775671bb6..d60af8f14aa 100644
--- a/gdb/testsuite/gdb.cp/operator.exp
+++ b/gdb/testsuite/gdb.cp/operator.exp
@@ -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 operator
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/oranking.exp b/gdb/testsuite/gdb.cp/oranking.exp
index cc72728fcab..d2330dcfeee 100644
--- a/gdb/testsuite/gdb.cp/oranking.exp
+++ b/gdb/testsuite/gdb.cp/oranking.exp
@@ -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 oranking
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/overload-const.exp b/gdb/testsuite/gdb.cp/overload-const.exp
index 2a64356fb88..1fec157c03d 100644
--- a/gdb/testsuite/gdb.cp/overload-const.exp
+++ b/gdb/testsuite/gdb.cp/overload-const.exp
@@ -17,8 +17,9 @@
if {[skip_cplus_tests]} { continue }
-set testfile "overload-const"
-if [prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/overload.exp b/gdb/testsuite/gdb.cp/overload.exp
index 5116e5f1eb2..43eeabf8009 100644
--- a/gdb/testsuite/gdb.cp/overload.exp
+++ b/gdb/testsuite/gdb.cp/overload.exp
@@ -26,20 +26,12 @@ set nl "\[\r\n\]+"
if { [skip_cplus_tests] } { continue }
-set testfile "overload"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested overload.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
# Set it up at a breakpoint so we can play with the variable values.
if ![runto 'marker1'] then {
diff --git a/gdb/testsuite/gdb.cp/ovldbreak.exp b/gdb/testsuite/gdb.cp/ovldbreak.exp
index 2c27f2ddabd..1aad559c080 100644
--- a/gdb/testsuite/gdb.cp/ovldbreak.exp
+++ b/gdb/testsuite/gdb.cp/ovldbreak.exp
@@ -31,12 +31,9 @@ set timeout 15
if { [skip_cplus_tests] } { continue }
-set testfile "ovldbreak"
-set srcfile $testfile.cc
-set binfile $objdir/$subdir/$testfile
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
- untested ovldbreak.exp
return -1
}
diff --git a/gdb/testsuite/gdb.cp/ovsrch.exp b/gdb/testsuite/gdb.cp/ovsrch.exp
index 5af536860a1..b31c65578ab 100644
--- a/gdb/testsuite/gdb.cp/ovsrch.exp
+++ b/gdb/testsuite/gdb.cp/ovsrch.exp
@@ -55,15 +55,10 @@ proc test_class {class} {
if { [skip_cplus_tests] } { continue }
# Test for c++/11734
-set testfile "ovsrch"
-set binfile [file join $objdir $subdir $testfile]
+standard_testfile ovsrch1.cc ovsrch2.cc ovsrch3.cc ovsrch4.cc
-set srcfiles {}
-for {set i 1} {$i < 5} {incr i} {
- lappend srcfiles $testfile$i.cc
-}
-
-if {[prepare_for_testing $testfile $testfile $srcfiles {c++ debug}]} {
+if {[prepare_for_testing $testfile $testfile \
+ [list $srcfile $srcfile2 $srcfile3 $srcfile4] {c++ debug}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/paren-type.exp b/gdb/testsuite/gdb.cp/paren-type.exp
index 2f722b74e9d..2cc993d3fa8 100644
--- a/gdb/testsuite/gdb.cp/paren-type.exp
+++ b/gdb/testsuite/gdb.cp/paren-type.exp
@@ -13,7 +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 paren-type
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${testfile}.cc {c++ debug}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/pass-by-ref.exp b/gdb/testsuite/gdb.cp/pass-by-ref.exp
index 19cbf97ae8d..74dfec527e6 100644
--- a/gdb/testsuite/gdb.cp/pass-by-ref.exp
+++ b/gdb/testsuite/gdb.cp/pass-by-ref.exp
@@ -18,20 +18,12 @@
if { [skip_cplus_tests] } { continue }
-set testfile "pass-by-ref"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
- executable {debug c++}] != "" } {
- untested pass-by-ref.exp
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/pr-1023.exp b/gdb/testsuite/gdb.cp/pr-1023.exp
index ff5d3fa134e..0f0b5230895 100644
--- a/gdb/testsuite/gdb.cp/pr-1023.exp
+++ b/gdb/testsuite/gdb.cp/pr-1023.exp
@@ -24,23 +24,15 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "pr-1023"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr-1023.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/pr-1210.exp b/gdb/testsuite/gdb.cp/pr-1210.exp
index 8c2d733e6de..6e4ab579d28 100644
--- a/gdb/testsuite/gdb.cp/pr-1210.exp
+++ b/gdb/testsuite/gdb.cp/pr-1210.exp
@@ -23,24 +23,16 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "pr-1210"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr-1210.exp
+if [get_compiler_info "c++"] {
return -1
}
-if [get_compiler_info "c++"] {
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/pr-574.exp b/gdb/testsuite/gdb.cp/pr-574.exp
index d8eac399e51..50bce1898b5 100644
--- a/gdb/testsuite/gdb.cp/pr-574.exp
+++ b/gdb/testsuite/gdb.cp/pr-574.exp
@@ -26,24 +26,15 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "pr-574"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr-574.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/pr10687.exp b/gdb/testsuite/gdb.cp/pr10687.exp
index f7e60889c2a..318477ec637 100644
--- a/gdb/testsuite/gdb.cp/pr10687.exp
+++ b/gdb/testsuite/gdb.cp/pr10687.exp
@@ -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 pr10687
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/pr10728.exp b/gdb/testsuite/gdb.cp/pr10728.exp
index 7568d66472c..3391a19fa4e 100644
--- a/gdb/testsuite/gdb.cp/pr10728.exp
+++ b/gdb/testsuite/gdb.cp/pr10728.exp
@@ -21,18 +21,16 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "pr10728"
-set srcfile ${testfile}-x.cc
-set tfx ${testfile}-x
-set tfy ${testfile}-y
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile pr10728-x.cc pr10728-y.cc
+set tfx [standard_output_file pr10728-x.o]
+set tfy [standard_output_file pr10728-y.o]
-if { [gdb_compile "${srcdir}/${subdir}/${tfy}.cc" "${tfy}.o" object {c++}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/$srcfile2" "${tfy}.o" object {c++}] != "" } {
untested pr10728.exp
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${tfx}.cc" "${tfx}.o" object {debug c++}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/$srcfile" "${tfx}.o" object {debug c++}] != "" } {
untested pr10728.exp
return -1
}
@@ -42,11 +40,7 @@ if { [gdb_compile "${tfx}.o ${tfy}.o" ${binfile} executable {debug c++}] != ""
return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart $binfile
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/pr12028.exp b/gdb/testsuite/gdb.cp/pr12028.exp
index 2c3b406980d..b68235eda22 100644
--- a/gdb/testsuite/gdb.cp/pr12028.exp
+++ b/gdb/testsuite/gdb.cp/pr12028.exp
@@ -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 pr12028
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/pr9067.exp b/gdb/testsuite/gdb.cp/pr9067.exp
index 31d4e809614..cf80be0e145 100644
--- a/gdb/testsuite/gdb.cp/pr9067.exp
+++ b/gdb/testsuite/gdb.cp/pr9067.exp
@@ -19,20 +19,12 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "pr9067"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
- untested pr9067.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/pr9167.exp b/gdb/testsuite/gdb.cp/pr9167.exp
index 0a99093e811..7c86b39e73f 100644
--- a/gdb/testsuite/gdb.cp/pr9167.exp
+++ b/gdb/testsuite/gdb.cp/pr9167.exp
@@ -18,9 +18,9 @@ if { [istarget "spu*-*-*"] } {
return 0
}
-set testfile pr9167
-set srcfile ${testfile}.cc
-if [prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/pr9631.exp b/gdb/testsuite/gdb.cp/pr9631.exp
index 34ee5494d6f..a74b82ddaf5 100644
--- a/gdb/testsuite/gdb.cp/pr9631.exp
+++ b/gdb/testsuite/gdb.cp/pr9631.exp
@@ -17,23 +17,15 @@
if { [skip_cplus_tests] } { continue }
-set testfile "pr9631"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested pr9631.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/printmethod.exp b/gdb/testsuite/gdb.cp/printmethod.exp
index 1be6a779664..c441ea7e7a8 100644
--- a/gdb/testsuite/gdb.cp/printmethod.exp
+++ b/gdb/testsuite/gdb.cp/printmethod.exp
@@ -25,24 +25,15 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "printmethod"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested printmethod.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/psmang.exp b/gdb/testsuite/gdb.cp/psmang.exp
index 1dc5368487b..fc895e6c68f 100644
--- a/gdb/testsuite/gdb.cp/psmang.exp
+++ b/gdb/testsuite/gdb.cp/psmang.exp
@@ -178,42 +178,22 @@
if { [skip_cplus_tests] } { continue }
-set testfile "psmang"
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile psmang1.cc psmang2.cc
if [get_compiler_info "c++"] {
return -1;
}
-if { [gdb_compile "${srcdir}/${subdir}/${testfile}1.cc" "${testfile}1.o" object {debug c++}] != "" } {
- untested psmang.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${testfile}2.cc" "${testfile}2.o" object {debug c++}] != "" } {
- untested psmang.exp
- return -1
-}
-
-if { [gdb_compile "${testfile}1.o ${testfile}2.o" ${binfile} executable {debug c++}] != "" } {
- untested psmang.exp
- return -1
-}
-
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
gdb_test "break s::method1" "Breakpoint .* at .*: file .*psmang1.cc.*"
# We have to exit and restart GDB here, to make sure that all the
# compilation units are psymtabs again.
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
gdb_test "break s::method2" "Breakpoint .* at .*: file .*psmang2.cc.*"
diff --git a/gdb/testsuite/gdb.cp/psymtab-parameter.exp b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
index 1d6050714c1..c74fa8bcee1 100644
--- a/gdb/testsuite/gdb.cp/psymtab-parameter.exp
+++ b/gdb/testsuite/gdb.cp/psymtab-parameter.exp
@@ -15,18 +15,14 @@
if { [skip_cplus_tests] } { continue }
+standard_testfile .cc
-set testfile psymtab-parameter
-set executable ${testfile}.x
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${executable}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug c++}] != "" } {
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}.x" object {debug c++}] != "" } {
untested ${testfile}.exp
return -1
}
-clean_restart $executable
+clean_restart $testfile.x
# As `main' is not present GDB fails to find the proper inferior language.
gdb_test_no_output "set language c++"
diff --git a/gdb/testsuite/gdb.cp/ptype-cv-cp.exp b/gdb/testsuite/gdb.cp/ptype-cv-cp.exp
index 2eb962ba24d..c53785bde3c 100644
--- a/gdb/testsuite/gdb.cp/ptype-cv-cp.exp
+++ b/gdb/testsuite/gdb.cp/ptype-cv-cp.exp
@@ -17,8 +17,7 @@
if { [skip_cplus_tests] } { continue }
-set testfile "ptype-cv-cp"
-set srcfile ${testfile}.cc
+standard_testfile .cc
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
diff --git a/gdb/testsuite/gdb.cp/re-set-overloaded.exp b/gdb/testsuite/gdb.cp/re-set-overloaded.exp
index c6ecd2145eb..30adb757c19 100644
--- a/gdb/testsuite/gdb.cp/re-set-overloaded.exp
+++ b/gdb/testsuite/gdb.cp/re-set-overloaded.exp
@@ -16,13 +16,9 @@
if { [skip_cplus_tests] } { continue }
if { [skip_shlib_tests] } { continue }
-set testfile re-set-overloaded
-set srcfile bool.cc
-set executable $testfile
-set binfile $objdir/$subdir/$executable
+standard_testfile bool.cc .cc
-set libsrcfile ${testfile}.cc
-set sofile $objdir/$subdir/${testfile}.so
+set sofile [standard_output_file ${testfile}.so]
# Create and source the file that provides information about the compiler
# used to compile the test case.
@@ -30,13 +26,13 @@ if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile_shlib $srcdir/$subdir/$libsrcfile $sofile {debug c++}] != ""
+if { [gdb_compile_shlib $srcdir/$subdir/$srcfile2 $sofile {debug c++}] != ""
|| [gdb_compile $srcdir/$subdir/$srcfile $binfile executable [list debug "c++" shlib=${sofile}]] != ""} {
untested ${testfile}.exp
return -1
}
-clean_restart $executable
+clean_restart $testfile
gdb_load_shlibs ${sofile}
gdb_test_no_output "set breakpoint pending yes"
diff --git a/gdb/testsuite/gdb.cp/readnow-language.exp b/gdb/testsuite/gdb.cp/readnow-language.exp
index 66141126ec2..a85b97006c9 100644
--- a/gdb/testsuite/gdb.cp/readnow-language.exp
+++ b/gdb/testsuite/gdb.cp/readnow-language.exp
@@ -13,16 +13,15 @@
# 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 readnow-language
-set srcfile ${testfile}.cc
-set executable ${testfile}
-if {[build_executable ${testfile}.exp $executable ${testfile}.cc {c++ debug}] == -1} {
+standard_testfile .cc
+
+if {[build_executable ${testfile}.exp $testfile ${testfile}.cc {c++ debug}] == -1} {
return -1
}
set old_gdbflags $GDBFLAGS
set GDBFLAGS "$GDBFLAGS -readnow"
-clean_restart $executable
+clean_restart $testfile
set GDBFLAGS $old_gdbflags
gdb_test "show language" {The current source language is "auto; currently c\+\+"\.}
diff --git a/gdb/testsuite/gdb.cp/ref-params.exp b/gdb/testsuite/gdb.cp/ref-params.exp
index f133a894dbe..3305e70d2f2 100644
--- a/gdb/testsuite/gdb.cp/ref-params.exp
+++ b/gdb/testsuite/gdb.cp/ref-params.exp
@@ -22,27 +22,19 @@
if { [skip_cplus_tests] } { continue }
-set testfile "ref-params"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ref-params.exp
- return -1
+if {[build_executable $testfile.exp $testfile $srcfile {debug c++}] == 1} {
+ return -1
}
gdb_exit
proc gdb_start_again { text } {
- global srcdir
- global subdir
global binfile
global srcfile
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load ${binfile}
+ clean_restart $binfile
runto ${srcfile}:[gdb_get_line_number $text]
}
diff --git a/gdb/testsuite/gdb.cp/ref-types.exp b/gdb/testsuite/gdb.cp/ref-types.exp
index 346aac40788..2002d7be60d 100644
--- a/gdb/testsuite/gdb.cp/ref-types.exp
+++ b/gdb/testsuite/gdb.cp/ref-types.exp
@@ -22,21 +22,12 @@
if { [skip_cplus_tests] } { continue }
-set testfile "ref-types"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested ref-types.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
#
# set it up at a breakpoint so we can play with the variable values
#
diff --git a/gdb/testsuite/gdb.cp/rtti.exp b/gdb/testsuite/gdb.cp/rtti.exp
index ebd8d27fbe3..e5a8d3b3253 100644
--- a/gdb/testsuite/gdb.cp/rtti.exp
+++ b/gdb/testsuite/gdb.cp/rtti.exp
@@ -32,37 +32,16 @@ if { [skip_cplus_tests] } { continue }
# test running programs
#
-set testfile "rtti"
-set srcfile1 "${testfile}1.cc"
-set objfile1 "${testfile}1.o"
-set srcfile2 "${testfile}2.cc"
-set objfile2 "${testfile}2.o"
-set binfile "${objdir}/${subdir}/${testfile}"
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile1" "$objdir/$subdir/$objfile1" object {debug c++}] != "" } {
- untested rtti.exp
- return -1
-}
-
-if { [gdb_compile "$srcdir/$subdir/$srcfile2" "$objdir/$subdir/$objfile2" object {debug c++}] != "" } {
- untested rtti.exp
- return -1
-}
-
-if { [gdb_compile "$objdir/$subdir/$objfile1 $objdir/$subdir/$objfile2" "${binfile}" executable {debug c++}] != "" } {
- untested rtti.exp
- return -1
-}
+standard_testfile rtti1.cc rtti2.cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2] {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
@@ -71,7 +50,7 @@ if ![runto_main] then {
# First, run to after we've constructed the object:
-gdb_breakpoint [gdb_get_line_number "main-constructs-done" "$srcfile1"]
+gdb_breakpoint [gdb_get_line_number "main-constructs-done" "$srcfile"]
gdb_continue_to_breakpoint "end of constructors in main"
gdb_test_multiple "print *e1" "print *e1" {
@@ -127,12 +106,12 @@ gdb_test_multiple "print *e2" "print *e2" {
# Now we test the hack that's been implemented to get around some
# instances of PR gdb/1511.
-gdb_breakpoint [gdb_get_line_number "func-constructs-done" "$srcfile1"]
+gdb_breakpoint [gdb_get_line_number "func-constructs-done" "$srcfile"]
gdb_continue_to_breakpoint "end of constructors in func"
gdb_test "print *obj" "\\$\[0-9\]* = {<n2::Base2> = .*}"
-gdb_breakpoint [gdb_get_line_number "func3-constructs-done" "$srcfile1"]
+gdb_breakpoint [gdb_get_line_number "func3-constructs-done" "$srcfile"]
gdb_continue_to_breakpoint "end of constructors in func3"
gdb_test "print *obj3" "\\$\[0-9\]* = {<n2::C2> = .*}"
diff --git a/gdb/testsuite/gdb.cp/shadow.exp b/gdb/testsuite/gdb.cp/shadow.exp
index 91541a36cc1..76530e0cf39 100644
--- a/gdb/testsuite/gdb.cp/shadow.exp
+++ b/gdb/testsuite/gdb.cp/shadow.exp
@@ -17,24 +17,15 @@
# name the one from the correct scope is printed.
-set testfile shadow
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested "Couldn't compile test program"
- return -1
-}
+standard_testfile .cc
if [get_compiler_info] {
return -1
}
-# Get things started.
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint main"
diff --git a/gdb/testsuite/gdb.cp/smartp.exp b/gdb/testsuite/gdb.cp/smartp.exp
index 98b0df762ab..6f3e3acd2d8 100644
--- a/gdb/testsuite/gdb.cp/smartp.exp
+++ b/gdb/testsuite/gdb.cp/smartp.exp
@@ -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 smartp
-set srcfile ${testfile}.cc
+standard_testfile .cc
+
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug c++}] } {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/static-method.exp b/gdb/testsuite/gdb.cp/static-method.exp
index 6e086f39110..55c34319e5e 100644
--- a/gdb/testsuite/gdb.cp/static-method.exp
+++ b/gdb/testsuite/gdb.cp/static-method.exp
@@ -41,8 +41,7 @@ proc test_breakpoint {func result} {
if {[skip_cplus_tests]} { continue }
# Tests for c++/12750
-set testfile "static-method"
-set srcfile $testfile.cc
+standard_testfile .cc
if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
diff --git a/gdb/testsuite/gdb.cp/static-print-quit.exp b/gdb/testsuite/gdb.cp/static-print-quit.exp
index a0fd5d6ce86..142c08c90da 100644
--- a/gdb/testsuite/gdb.cp/static-print-quit.exp
+++ b/gdb/testsuite/gdb.cp/static-print-quit.exp
@@ -15,17 +15,14 @@
if { [skip_cplus_tests] } { continue }
-set testfile static-print-quit
-set srcfile ${testfile}.cc
-set executable $testfile.o
-set objfile ${objdir}/${subdir}/${executable}
+standard_testfile .cc
-if { [gdb_compile $srcdir/$subdir/$srcfile $objfile object {debug c++}] != ""} {
+if { [gdb_compile $srcdir/$subdir/$srcfile $binfile.o object {debug c++}] != ""} {
untested ${testfile}.exp
return -1
}
-clean_restart $executable
+clean_restart $testfile.o
gdb_test_no_output "set width 80"
gdb_test_no_output "set height 2"
diff --git a/gdb/testsuite/gdb.cp/temargs.exp b/gdb/testsuite/gdb.cp/temargs.exp
index 24541a45605..8c89002772f 100644
--- a/gdb/testsuite/gdb.cp/temargs.exp
+++ b/gdb/testsuite/gdb.cp/temargs.exp
@@ -21,8 +21,7 @@ if {[skip_cplus_tests]} {
continue
}
-set testfile "temargs"
-set srcfile "${testfile}.cc"
+standard_testfile .cc
if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
return -1
diff --git a/gdb/testsuite/gdb.cp/templates.exp b/gdb/testsuite/gdb.cp/templates.exp
index 1eb82eba2b4..47915b18167 100644
--- a/gdb/testsuite/gdb.cp/templates.exp
+++ b/gdb/testsuite/gdb.cp/templates.exp
@@ -20,9 +20,7 @@ set ws "\[\r\n\t \]+"
if { [skip_cplus_tests] } { continue }
-set testfile "templates"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
# Create and source the file that provides information about the compiler
# used to compile the test case.
@@ -30,9 +28,8 @@ if [get_compiler_info "c++"] {
return -1
}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested templates.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
#
@@ -237,20 +234,6 @@ proc test_template_args {} {
}
proc do_tests {} {
- global subdir
- global objdir
- global srcdir
- global binfile
- global gdb_prompt
-
-
- # Start with a fresh gdb.
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
# Change multiple-symbols to "ask" in order to get the multiple-choice
# menu when breaking on overloaded methods.
gdb_test_no_output "set multiple-symbols ask"
diff --git a/gdb/testsuite/gdb.cp/try_catch.exp b/gdb/testsuite/gdb.cp/try_catch.exp
index d43e377ea19..f6810d02d15 100644
--- a/gdb/testsuite/gdb.cp/try_catch.exp
+++ b/gdb/testsuite/gdb.cp/try_catch.exp
@@ -24,24 +24,15 @@ if { [skip_stl_tests] } { continue }
# test running programs
#
-set testfile "try_catch"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
-
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested try_catch.exp
- return -1
-}
+standard_testfile .cc
if [get_compiler_info "c++"] {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
if ![runto_main] then {
perror "couldn't run to breakpoint"
diff --git a/gdb/testsuite/gdb.cp/typedef-operator.exp b/gdb/testsuite/gdb.cp/typedef-operator.exp
index 1ec6af76cd3..6aa603f84d5 100644
--- a/gdb/testsuite/gdb.cp/typedef-operator.exp
+++ b/gdb/testsuite/gdb.cp/typedef-operator.exp
@@ -17,8 +17,9 @@
if {[skip_cplus_tests]} { continue }
-set testfile "typedef-operator"
-if [prepare_for_testing $testfile $testfile $testfile.cc {c++ debug}] {
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile $testfile $srcfile {c++ debug}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.cp/userdef.exp b/gdb/testsuite/gdb.cp/userdef.exp
index 90eb99d1f53..199a5793fc2 100644
--- a/gdb/testsuite/gdb.cp/userdef.exp
+++ b/gdb/testsuite/gdb.cp/userdef.exp
@@ -26,22 +26,12 @@ if { [istarget "spu*-*-*"] } {
return 0
}
-set testfile "userdef"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested userdef.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/virtbase.exp b/gdb/testsuite/gdb.cp/virtbase.exp
index 939830f9ed3..a6bb77b6958 100644
--- a/gdb/testsuite/gdb.cp/virtbase.exp
+++ b/gdb/testsuite/gdb.cp/virtbase.exp
@@ -17,20 +17,12 @@
if { [skip_cplus_tests] } { continue }
-set testfile "virtbase"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
- untested virtbase.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if {![runto_main]} then {
perror "couldn't run to breakpoint"
continue
diff --git a/gdb/testsuite/gdb.cp/virtfunc.exp b/gdb/testsuite/gdb.cp/virtfunc.exp
index 15a374ca1ae..4621a7471aa 100644
--- a/gdb/testsuite/gdb.cp/virtfunc.exp
+++ b/gdb/testsuite/gdb.cp/virtfunc.exp
@@ -23,13 +23,10 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "virtfunc"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
- untested virtfunc.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
proc test_ptype_of_classes {} {
@@ -275,15 +272,6 @@ proc test_info_vtbl {} {
}
proc do_tests {} {
- global srcdir subdir binfile
- global gdb_prompt
-
-
- gdb_exit
- gdb_start
- gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $binfile
-
gdb_test_no_output "set language c++" ""
gdb_test_no_output "set width 0" ""
diff --git a/gdb/testsuite/gdb.cp/virtfunc2.exp b/gdb/testsuite/gdb.cp/virtfunc2.exp
index d3fb8c5e301..437aa7cb8ee 100644
--- a/gdb/testsuite/gdb.cp/virtfunc2.exp
+++ b/gdb/testsuite/gdb.cp/virtfunc2.exp
@@ -22,20 +22,12 @@ if { [skip_cplus_tests] } { continue }
load_lib "cp-support.exp"
-set testfile "virtfunc2"
-set srcfile ${testfile}.cc
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile .cc
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {c++ debug}] != "" } {
- untested virtfunc2.exp
- return -1
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
-
if ![runto_main] then {
perror "couldn't run to breakpoint"
continue