aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/testsuite/ChangeLog3
-rw-r--r--libjava/testsuite/lib/libjava.exp33
2 files changed, 23 insertions, 13 deletions
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
index a3082b8..fbf93e6 100644
--- a/libjava/testsuite/ChangeLog
+++ b/libjava/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2000-03-07 Tom Tromey <tromey@cygnus.com>
+ * lib/libjava.exp (test_libjava_from_javac): Removed hack for
+ interfaces. Fail if jv-scan reports a parse error.
+
Test for PR gcj/162:
* libjava.lang/PR162.out: New file.
* libjava.lang/PR162.java: New file.
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
index 8f047ae..c561a3a 100644
--- a/libjava/testsuite/lib/libjava.exp
+++ b/libjava/testsuite/lib/libjava.exp
@@ -495,20 +495,27 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
[target_compile $srcfile "" none \
"compiler=$jvscan additional_flags=--list-class"]]
verbose "class list is $class_out"
- # FIXME: As of Wed Feb 24 1999, `jv-scan --list-class' prints
- # nothing if the file contains an interface and not a class. I
- # believe this is a jv-scan bug.
- if {$class_out == ""} then {
- set class_files \
- [list $objdir/[file rootname [file tail $srcfile]].class]
- } else {
- # Turn "a b" into "a.class b.class".
- # Also, turn "foo.bar" into "foo/bar.class".
- set class_files {}
- foreach file [split [string trim $class_out]] {
- set file [join [split $file .] /]
- lappend class_files $objdir/$file.class
+
+ if {[string match "*parse error*" $main_name]
+ || [string match "*parse error*" $class_out]} {
+ # Do the remaining fails.
+ setup_xfail "*-*-*"
+ fail "$errname compilation from bytecode"
+ if {! [info exists opts(no-exec)]} {
+ setup_xfail "*-*-*"
+ fail "$errname execution from bytecode->native test"
+ setup_xfail "*-*-*"
+ fail "$errname output from bytecode->native test"
}
+ return
+ }
+
+ # Turn "a b" into "a.class b.class".
+ # Also, turn "foo.bar" into "foo/bar.class".
+ set class_files {}
+ foreach file [split [string trim $class_out]] {
+ set file [join [split $file .] /]
+ lappend class_files $objdir/$file.class
}
# Usually it is an error for a test program not to have a `main'