aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-03-07 22:44:22 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-03-07 22:44:22 +0000
commitc7ce272aa5edb86c08f65466802793093c4eea8e (patch)
tree1b7925b9b2a92106e001e64530cf58284e8d5f57
parent1729c265058cc349c8298bebc01b684a012bc8f6 (diff)
downloadgcc-c7ce272aa5edb86c08f65466802793093c4eea8e.zip
gcc-c7ce272aa5edb86c08f65466802793093c4eea8e.tar.gz
gcc-c7ce272aa5edb86c08f65466802793093c4eea8e.tar.bz2
libjava.exp (test_libjava_from_javac): Removed hack for interfaces.
* lib/libjava.exp (test_libjava_from_javac): Removed hack for interfaces. Fail if jv-scan reports a parse error. From-SVN: r32392
-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'