OSDN Git Service

* lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Feb 2002 04:14:15 +0000 (04:14 +0000)
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Feb 2002 04:14:15 +0000 (04:14 +0000)
Don't display expected and actual output for a failed output test.

* libjava.lang/ArrayStore.java: New file.
* libjava.lang/ArrayStore.out: New file.
* libjava.lang/ArrayStore.xfail: New file. xfail-byte-output.
* libjava.lang/ArrayStore2.java: New file.
* libjava.lang/ArrayStore2.out: New file.
* libjava.lang/ArrayStore2.xfail: New file. xfail-source-output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49888 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/testsuite/ChangeLog
libjava/testsuite/lib/libjava.exp
libjava/testsuite/libjava.lang/ArrayStore.java [new file with mode: 0644]
libjava/testsuite/libjava.lang/ArrayStore.out [new file with mode: 0644]
libjava/testsuite/libjava.lang/ArrayStore.xfail [new file with mode: 0644]
libjava/testsuite/libjava.lang/ArrayStore2.java [new file with mode: 0644]
libjava/testsuite/libjava.lang/ArrayStore2.out [new file with mode: 0644]
libjava/testsuite/libjava.lang/ArrayStore2.xfail [new file with mode: 0644]

index a979958..b9f5d62 100644 (file)
@@ -1,7 +1,22 @@
+2002-02-20  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+
+       * lib/libjava.exp: Add "xfail-byte-output" and "xfail-source-output".
+       Don't display expected and actual output for a failed output test.
+
+       * libjava.lang/ArrayStore.java: New file.
+       * libjava.lang/ArrayStore.out: New file.
+       * libjava.lang/ArrayStore.xfail: New file. xfail-byte-output.
+       * libjava.lang/ArrayStore2.java: New file.
+       * libjava.lang/ArrayStore2.out: New file.
+       * libjava.lang/ArrayStore2.xfail: New file. xfail-source-output.
+
 2002-02-18  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
 
        * libjava.lang/err7.xfail: Removed.
        * libjava.lang/err8.xfail: Removed.
+       
+       * libjava.lang/ArrayStore.java: New file.
+       * libjava.lang/ArrayStore.out: New file.
 
 2002-02-10  Tom Tromey  <tromey@redhat.com>
 
index 67f9b6e..50996aa 100644 (file)
@@ -510,12 +510,13 @@ proc test_libjava_from_source { options srcfile compile_args inpfile resultfile
     if {[info exists opts(xfail-output)]} {
        setup_xfail *-*-*
     }
+    if {[info exists opts(xfail-source-output)]} {
+       setup_xfail *-*-*
+    }
     if { $passed == 1 } {
        pass "$errname output from source compiled test"
        eval gcj_cleanup $removeList
     } else {
-       clone_output "expected was $expected"
-       clone_output "output was $output"
        fail "$errname output from source compiled test"
     }
     close $id;
@@ -737,6 +738,9 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
     if {[info exists opts(xfail-output)]} {
        setup_xfail *-*-*
     }
+    if {[info exists opts(xfail-byte-output)]} {
+       setup_xfail *-*-*
+    }
     if {$options == "regexp_match"} {
        if [regexp $expected $output] {
            set passed 1;
@@ -750,8 +754,6 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
        pass "$errname output from bytecode->native test"
        eval gcj_cleanup $removeList
     } else {
-       clone_output "expected was $expected"
-       clone_output "output was $output"
        fail "$errname output from bytecode->native test"
     }
     close $id;
@@ -774,6 +776,10 @@ proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile e
 #   `xfail-exec'  exec will fail
 #   `xfail-output'
 #                 output will be wrong
+#   `xfail-byte-output'
+#                 output will be wrong when compiled from bytecode
+#   `xfail-source-output'
+#                 output will be wrong when compiled from source code
 #   `need-threads'
 #                 test relies on thread support
 #
diff --git a/libjava/testsuite/libjava.lang/ArrayStore.java b/libjava/testsuite/libjava.lang/ArrayStore.java
new file mode 100644 (file)
index 0000000..9afac71
--- /dev/null
@@ -0,0 +1,52 @@
+public class ArrayStore
+{
+  public static void main(String[] args)
+  {
+    ArrayStore s = new ArrayStore();
+
+    /* Check that bounds check takes precedence over array store check. */
+    try 
+    {
+      s.a(new String[1]);
+    }
+    catch (Exception x)
+    {
+      System.out.println (x.getClass().getName());
+    }
+
+    try 
+    {
+      s.a(new String[2]);
+    }
+    catch (Exception x)
+    {
+      System.out.println (x.getClass().getName());
+    }
+
+    /* Check that += operator on String[] element works and throws bounds 
+       exception. */
+    try 
+    {
+      s.b(new String[1]);
+    }
+    catch (Exception x)
+    {
+      System.out.println (x.getClass().getName());
+    }
+
+    String[] sb = new String[2];
+    sb[1] = "foo";
+    s.b(sb);
+    System.out.println (sb[1]);
+  }
+
+  void a(Object[] oa)
+  {
+    oa[1] = new Integer(2);
+  }
+
+  void b(String[] sa)
+  {
+    sa[1] += "bar";
+  }
+}
diff --git a/libjava/testsuite/libjava.lang/ArrayStore.out b/libjava/testsuite/libjava.lang/ArrayStore.out
new file mode 100644 (file)
index 0000000..b22379d
--- /dev/null
@@ -0,0 +1,4 @@
+java.lang.ArrayIndexOutOfBoundsException
+java.lang.ArrayStoreException
+java.lang.ArrayIndexOutOfBoundsException
+foobar
diff --git a/libjava/testsuite/libjava.lang/ArrayStore.xfail b/libjava/testsuite/libjava.lang/ArrayStore.xfail
new file mode 100644 (file)
index 0000000..7728fd2
--- /dev/null
@@ -0,0 +1 @@
+xfail-byte-output
diff --git a/libjava/testsuite/libjava.lang/ArrayStore2.java b/libjava/testsuite/libjava.lang/ArrayStore2.java
new file mode 100644 (file)
index 0000000..1364d39
--- /dev/null
@@ -0,0 +1,31 @@
+public class ArrayStore2
+{
+  public static void main(String[] args)
+  {
+    new ArrayStore2().a(new Object[2], 3);
+  }
+
+  void a(Object[] oa, int i)
+  {
+    try
+    {
+      oa[index()] = obj();
+    }
+    catch (Exception x)
+    {
+      System.out.println (x.getClass().getName());
+    }
+  }
+
+  int index()
+  {
+    System.out.println ("index");
+    return 3;
+  }
+
+  Object obj()
+  {
+    System.out.println ("rhs");
+    return new Object();
+  }
+}
diff --git a/libjava/testsuite/libjava.lang/ArrayStore2.out b/libjava/testsuite/libjava.lang/ArrayStore2.out
new file mode 100644 (file)
index 0000000..89dddb2
--- /dev/null
@@ -0,0 +1,3 @@
+index
+rhs
+java.lang.ArrayIndexOutOfBoundsException
diff --git a/libjava/testsuite/libjava.lang/ArrayStore2.xfail b/libjava/testsuite/libjava.lang/ArrayStore2.xfail
new file mode 100644 (file)
index 0000000..e4c7ce3
--- /dev/null
@@ -0,0 +1 @@
+xfail-source-output