diff options
Diffstat (limited to 'libjava/testsuite/libjava.mauve/mauve.exp')
-rw-r--r-- | libjava/testsuite/libjava.mauve/mauve.exp | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/libjava/testsuite/libjava.mauve/mauve.exp b/libjava/testsuite/libjava.mauve/mauve.exp index dcd8a57fd1a..03bbed9fd9f 100644 --- a/libjava/testsuite/libjava.mauve/mauve.exp +++ b/libjava/testsuite/libjava.mauve/mauve.exp @@ -74,6 +74,16 @@ proc find_mauve_sources {} { return 0 } +# Find all the harness files and return a list of them, with no +# suffix. +proc mauve_find_harness_files {} { + set result {} + foreach file [glob -nocomplain -- *.class gnu/testlet/*.class] { + lappend result [file root $file] + } + return $result +} + # Run all the Mauve tests. Return 1 on success, 0 on any failure. If # the tests are skipped, that is treated like success. proc test_mauve {} { @@ -157,11 +167,17 @@ proc test_mauve {} { set link_args [concat [libjava_arguments link] \ [list "additional_flags=--main=DejaGNUTestHarness"]] + if {[string match "*libtool*" $compile_args]} { + set objext lo + } else { + set objext o + } + set ok 1 set objlist {} - foreach base {DejaGNUTestHarness gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException gnu/testlet/config} { + foreach base [mauve_find_harness_files] { set file $base.class - set obj $base.o + set obj $base.$objext set x [libjava_prune_warnings \ [target_compile [pwd]/$file $obj object $compile_args]] if {$x != ""} then { @@ -184,7 +200,10 @@ proc test_mauve {} { regsub -all -- / $class . class set ok 1 + set this_olist {} foreach obj $uses($file) { + set obj [file rootname $obj].$objext + lappend this_olist $obj if {! [file exists $obj]} then { verbose "compiling $obj for test of $class" # The .class file does contain a $, but we can quote it between "'"s. @@ -206,7 +225,7 @@ proc test_mauve {} { } set x [libjava_prune_warnings \ - [libjava_tcompile [concat $uses($file) $objlist] \ + [libjava_tcompile [concat $this_olist $objlist] \ $Executable executable $link_args]] if {$x != ""} then { set proc_ok 0 @@ -298,9 +317,7 @@ proc test_mauve_sim {} { set ok 1 set objlist {} - foreach base {gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness \ - gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException \ - gnu/testlet/config} { + foreach base [mauve_find_harness_files] { set file $base.class set obj $base.o set x [libjava_prune_warnings \ @@ -317,8 +334,6 @@ proc test_mauve_sim {} { return 0 } - lappend objlist gnu/testlet/DejaGNUTestHarness.o - set proc_ok 1 set Executable DejaGNUTestHarness foreach file $choices { @@ -369,8 +384,8 @@ proc test_mauve_sim {} { } set x [libjava_prune_warnings \ - [target_compile gnu/testlet/DejaGNUTestHarness.class \ - gnu/testlet/DejaGNUTestHarness.o object $compile_args]] + [target_compile DejaGNUTestHarness.class \ + DejaGNUTestHarness.o object $compile_args]] if {$x != ""} then { fail "Compile DejaGNUTestHarness.java" set proc_ok 0 |