For PR java/12996:
authorTom Tromey <tromey@redhat.com>
Mon, 10 Nov 2003 21:30:10 +0000 (21:30 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 10 Nov 2003 21:30:10 +0000 (21:30 +0000)
* libjava.jar/simple.jar: New file.
* libjava.jar/simple.xfail: New file.
* libjava.jar/simple.out: New file.
* libjava.jar/simple.java: New file.
* libjava.jar/jar.exp: New file.

From-SVN: r73426

libjava/testsuite/ChangeLog
libjava/testsuite/libjava.jar/jar.exp [new file with mode: 0644]
libjava/testsuite/libjava.jar/simple.jar [new file with mode: 0644]
libjava/testsuite/libjava.jar/simple.java [new file with mode: 0644]
libjava/testsuite/libjava.jar/simple.out [new file with mode: 0644]
libjava/testsuite/libjava.jar/simple.xfail [new file with mode: 0644]

index b95f26b..6ee2f06 100644 (file)
@@ -1,3 +1,12 @@
+2003-11-10  Tom Tromey  <tromey@redhat.com>
+
+       For PR java/12996:
+       * libjava.jar/simple.jar: New file.
+       * libjava.jar/simple.xfail: New file.
+       * libjava.jar/simple.out: New file.
+       * libjava.jar/simple.java: New file.
+       * libjava.jar/jar.exp: New file.
+
 2003-11-08  Tom Tromey  <tromey@redhat.com>
 
        * libjava.jacks/jacks.xfail: Updated.
diff --git a/libjava/testsuite/libjava.jar/jar.exp b/libjava/testsuite/libjava.jar/jar.exp
new file mode 100644 (file)
index 0000000..70a176e
--- /dev/null
@@ -0,0 +1,59 @@
+# Tests for .jar files.
+
+# Compile a single .jar file to an executable.
+# Returns 0 on failure.
+proc gcj_jar_link {jarfile mainclass} {
+}
+
+proc gcj_jar_compile_one {jarfile mainclass} {
+  set base [file rootname [file tail $jarfile]]
+  set out [file rootname $jarfile].out
+
+  if {! [gcj_link $base $mainclass [list $jarfile]]} {
+    return
+  }
+
+  gcj_invoke $base $out {}
+}
+
+proc gcj_jar_interpret {jarfile} {
+  global INTERPRETER srcdir
+
+  set gij [libjava_find_gij] 
+  # libjava_find_gij will return `gij' if it couldn't find the
+  # program; in this case we want to skip the test.
+  if {$INTERPRETER != "yes" || $gij == "gij"} {
+    untested "$jarfile execution - gij test"
+    untested "$jarfile output - gij test"
+    return
+  }
+
+  set opts(_) {}
+  set out [file rootname $jarfile].out
+  libjava_invoke $jarfile "gij test" opts $gij {} $out \
+    -jar $jarfile
+}
+
+proc gcj_jar_run {} {
+  global srcdir subdir
+  foreach jar [lsort [glob -nocomplain ${srcdir}/${subdir}/*.jar]] {
+    set xff [file rootname $jar].xfail
+    set main {}
+    set interp 1
+    foreach item [libjava_read_xfail $xff] {
+      if {[string match main=* $item]} {
+       set main [string range $item 5 end]
+       break
+      } elseif {$item == "no-interpret"} {
+       set interp 0
+      }
+    }
+
+    gcj_jar_compile_one $jar $main
+    if {$interp} {
+      gcj_jar_interpret $jar
+    }
+  }
+}
+
+gcj_jar_run
diff --git a/libjava/testsuite/libjava.jar/simple.jar b/libjava/testsuite/libjava.jar/simple.jar
new file mode 100644 (file)
index 0000000..e11666f
Binary files /dev/null and b/libjava/testsuite/libjava.jar/simple.jar differ
diff --git a/libjava/testsuite/libjava.jar/simple.java b/libjava/testsuite/libjava.jar/simple.java
new file mode 100644 (file)
index 0000000..848ebe1
--- /dev/null
@@ -0,0 +1,7 @@
+public class simple
+{
+  public static void main(String[] args)
+  {
+    System.out.println("hi");
+  }
+}
diff --git a/libjava/testsuite/libjava.jar/simple.out b/libjava/testsuite/libjava.jar/simple.out
new file mode 100644 (file)
index 0000000..45b983b
--- /dev/null
@@ -0,0 +1 @@
+hi
diff --git a/libjava/testsuite/libjava.jar/simple.xfail b/libjava/testsuite/libjava.jar/simple.xfail
new file mode 100644 (file)
index 0000000..478dfc7
--- /dev/null
@@ -0,0 +1 @@
+main=simple