diff options
Diffstat (limited to 'gdb')
101 files changed, 459 insertions, 1026 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 5d840db..e3fae5e 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,149 @@ 2012-07-10 Tom Tromey <tromey@redhat.com> + * 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. + +2012-07-10 Tom Tromey <tromey@redhat.com> + * lib/gdb.exp (standard_testfile): Unset output variables from earlier invocations. diff --git a/gdb/testsuite/gdb.cp/abstract-origin.exp b/gdb/testsuite/gdb.cp/abstract-origin.exp index 68e247b..16c9069 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 d868062..052c281 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 41e1cc5..9a54fac 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 112fb85..61ee222 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 188cdec..19c5f1d 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 4130e9c..b3a0806 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 fe30ef1..51b69e2 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 9eb3985..a65055b 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 9bf1810..fec6653 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 d512a70..c615528 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 ad2a13d..0803fc9 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 a4327e8..68ca35d 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 0856ba5..2013ab8 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 705e203..3ccbc23 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 36304b4..440677b 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 0186c0c..fae1ac9 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 bd2d84b..9b8df58 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 2981228..31b434f 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 9161351..dba9c10 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 de50ee3..aa37315 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 30dfa39..41a9196 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 0a16a8a..e482c82 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 a10fd8d..ff52003 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 eafaad6..b752b52 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 377c785..23d7e14 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 ddb91b2..4174504 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 04dd6de..ae2d8b4 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 2614fb7..01c56f1 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 70c8f93..eecccc6 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 ff27439..4522a29 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 48e6aad..6f8c09f 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 fb9c73f..20726dd 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 4ae6baa..cc3d07f 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 f47b68a..deef927 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 0b83ced..d10d249 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 3f04a08..4a2c009 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 7a59053..fc5f2e2 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 100a32a..ee6634e 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 c659281..4767fa1 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 16f72bf..a636596 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 26f9458..0ac1d2e 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 49f1e35..4c76535 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 13a8fb4..d223bae 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 c1d3ebc..8aab4156 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 f5b289a..f569ca9 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 73ffa1b..b27d124 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 2b2b3ee..193a253 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 2aa035e..34c874a 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 5a2ac6d..6f2f50f 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 a3ea820..9d1ed0e 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 9847a1d..c293dbd 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 15506ae..24507ce 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 f56198c..fefd796 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 8045e57..53f59d7 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 6bf2f03..4dc181b 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 cf37451..23698fd 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 6f937a7..4547d26 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 420483a..766eb33 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 d1ed3b3..38e4577 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 ced50d6..5ea4376 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 ebefb78..92ca6c7 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 bb89547..0a052a2 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 a777567..d60af8f 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 cc72728..d2330dc 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 2a64356..1fec157 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 5116e5f..43eeabf 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 2c27f2d..1aad559 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 5af5368..b31c655 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 2f722b7..2cc993d 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 19cbf97..74dfec5 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 ff5d3fa..0f0b523 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 8c2d733..6e4ab57 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 d8eac39..50bce18 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 f7e6088..318477e 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 7568d66..3391a19 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 2c3b406..b68235e 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 31d4e80..cf80be0 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 0a99093..7c86b39 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 34ee549..a74b82d 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 1be6a77..c441ea7 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 1dc5368..fc895e6 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 1d60507..c74fa8b 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 2eb962b..c53785b 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 c6ecd21..30adb75 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 6614112..a85b970 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 f133a89..3305e70 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 346aac4..2002d7b 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 ebd8d27..e5a8d3b 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 91541a3..76530e0 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 98b0df7..6f3e3ac 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 6e086f3..55c3431 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 a0fd5d6..142c08c 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 24541a4..8c89002 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 1eb82eb..47915b1 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 d43e377..f6810d0 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 1ec6af7..6aa603f 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 90eb99d..199a579 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 939830f..a6bb77b 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 15a374c..4621a74 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 d3fb8c5..437aa7c 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 |