return $tokens
}
-# Find `jv-scan'. FIXME: this relies on DejaGnu internals. These
-# should probably be exposed in a better way.
-proc find_jvscan {} {
+# Find a particular executable. FIXME: this relies on DejaGnu
+# internals. These should probably be exposed in a better way.
+proc libjava_find_program {prog} {
global tool_root_dir
- set file [lookfor_file $tool_root_dir jv-scan]
+ set file [lookfor_file $tool_root_dir $prog]
if { $file == "" } {
- set file [lookfor_file $tool_root_dir gcc/jv-scan];
+ set file [lookfor_file $tool_root_dir gcc/$prog];
}
if {$file == ""} {
- set file jv-scan
+ set file $prog
}
return $file
}
+# Find `jv-scan'.
+proc find_jvscan {} {
+ return [libjava_find_program jv-scan]
+}
+
+# Find `gcjh'.
+proc find_gcjh {} {
+ return [libjava_find_program gcjh]
+}
+
proc bytecompile_file { file objdir {classpath {}} } {
global env
global SUN_JAVAC
if {$classpath != ""} then {
set env(CLASSPATH) $classpath
}
- if {[catch {system "cd $dirname; $SUN_JAVAC $file -d $objdir"} msg]} then {
+ if {[catch {
+ system "cd $dirname; $SUN_JAVAC $file -d $objdir 2>&1"
+ } msg]} then {
verbose "couldn't compile $file: $msg"
set r 0
} else {
#
# Run the test specified by srcfile and resultfile. compile_args and
# exec_args are options telling this proc how to work.
-# `no-link' don't try to link the program
-# `no-exec' don't try to run the test
-# `xfail-gcj' compilation from source will fail
-# `xfail-javac' compilation with javac will fail
-# `xfail-gcjC' compilation with gcj -C will fail
-# `shouldfail' compilation from source is supposed to fail
-# This is different from xfail, which marks a known
-# failure that we just havne't fixed.
-# A compilation marked this way should fail with any
-# front end.
-# `xfail-byte' compilation from bytecode will fail
-# `xfail-exec' exec will fail
-# `xfail-output' output will be wrong
-#
#
proc test_libjava_from_source { options srcfile compile_args inpfile resultfile exec_args } {
global base_dir
set errname "$errname $compile_args"
}
- set x [target_compile $srcfile "$executable" $target $args]
+ set x [prune_warnings \
+ [target_compile $srcfile "$executable" $target $args]]
if {[info exists opts(xfail-gcj)]} {
setup_xfail *-*-*
}
#
# Run the test specified by srcfile and resultfile. compile_args and
# exec_args are options telling this proc how to work.
-# `no-link' don't try to link the program
-# `no-exec' don't try to run the test
-# `xfail-gcj' compilation from source will fail
-# `xfail-javac' compilation with javac will fail
-# `xfail-gcjC' compilation with gcj -C will fail
-# `shouldfail' compilation from source is supposed to fail
-# This is different from xfail, which marks a known
-# failure that we just havne't fixed.
-# A compilation marked this way should fail with any
-# front end.
-# `xfail-byte' compilation from bytecode will fail
-# `xfail-exec' exec will fail
-# `xfail-output' output will be wrong
#
proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile exec_args } {
global base_dir
set jvscan [find_jvscan]
verbose "jvscan is $jvscan"
set main_name [string trim \
- [target_compile $srcfile "" none \
- "compiler=$jvscan additional_flags=--print-main"]]
+ [prune_warnings \
+ [target_compile $srcfile "" none \
+ "compiler=$jvscan additional_flags=--print-main"]]]
verbose "main name is $main_name"
set class_out [string trim \
- [target_compile $srcfile "" none \
- "compiler=$jvscan additional_flags=--list-class"]]
+ [prune_warnings \
+ [target_compile $srcfile "" none \
+ "compiler=$jvscan additional_flags=--list-class"]]]
verbose "class list is $class_out"
if {[string match "*parse error*" $main_name]
if {$mode == "compile"} {
foreach c_file $class_files {
set executable [file rootname [file tail $c_file]].o
- set x [target_compile $c_file "$executable" $type $args]
+ set x [prune_warnings \
+ [target_compile $c_file "$executable" $type $args]]
if {$x != ""} {
break
}
}
} else {
- set x [target_compile $class_files "$executable" $type $args]
+ set x [prune_warnings \
+ [target_compile $class_files "$executable" $type $args]]
}
if {[info exists opts(xfail-byte)]} {
setup_xfail *-*-*
-# Copyright (C) 1998, 1999 Free Software Foundation.
+# Copyright (C) 1998, 1999, 2000 Free Software Foundation.
# Written by Tom Tromey <tromey@cygnus.com>.
# Incorporate Mauve into libjava's DejaGNU test suite framework.
# before they're installed.
set env(GCJ) "$GCJ_UNDER_TEST -B$objdir/../ -I$objdir/../libgcj.zip"
- if {[catch {system "$env(MAUVEDIR)/configure --with-gcj"} msg]} then {
+ if {[catch {
+ system "$env(MAUVEDIR)/configure --with-gcj 2>@ stdout"
+ } msg]} then {
fail "Mauve configure"
verbose "configure failed with $msg"
return
puts -nonewline $fd $c
close $fd
- if {[catch {system "make KEYS=libgcj classes.stamp"} msg]} then {
+ if {[catch {
+ system "make KEYS=libgcj classes.stamp 2>&1"
+ } msg]} then {
fail "Mauve build"
verbose "build failed with $msg"
return
foreach base {DejaGNUTestHarness gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException gnu/testlet/config} {
set file $base.class
set obj $base.o
- if {[target_compile [pwd]/$file $obj object $compile_args] != ""} then {
+ set x [prune_warnings \
+ [target_compile [pwd]/$file $obj object $compile_args]]
+ if {$x != ""} then {
fail "Compile $obj"
set ok 0
} else {
if {! [file exists $obj]} then {
verbose "compiling $obj for test of $class"
set srcfile [file rootname $obj].class
- if {[target_compile [pwd]/$srcfile $obj object $compile_args]
- != ""} then {
+ set x [prune_warnings \
+ [target_compile [pwd]/$srcfile $obj object $compile_args]]
+ if {$x != ""} then {
fail "Compile $obj for $class"
set ok 0
break
continue
}
- if {[target_compile [concat $uses($file) $objlist] \
- $Executable executable $link_args] != ""} then {
+ set x [prune_warnings [target_compile [concat $uses($file) $objlist] \
+ $Executable executable $link_args]]
+ if {$x != ""} then {
fail "Link for $class"
continue
}
set full_srcdir [pwd]
cd $here/mauve-build
- if {[catch {system "$env(MAUVEDIR)/configure --with-gcj"} msg]} then {
+ if {[catch {
+ system "$env(MAUVEDIR)/configure --with-gcj 2>&1"
+ } msg]} then {
fail "Mauve configure"
verbose "configure failed with $msg"
return
puts -nonewline $fd $c
close $fd
- if {[catch {system "make KEYS=libgcj classes.stamp"} msg]} then {
+ if {[catch {
+ system "make KEYS=libgcj classes.stamp 2>&1"
+ } msg]} then {
fail "Mauve build"
verbose "build failed with $msg"
return
gnu/testlet/config} {
set file $base.class
set obj $base.o
- if {[target_compile [pwd]/$file $obj object $compile_args] != ""} then {
+ set x [prune_warnings \
+ [target_compile [pwd]/$file $obj object $compile_args]]
+ if {$x != ""} then {
fail "Compile $obj"
set ok 0
} else {
if {! [file exists $obj]} then {
verbose "compiling $obj for test of $class"
set srcfile [file rootname $obj].class
- if {[target_compile [pwd]/$srcfile $obj object $compile_args]
- != ""} then {
+ set x [prune_warnings \
+ [target_compile [pwd]/$srcfile $obj object $compile_args]]
+ if {$x != ""} then {
fail "Compile $obj for $class"
set ok 0
break
return
}
- if {[target_compile gnu/testlet/DejaGNUTestHarness.class \
- gnu/testlet/DejaGNUTestHarness.o object $compile_args]
- != ""} then {
+ set x [prune_warnings \
+ [target_compile gnu/testlet/DejaGNUTestHarness.class \
+ gnu/testlet/DejaGNUTestHarness.o object $compile_args]]
+ if {$x != ""} then {
fail "Compile DejaGNUTestHarness.java"
continue
}
- if {[target_compile [concat $uses($file) $objlist] \
- $Executable executable $link_args] != ""} then {
+ set x [prune_warnings [target_compile [concat $uses($file) $objlist] \
+ $Executable executable $link_args]]
+ if {$x != ""} then {
fail "Link for $class"
continue
}