diff options
Diffstat (limited to 'gdb')
22 files changed, 57 insertions, 132 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index a1a6a4e..ed56619 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -4,25 +4,6 @@ Make sure the variable we're using is in scope. (reference_to_pointer): Likewise. -2007-01-11 Nathan Sidwell <nathan@codesourcery.com> - - * lib/gdb.exp (gdb_compile_test): New. - (skip_ada_tests, skip_java_tests): New. - (gdb_compile): Use gdb_compile_test for f77. - * lib/ada.exp (gdb_compile_ada): Use gdb_compile_test to record result. - * lib/java.exp (compile_java_from_source): Remove runtests check, - use gdb_compile_test to record result. - * gdb.ada/packed_array.exp, gdb.ada/fixed_points.exp, - gdb.ada/exec_changed.exp, gdb.ada/start.exp, - gdb.ada/watch_arg.exp, gdb.ada/null_record.exp, - gdb.ada/array_return.exp, gdb.ada/arrayidx.exp, - gdb.mi/mi-var-child-f.exp, gdb.fortran/types.exp, - gdb.fortran/array-element.exp, gdb.fortran/subarray.exp, - gdb.fortran/derived-type.exp, gdb.fortran/exprs.exp, - gdb.java/jmisc.exp, gdb.java/jprint.exp, - gdb.java/jv-print.exp, gdb.java/jmain.exp: Add language skip, - adjust gdb_compile invocations. - 2007-01-09 Daniel Jacobowitz <dan@codesourcery.com> * gdb.ada/catch_ex.exp: Call unsupported and stop if the runtime diff --git a/gdb/testsuite/gdb.ada/array_return.exp b/gdb/testsuite/gdb.ada/array_return.exp index 2071dfd..ad8f53c 100644 --- a/gdb/testsuite/gdb.ada/array_return.exp +++ b/gdb/testsuite/gdb.ada/array_return.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "array_return" set testfile "${testdir}/p" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.ada/arrayidx.exp b/gdb/testsuite/gdb.ada/arrayidx.exp index ce4c057..a967d5a 100644 --- a/gdb/testsuite/gdb.ada/arrayidx.exp +++ b/gdb/testsuite/gdb.ada/arrayidx.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "arrayidx" set testfile "${testdir}/p" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.ada/exec_changed.exp b/gdb/testsuite/gdb.ada/exec_changed.exp index dbdccf2..a4f4d9b 100644 --- a/gdb/testsuite/gdb.ada/exec_changed.exp +++ b/gdb/testsuite/gdb.ada/exec_changed.exp @@ -20,8 +20,6 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "exec_changed" file mkdir ${objdir}/${subdir}/${testdir} @@ -30,8 +28,8 @@ set testfile1 "${testdir}/first" set srcfile1 ${srcdir}/${subdir}/${testfile1}.adb set binfile1 ${objdir}/${subdir}/${testfile1}$EXEEXT -if {[gdb_compile_ada "${srcfile1}" "${binfile1}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile1}" "${binfile1}" executable [list debug ]] != "" } { + return -1 } # Build the second test program @@ -39,8 +37,8 @@ set testfile2 "${testdir}/second" set srcfile2 ${srcdir}/${subdir}/${testfile2}.adb set binfile2 ${objdir}/${subdir}/${testfile2}$EXEEXT -if {[gdb_compile_ada "${srcfile2}" "${binfile2}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile2}" "${binfile2}" executable [list debug ]] != "" } { + return -1 } # Start with a fresh gdb. diff --git a/gdb/testsuite/gdb.ada/fixed_points.exp b/gdb/testsuite/gdb.ada/fixed_points.exp index 1a288c7..b9c25ec 100644 --- a/gdb/testsuite/gdb.ada/fixed_points.exp +++ b/gdb/testsuite/gdb.ada/fixed_points.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "fixed_points" set testfile "${testdir}/fixed_points" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.ada/null_record.exp b/gdb/testsuite/gdb.ada/null_record.exp index 745ebd7..8f5cb86 100644 --- a/gdb/testsuite/gdb.ada/null_record.exp +++ b/gdb/testsuite/gdb.ada/null_record.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "null_record" set testfile "${testdir}/null_record" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.ada/packed_array.exp b/gdb/testsuite/gdb.ada/packed_array.exp index deaf6d8..5331108 100644 --- a/gdb/testsuite/gdb.ada/packed_array.exp +++ b/gdb/testsuite/gdb.ada/packed_array.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "packed_array" set testfile "${testdir}/pa" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.ada/start.exp b/gdb/testsuite/gdb.ada/start.exp index d1e4907..a658bd7 100644 --- a/gdb/testsuite/gdb.ada/start.exp +++ b/gdb/testsuite/gdb.ada/start.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "start" set testfile "${testdir}/dummy" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.ada/watch_arg.exp b/gdb/testsuite/gdb.ada/watch_arg.exp index ff5a5b4..a49f0df 100644 --- a/gdb/testsuite/gdb.ada/watch_arg.exp +++ b/gdb/testsuite/gdb.ada/watch_arg.exp @@ -21,16 +21,14 @@ if $tracelevel then { load_lib "ada.exp" -if { [skip_ada_tests] } { return -1 } - set testdir "watch_arg" set testfile "${testdir}/watch" set srcfile ${srcdir}/${subdir}/${testfile}.adb set binfile ${objdir}/${subdir}/${testfile} file mkdir ${objdir}/${subdir}/${testdir} -if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} { - return -1 +if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 } gdb_exit diff --git a/gdb/testsuite/gdb.fortran/array-element.exp b/gdb/testsuite/gdb.fortran/array-element.exp index 8e7d59c..2e9c914 100644 --- a/gdb/testsuite/gdb.fortran/array-element.exp +++ b/gdb/testsuite/gdb.fortran/array-element.exp @@ -23,14 +23,12 @@ if $tracelevel then { strace $tracelevel } -if { [skip_fortran_tests] } { return -1 } - set testfile "array-element" set srcfile ${testfile}.f set binfile ${objdir}/${subdir}/${testfile} -if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable {debug f77}] != ""} { +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } { + untested "Couldn't compile ${srcfile}" return -1 } diff --git a/gdb/testsuite/gdb.fortran/derived-type.exp b/gdb/testsuite/gdb.fortran/derived-type.exp index 98b63f6..8e053ab 100644 --- a/gdb/testsuite/gdb.fortran/derived-type.exp +++ b/gdb/testsuite/gdb.fortran/derived-type.exp @@ -23,14 +23,12 @@ if $tracelevel then { strace $tracelevel } -if { [skip_fortran_tests] } { return -1 } - set testfile "derived-type" set srcfile ${testfile}.f90 set binfile ${objdir}/${subdir}/${testfile} -if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable {debug f77}] != ""} { +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } { + untested "Couldn't compile ${srcfile}" return -1 } diff --git a/gdb/testsuite/gdb.fortran/exprs.exp b/gdb/testsuite/gdb.fortran/exprs.exp index fa77d0e..fa8385c 100644 --- a/gdb/testsuite/gdb.fortran/exprs.exp +++ b/gdb/testsuite/gdb.fortran/exprs.exp @@ -24,8 +24,6 @@ if $tracelevel then { strace $tracelevel } -if { [skip_fortran_tests] } { continue } - set prms_id 0 set bug_id 0 diff --git a/gdb/testsuite/gdb.fortran/subarray.exp b/gdb/testsuite/gdb.fortran/subarray.exp index adb7560..fb5ddb5 100644 --- a/gdb/testsuite/gdb.fortran/subarray.exp +++ b/gdb/testsuite/gdb.fortran/subarray.exp @@ -23,14 +23,12 @@ if $tracelevel then { strace $tracelevel } -if { [skip_fortran_tests] } { return -1 } - set testfile "subarray" set srcfile ${testfile}.f set binfile ${objdir}/${subdir}/${testfile} -if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable {debug f77}] != ""} { +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } { + untested "Couldn't compile ${srcfile}" return -1 } diff --git a/gdb/testsuite/gdb.fortran/types.exp b/gdb/testsuite/gdb.fortran/types.exp index 9ca4790..e18b76e 100644 --- a/gdb/testsuite/gdb.fortran/types.exp +++ b/gdb/testsuite/gdb.fortran/types.exp @@ -24,8 +24,6 @@ if $tracelevel then { strace $tracelevel } -if { [skip_fortran_tests] } { continue } - set prms_id 0 set bug_id 0 diff --git a/gdb/testsuite/gdb.java/jmain.exp b/gdb/testsuite/gdb.java/jmain.exp index 6b62708..79cb1dd 100644 --- a/gdb/testsuite/gdb.java/jmain.exp +++ b/gdb/testsuite/gdb.java/jmain.exp @@ -23,13 +23,12 @@ if $tracelevel then { load_lib "java.exp" -if { [skip_java_tests] } { continue } - set testfile "jmain" set srcfile ${srcdir}/$subdir/${testfile}.java set binfile ${objdir}/${subdir}/${testfile} -if {[compile_java_from_source ${srcfile} ${binfile} "-g"] != ""} { - continue +if { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } { + untested "Couldn't compile ${srcfile}" + return -1 } set prms_id 0 diff --git a/gdb/testsuite/gdb.java/jmisc.exp b/gdb/testsuite/gdb.java/jmisc.exp index 74557bd..1901cec 100644 --- a/gdb/testsuite/gdb.java/jmisc.exp +++ b/gdb/testsuite/gdb.java/jmisc.exp @@ -26,13 +26,12 @@ if $tracelevel then { load_lib "java.exp" -if { [skip_java_tests] } { continue } - set testfile "jmisc" set srcfile ${srcdir}/$subdir/${testfile}.java set binfile ${objdir}/${subdir}/${testfile} -if {[compile_java_from_source ${srcfile} ${binfile} "-g"] != ""} { - continue +if { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } { + untested "Couldn't compile ${srcfile}" + return -1 } # Set the current language to java. This counts as a test. If it diff --git a/gdb/testsuite/gdb.java/jprint.exp b/gdb/testsuite/gdb.java/jprint.exp index 4926babc..73c422f 100644 --- a/gdb/testsuite/gdb.java/jprint.exp +++ b/gdb/testsuite/gdb.java/jprint.exp @@ -23,13 +23,12 @@ if $tracelevel then { load_lib "java.exp" -if { [skip_java_tests] } { continue } - set testfile "jprint" set srcfile ${srcdir}/$subdir/${testfile}.java set binfile ${objdir}/${subdir}/${testfile} -if {[compile_java_from_source ${srcfile} ${binfile} "-g"] != ""} { - continue +if { [compile_java_from_source ${srcfile} ${binfile} "-g"] != "" } { + untested "Couldn't compile ${srcfile}" + return -1 } # Set the current language to java. This counts as a test. If it diff --git a/gdb/testsuite/gdb.java/jv-print.exp b/gdb/testsuite/gdb.java/jv-print.exp index c31fbf7..26e7495 100644 --- a/gdb/testsuite/gdb.java/jv-print.exp +++ b/gdb/testsuite/gdb.java/jv-print.exp @@ -21,10 +21,6 @@ if $tracelevel then { strace $tracelevel } -load_lib "java.exp" - -if { [skip_java_tests] } { continue } - set prms_id 0 set bug_id 0 diff --git a/gdb/testsuite/gdb.mi/mi-var-child-f.exp b/gdb/testsuite/gdb.mi/mi-var-child-f.exp index 63b909c..8e60014 100644 --- a/gdb/testsuite/gdb.mi/mi-var-child-f.exp +++ b/gdb/testsuite/gdb.mi/mi-var-child-f.exp @@ -20,8 +20,6 @@ load_lib mi-support.exp set MIFLAGS "-i=mi" -if { [skip_fortran_tests] } { return -1 } - gdb_exit if [mi_gdb_start] { continue @@ -30,8 +28,8 @@ if [mi_gdb_start] { set testfile "array" set srcfile ${testfile}.f set binfile ${objdir}/${subdir}/${testfile} -if {[gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" \ - executable {debug f77}] != ""} { +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug f77 quiet}] != "" } { + untested "Couldn't compile ${srcfile}" return -1 } diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp index 44d38a7..bf9c412 100644 --- a/gdb/testsuite/lib/ada.exp +++ b/gdb/testsuite/lib/ada.exp @@ -425,8 +425,9 @@ proc gdb_compile_ada {source dest type options} { # gdb_compile to determine whether the build has succeeded or not. # We therefore simply check whether the dest file has been created # or not. Unless not present, the build has succeeded. - if [file exists $dest] { set result "" } - gdb_compile_test $source $result - return $result + if ![file exists $dest] { + unsupported "Ada compilation failed: $result" + return "Ada compilation failed." + } } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 9c87cc7..4c44024 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1142,22 +1142,6 @@ proc default_gdb_start { } { return 0; } -# Examine the output of compilation to determine whether compilation -# failed or not. If it failed determine whether it is due to missing -# compiler or due to compiler error. Report pass, fail or unsupported -# as appropriate - -proc gdb_compile_test {src output} { - if { $output == "" } { - pass "compilation [file tail $src]" - } elseif { [regexp {^[a-zA-Z_0-9]+: Can't find [^ ]+\.$} $output] } { - unsupported "compilation [file tail $src]" - } else { - verbose -log "compilation failed: $output" 2 - fail "compilation [file tail $src]" - } -} - # Return a 1 for configurations for which we don't even want to try to # test C++. @@ -1168,6 +1152,7 @@ proc skip_cplus_tests {} { if { [istarget "h8300-*-*"] } { return 1 } + # The C++ IO streams are too large for HC11/HC12 and are thus not # available. The gdb C++ tests use them and don't compile. if { [istarget "m6811-*-*"] } { @@ -1185,18 +1170,6 @@ proc skip_fortran_tests {} { return 0 } -# Return a 1 if I don't even want to try to test ada. - -proc skip_ada_tests {} { - return 0 -} - -# Return a 1 if I don't even want to try to test java. - -proc skip_java_tests {} { - return 0 -} - # Run a test on the target to see if it supports vmx hardware. Return 0 if so, # 1 if it does not. Based on 'check_vmx_hw_available' from the GCC testsuite. @@ -1547,15 +1520,8 @@ proc gdb_compile {source dest type options} { set result [target_compile $source $dest $type $options]; regsub "\[\r\n\]*$" "$result" "" result; regsub "^\[\r\n\]*" "$result" "" result; - - if {[lsearch $options quiet] < 0} { - # We shall update this on a per language basis, to avoid - # changing the entire testsuite in one go. - if {[lsearch $options f77] >= 0} { - gdb_compile_test $source $result - } elseif { $result != "" } { - clone_output "gdb compile failed, $result" - } + if { $result != "" && [lsearch $options quiet] == -1} { + clone_output "gdb compile failed, $result" } return $result; } diff --git a/gdb/testsuite/lib/java.exp b/gdb/testsuite/lib/java.exp index c445f98..7916772 100644 --- a/gdb/testsuite/lib/java.exp +++ b/gdb/testsuite/lib/java.exp @@ -91,19 +91,31 @@ proc java_init { args } { # proc compile_java_from_source { srcfile binfile compile_args } { global GCJ_UNDER_TEST + global runtests global java_initialized if { $java_initialized != 1 } { java_init } + set errname [file rootname [file tail $srcfile]] + if {! [runtest_file_p $runtests $errname]} { + return + } + set args "compiler=$GCJ_UNDER_TEST" lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]" if { $compile_args != "" } { lappend args "additional_flags=$compile_args" } - set result [target_compile $srcfile ${binfile} ${binfile} executable $args] - gdb_compile_test $srcfile $result - return $result + if { $compile_args != "" } { + set errname "$errname $compile_args" + } + + set x [target_compile $srcfile ${binfile} executable $args] + if { $x != "" } { + verbose "target_compile failed: $x" 2 + return "$errname compilation from source"; + } } # Local Variables: |