diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2009-11-10 10:16:10 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2009-11-10 10:16:10 +0000 |
commit | ec3c07fc0ff7ca6defeb89c58727363b6382d2b5 (patch) | |
tree | e571a77afcc13dd913a5db4313536c17e4c54bfb /gdb/testsuite/lib | |
parent | ee143e81426371a93b891ce65891b43034e87347 (diff) | |
download | gdb-ec3c07fc0ff7ca6defeb89c58727363b6382d2b5.zip gdb-ec3c07fc0ff7ca6defeb89c58727363b6382d2b5.tar.gz gdb-ec3c07fc0ff7ca6defeb89c58727363b6382d2b5.tar.bz2 |
* 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/jmisc1.exp, gdb.java/jprint.exp,
gdb.java/jv-print.exp, gdb.java/jmain.exp: Add language skip,
adjust gdb_compile invocations.
Diffstat (limited to 'gdb/testsuite/lib')
-rw-r--r-- | gdb/testsuite/lib/ada.exp | 7 | ||||
-rw-r--r-- | gdb/testsuite/lib/gdb.exp | 42 | ||||
-rw-r--r-- | gdb/testsuite/lib/java.exp | 18 |
3 files changed, 45 insertions, 22 deletions
diff --git a/gdb/testsuite/lib/ada.exp b/gdb/testsuite/lib/ada.exp index 4c161d6..9ec6b3f 100644 --- a/gdb/testsuite/lib/ada.exp +++ b/gdb/testsuite/lib/ada.exp @@ -423,9 +423,8 @@ 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] { - unsupported "Ada compilation failed: $result" - return "Ada compilation failed." - } + if [file exists $dest] { set result "" } + gdb_compile_test $source $result + return $result } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 590a284..53253b3 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -1241,6 +1241,24 @@ 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]" + } elseif { [regexp {.*: command not found[\r|\n]*$} $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++. @@ -1266,6 +1284,18 @@ 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 +} + # Return a 1 if we should skip shared library tests. proc skip_shlib_tests {} { @@ -1836,9 +1866,15 @@ proc gdb_compile {source dest type options} { regsub "\[\r\n\]*$" "$result" "" result; regsub "^\[\r\n\]*" "$result" "" result; - - if { $result != "" && [lsearch $options quiet] == -1} { - clone_output "gdb compile failed, $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" + } } return $result; } diff --git a/gdb/testsuite/lib/java.exp b/gdb/testsuite/lib/java.exp index 19619df..c45af35 100644 --- a/gdb/testsuite/lib/java.exp +++ b/gdb/testsuite/lib/java.exp @@ -90,31 +90,19 @@ 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" } - 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"; - } + set result [target_compile $srcfile ${binfile} executable $args] + gdb_compile_test $srcfile $result + return $result } # Local Variables: |