diff options
author | Tom Tromey <tromey@redhat.com> | 2012-07-10 15:18:18 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-07-10 15:18:18 +0000 |
commit | f5f3a911eca889085f7a9bf46aea6fdfcb98f9bd (patch) | |
tree | e6b77b41e6de8367d44b3724a1499523316099a0 /gdb/testsuite/gdb.cp | |
parent | 81c82a68dc3bb09bd3b5b4101ed9737814023f1a (diff) | |
download | binutils-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')
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 |