Divide_1.java: Add may more test cases.
authorAndrew Haley <aph@cambridge.redhat.com>
Fri, 6 Jul 2001 16:32:40 +0000 (16:32 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Fri, 6 Jul 2001 16:32:40 +0000 (16:32 +0000)
2001-07-06  Andrew Haley  <aph@cambridge.redhat.com>

        * libjava.lang/Divide_1.java: Add may more test cases.
        * libjava.lang/Divide_1.out: Likewise.

From-SVN: r43812

libjava/testsuite/ChangeLog
libjava/testsuite/libjava.lang/Divide_1.java
libjava/testsuite/libjava.lang/Divide_1.out

index a7a98aa4d4e78e56e4bb268741caa590f61195f6..cc7acc8506e577fc1402cdc93b0418d6bfc0d318 100644 (file)
@@ -1,3 +1,8 @@
+2001-07-06  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * libjava.lang/Divide_1.java: Add many more test cases.
+       * libjava.lang/Divide_1.out: Likewise.
+
 2001-07-03  Jeff Sturm  <jsturm@one-point.com>
 
        * libjava.lang/II.java: New file.
index d4e01939aa54c270442c683f3d2cca8794355ede..50db00935ba32d0ba6af6e2bd490dca142f1b6ba 100644 (file)
@@ -4,7 +4,7 @@ public class Divide_1
   int b1 = Integer.parseInt ("-1");  
   static int zero = Integer.parseInt ("0");
 
-  void probe ()
+  void probe_1 ()
   {
      try {
       int a = Integer.parseInt ("-80000000", 16);
@@ -98,8 +98,106 @@ public class Divide_1
       System.out.println (_);
     }
   }
+
+  void probe_2 ()
+  {
+    try {
+      int a = -0x80000000;
+      int c = a/b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+  
+    try {
+      int a = -0x80000000;
+      int c = a/-1;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      int a = -0x80000000;
+      int c = a%b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      int a = -0x80000000;
+      int c = a%b1;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      int a = -0x80000000;
+      int c = a%-1;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      int a = 0x8000;
+      int b = 0;
+      int c = a/b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      int a = 0x8000;
+      int b = 0;
+      int c = a%b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      long a = -0x7fffffffffffffffL - 1;
+      long c = a/b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      long a = -0x7fffffffffffffffL - 1;
+      long c = a%b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+
+    try {
+      long a = 0x8000;
+      long b = 0;
+      long c = a/b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+    try {
+      long a = 0x8000;
+      long b = 0;
+      long c = a%b;
+      System.out.println (c);
+    } catch (Exception _) {
+      System.out.println (_);
+    }
+  }
  
-  public static void main (String[] args) {
-    new Divide_1 ().probe ();
+  public static void main (String[] args) 
+  {
+    Divide_1 d = new Divide_1 ();
+    d.probe_1 ();
+    d.probe_2 ();
   }
 }
index 6e1f87ed4fc88d77d4ae76383b1044727a050956..be5d07c725845f3896237c0240247557b26fbdc0 100644 (file)
@@ -9,3 +9,14 @@ java.lang.ArithmeticException: / by zero
 0
 java.lang.ArithmeticException: / by zero
 java.lang.ArithmeticException: / by zero
+-2147483648
+-2147483648
+0
+0
+0
+java.lang.ArithmeticException: / by zero
+java.lang.ArithmeticException: / by zero
+-9223372036854775808
+0
+java.lang.ArithmeticException: / by zero
+java.lang.ArithmeticException: / by zero