Merge
authormullan
Tue, 13 Aug 2013 10:07:56 -0400
changeset 19397 b87df682817d
parent 19396 20ddd34c2abe (current diff)
parent 19395 e31689b0bb67 (diff)
child 19398 0cd1d4845b2d
Merge
jdk/test/ProblemList.txt
--- a/jdk/src/share/classes/java/math/MutableBigInteger.java	Tue Aug 13 10:06:48 2013 -0400
+++ b/jdk/src/share/classes/java/math/MutableBigInteger.java	Tue Aug 13 10:07:56 2013 -0400
@@ -1242,6 +1242,9 @@
         int r = intLen;
         int s = b.intLen;
 
+        // Clear the quotient
+        quotient.offset = quotient.intLen = 0;
+
         if (r < s) {
             return this;
         } else {
@@ -1276,7 +1279,6 @@
             // do schoolbook division on blocks, dividing 2-block numbers by 1-block numbers
             MutableBigInteger qi = new MutableBigInteger();
             MutableBigInteger ri;
-            quotient.offset = quotient.intLen = 0;
             for (int i=t-2; i > 0; i--) {
                 // step 8a: compute (qi,ri) such that z=b*qi+ri
                 ri = z.divide2n1n(bShifted, qi);
--- a/jdk/src/share/classes/javax/crypto/spec/PBEParameterSpec.java	Tue Aug 13 10:06:48 2013 -0400
+++ b/jdk/src/share/classes/javax/crypto/spec/PBEParameterSpec.java	Tue Aug 13 10:07:56 2013 -0400
@@ -64,7 +64,8 @@
      * @param salt the salt. The contents of <code>salt</code> are copied
      * to protect against subsequent modification.
      * @param iterationCount the iteration count.
-     * @param paramSpec the cipher algorithm parameter specification.
+     * @param paramSpec the cipher algorithm parameter specification, which
+     * may be null.
      * @exception NullPointerException if <code>salt</code> is null.
      *
      * @since 1.8
--- a/jdk/test/ProblemList.txt	Tue Aug 13 10:06:48 2013 -0400
+++ b/jdk/test/ProblemList.txt	Tue Aug 13 10:07:56 2013 -0400
@@ -131,10 +131,6 @@
 # 7196801
 java/lang/management/MemoryMXBean/LowMemoryTest2.sh		generic-all
 
-# 8019845 due to memleak not related to the tested fix
-java/lang/instrument/RedefineBigClass.sh                        linux-x64
-java/lang/instrument/RetransformBigClass.sh                     linux-x64
-
 # 8021230
 java/lang/ThreadLocal/ThreadLocalSupplierTest.java              generic-all
 
@@ -315,9 +311,6 @@
 
 # jdk_time
 
-# 8016623
-java/time/test/java/time/format/TestDateTimeTextProvider.java   generic-all
-
 ############################################################################
 
 # jdk_tools
--- a/jdk/test/java/math/BigInteger/BigIntegerTest.java	Tue Aug 13 10:06:48 2013 -0400
+++ b/jdk/test/java/math/BigInteger/BigIntegerTest.java	Tue Aug 13 10:07:56 2013 -0400
@@ -74,10 +74,10 @@
 
     static final int ORDER_SMALL = 60;
     static final int ORDER_MEDIUM = 100;
-    // #bits for testing Karatsuba and Burnikel-Ziegler
+    // #bits for testing Karatsuba
     static final int ORDER_KARATSUBA = 1800;
-    // #bits for testing Toom-Cook
-    static final int ORDER_TOOM_COOK = 3000;
+    // #bits for testing Toom-Cook and Burnikel-Ziegler
+    static final int ORDER_TOOM_COOK = 4000;
     // #bits for testing Karatsuba squaring
     static final int ORDER_KARATSUBA_SQUARE = 3200;
     // #bits for testing Toom-Cook squaring
@@ -964,12 +964,12 @@
         nextProbablePrime();
 
         arithmetic(order1);   // small numbers
-        arithmetic(order3);   // Karatsuba / Burnikel-Ziegler range
-        arithmetic(order4);   // Toom-Cook range
+        arithmetic(order3);   // Karatsuba range
+        arithmetic(order4);   // Toom-Cook / Burnikel-Ziegler range
 
         divideAndRemainder(order1);   // small numbers
-        divideAndRemainder(order3);   // Karatsuba / Burnikel-Ziegler range
-        divideAndRemainder(order4);   // Toom-Cook range
+        divideAndRemainder(order3);   // Karatsuba range
+        divideAndRemainder(order4);   // Toom-Cook / Burnikel-Ziegler range
 
         pow(order1);
         pow(order3);
@@ -989,8 +989,8 @@
         byteArrayConv(order1);
 
         modInv(order1);   // small numbers
-        modInv(order3);   // Karatsuba / Burnikel-Ziegler range
-        modInv(order4);   // Toom-Cook range
+        modInv(order3);   // Karatsuba range
+        modInv(order4);   // Toom-Cook / Burnikel-Ziegler range
 
         modExp(order1, order2);
         modExp2(order1);
--- a/jdk/test/java/util/Collection/MOAT.java	Tue Aug 13 10:06:48 2013 -0400
+++ b/jdk/test/java/util/Collection/MOAT.java	Tue Aug 13 10:07:56 2013 -0400
@@ -30,7 +30,6 @@
  * @summary Run many tests on many Collection and Map implementations
  * @author  Martin Buchholz
  * @run main MOAT
- * @run main/othervm -XX:+AggressiveOpts MOAT
  */
 
 /* Mother Of All (Collection) Tests
--- a/jdk/test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java	Tue Aug 13 10:06:48 2013 -0400
+++ b/jdk/test/java/util/logging/bundlesearch/ResourceBundleSearchTest.java	Tue Aug 13 10:07:56 2013 -0400
@@ -57,9 +57,32 @@
     private static int numFail = 0;
     private static List<String> msgs = new ArrayList<>();
 
+    // This test has been falling in timeout - so we're adding some
+    // time stamp here and there to help diagnose whether it's a
+    // simple system slowness or whether there's a deeper issue,
+    // like a deadlock. The timeout issue should be fixed now,
+    // but we leave the time stamps in case it reappears.
+    //
+    static final long stamp = System.currentTimeMillis();
+    private static String getTimeStamp() {
+        long time = System.currentTimeMillis();
+        long delta = time - stamp;
+        long min = delta/60000;
+        long sec = (delta - min * 60000) / 10000;
+        long msec = delta - min * 60000 - sec * 1000;
+        return (min == 0 ? "" : (min + " min. ")) +
+               (sec == 0 ? "" : (sec + " sec. ")) +
+               (msec == 0 ? "" : (msec + "ms."));
+    }
+
     public static void main(String[] args) throws Throwable {
+        System.out.println("ResourceBundleSearchTest starting: "+getTimeStamp());
         ResourceBundleSearchTest test = new ResourceBundleSearchTest();
-        test.runTests();
+        try {
+            test.runTests();
+        } finally {
+            System.out.println("ResourceBundleSearchTest terminated: "+getTimeStamp());
+        }
     }
 
     private void runTests() throws Throwable {
@@ -77,15 +100,19 @@
         urls[0] = Paths.get(testDir, "resources").toUri().toURL();
         URLClassLoader rbClassLoader = new URLClassLoader(urls);
 
+        int testnb = 1;
+        System.out.println("ResourceBundleSearchTest starting test #"+(testnb++)+": "+getTimeStamp());
         // Test 1 - can we find a Logger bundle from doing a stack search?
         // We shouldn't be able to
         assertFalse(testGetBundleFromStackSearch(), "1-testGetBundleFromStackSearch");
 
+        System.out.println("ResourceBundleSearchTest starting test #"+(testnb++)+": "+getTimeStamp());
         // Test 2 - can we find a Logger bundle off of the Thread context class
         // loader? We should be able to.
         assertTrue(testGetBundleFromTCCL(TCCL_TEST_BUNDLE, rbClassLoader),
                    "2-testGetBundleFromTCCL");
 
+        System.out.println("ResourceBundleSearchTest starting test #"+(testnb++)+": "+getTimeStamp());
         // Test 3 - Can we find a Logger bundle from the classpath?  We should be
         // able to.  We'll first check to make sure the setup is correct and
         // it actually is on the classpath before checking whether logging
@@ -99,21 +126,25 @@
                                  + " on the classpath");
         }
 
+        System.out.println("ResourceBundleSearchTest starting test #"+(testnb++)+": "+getTimeStamp());
         // Test 4 - we should be able to find a bundle from the caller's
         // classloader, but only one level up.
         assertTrue(testGetBundleFromCallersClassLoader(),
                    "4-testGetBundleFromCallersClassLoader");
 
+        System.out.println("ResourceBundleSearchTest starting test #"+(testnb++)+": "+getTimeStamp());
         // Test 5 - this ensures that getAnonymousLogger(String rbName)
         // can find the bundle from the caller's classloader
         assertTrue(testGetAnonymousLogger(), "5-testGetAnonymousLogger");
 
+        System.out.println("ResourceBundleSearchTest starting test #"+(testnb++)+": "+getTimeStamp());
         // Test 6 - first call getLogger("myLogger").
         // Then call getLogger("myLogger","bundleName") from a different ClassLoader
         // Make sure we find the bundle
         assertTrue(testGetBundleFromSecondCallersClassLoader(),
                    "6-testGetBundleFromSecondCallersClassLoader");
 
+        System.out.println("ResourceBundleSearchTest generating report: "+getTimeStamp());
         report();
     }
 
@@ -132,6 +163,7 @@
     public void assertTrue(boolean testResult, String testName) {
         if (testResult) {
             numPass++;
+            System.out.println("PASSED: " + testName);
         } else {
             numFail++;
             System.out.println("FAILED: " + testName
@@ -142,6 +174,7 @@
     public void assertFalse(boolean testResult, String testName) {
         if (!testResult) {
             numPass++;
+            System.out.println("PASSED: " + testName);
         } else {
             numFail++;
             System.out.println("FAILED: " + testName
@@ -170,12 +203,10 @@
         debug("Looking for " + bundleName + " using TCCL");
         LoggingThread lr = new LoggingThread(bundleName, setOnTCCL);
         lr.start();
-        synchronized (lr) {
-            try {
-                lr.wait();
-            } catch (InterruptedException ex) {
-                throw ex;
-            }
+        try {
+            lr.join();
+        } catch (InterruptedException ex) {
+            throw ex;
         }
         msgs.add(lr.msg);
         return lr.foundBundle;