Thanks David, Here are the patches, let me know if they have come in fine:
1) test/java/lang/ref/Basic.**java.patch - changed to not use Thread.sleep() any more rather use the java.util.concurrent.**CountdownLatch functionality Authors: Mani (sadhak...@gmail.com) and Edward Yue Shung Wong ( edward.ys.w...@gmail.com) ------------x--------------- diff -r 38e1821c4472 test/java/lang/ref/Basic.java --- a/test/java/lang/ref/Basic.java Wed Mar 06 18:35:51 2013 +0100 +++ b/test/java/lang/ref/Basic.java Sat Mar 23 14:51:25 2013 +0000 @@ -29,7 +29,7 @@ import java.lang.ref.*; import java.util.Vector; - +import java.util.concurrent.CountDownLatch; public class Basic { @@ -64,22 +64,22 @@ fork(new Runnable() { public void run() { System.err.println("References: W " + rw.get() - + ", W2 " + rw2.get() - + ", P " + rp.get() - + ", P2 " + rp2.get()); + + ", W2 " + rw2.get() + + ", P " + rp.get() + + ", P2 " + rp2.get()); } }); } - static void createNoise() throws InterruptedException { + static void createNoise(final CountDownLatch cdl) throws InterruptedException { fork(new Runnable() { public void run() { keep.addElement(new PhantomReference(new Object(), q2)); + createNoiseHasFinishedAddingToKeep(cdl); } }); } - public static void main(String[] args) throws Exception { fork(new Runnable() { @@ -97,13 +97,16 @@ int ndq = 0; boolean prevFinalized = false; - outer: + outer: for (int i = 1;; i++) { Reference r; - createNoise(); + CountDownLatch inQueueWaitLatch = new CountDownLatch(1); + createNoise(inQueueWaitLatch); + System.err.println("GC " + i); - Thread.sleep(10); + waitUntilCreateNoiseHasFinished(inQueueWaitLatch); + System.gc(); System.runFinalization(); @@ -137,7 +140,7 @@ if (ndq != 3) { throw new Exception("Expected to dequeue 3 reference objects," - + " but only got " + ndq); + + " but only got " + ndq); } if (! Basic.finalized) { @@ -146,4 +149,13 @@ } + + private static void createNoiseHasFinishedAddingToKeep(CountDownLatch cdl) { + cdl.countDown(); + } + + private static void waitUntilCreateNoiseHasFinished(CountDownLatch cdl) throws InterruptedException { + cdl.await(); + } + } ------------x---------------- 2) test/java/lang/Runtime/exec/**LotsOfOutput.java.patch - refactor-ing and tidy-ing of existing code (removing string literals and replacing with constants, etc...) Author: Edward Yue Shung Wong (edward.ys.w...@gmail.com) ------------x---------------- diff -r 38e1821c4472 test/java/lang/Runtime/exec/LotsOfOutput.java --- a/test/java/lang/Runtime/exec/LotsOfOutput.java Wed Mar 06 18:35:51 2013 +0100 +++ b/test/java/lang/Runtime/exec/LotsOfOutput.java Sat Mar 23 15:48:46 2013 +0000 @@ -33,17 +33,24 @@ public class LotsOfOutput { static final String CAT = "/usr/bin/cat"; - public static void main(String[] args) throws Exception{ - if (File.separatorChar == '\\' || // Windows - !new File(CAT).exists()) // no cat + static final int MEMORY_GROWTH_LIMIT = 1000000; + + public static void main(String[] args) throws Exception { + if (isWindowsOrCatNotAvailable()) { return; + } + Process p = Runtime.getRuntime().exec(CAT + " /dev/zero"); long initMemory = Runtime.getRuntime().totalMemory(); - for (int i=1; i< 10; i++) { + for (int i = 1; i < 10; i++) { Thread.sleep(100); - if (Runtime.getRuntime().totalMemory() > initMemory + 1000000) - throw new Exception("Process consumes memory."); + if (Runtime.getRuntime().totalMemory() > initMemory + MEMORY_GROWTH_LIMIT) + throw new Exception("Runtime memory has grown more than: " + MEMORY_GROWTH_LIMIT); } } + + private static boolean isWindowsOrCatNotAvailable() { + return File.separatorChar == '\\' || !new File(CAT).exists(); + } } ------------x---------------- Any queries please let me know. Thanks. Regards, mani On Fri, Apr 5, 2013 at 1:38 AM, David Holmes <david.hol...@oracle.com>wrote: > Hi Mani, > > Attachments get stripped so you will need to inline the patches in your > email to the list. > > Thanks, > David > > > On 5/04/2013 9:07 AM, Mani Sarkar wrote: > >> Hi all, >> >> I'd like to rectify that I;m a contributor (and not a committer as >> mentioned earlier), so I don't have access to the webrev system but would >> love to have these patches hosted on them when a sponsor becomes >> available. >> >> Cheers, >> mani >> >> On Thu, Apr 4, 2013 at 11:57 PM, Mani Sarkar <sadhak...@gmail.com> wrote: >> >> Hi all, >>> >>> During #TestFest in London last month we hacked away on jtreg and tests >>> in >>> the OpenJDK. Myself and another participant managed to change two unit >>> tests. I haven't looked for a sponsor in the past so I'm fairly new to >>> the >>> process, hence my email on the list is to request for someone to review, >>> and process these patches further. I'm a committer (signed OCA). >>> >>> Here's details of the changes made to the tests under the >>> .*./jdk8_tl/jdk*folders: >>> >>> 1) *test/java/lang/ref/Basic.**java.patch* - changed to not use >>> >>> Thread.sleep() any more rather use the java.util.concurrent.** >>> CountdownLatch >>> functionality >>> 2) *test/java/lang/Runtime/exec/**LotsOfOutput.java.patch* - >>> refactor-ing >>> >>> and tidy-ing of existing code (removing string literals and replacing >>> with >>> constants, etc...) >>> >>> Please let me know what you would like me to do next with these patches. >>> >>> Regards, >>> mani >>> >>> -- >>> *Twitter:* @theNeomatrix369 >>> *Blog:* >>> http://neomatrix369.wordpress.**com<http://neomatrix369.wordpress.com> >>> *JUG activity:* LJC Advocate (@adoptopenjdk & @adoptajsr programs) >>> *Meet-a-Project:* >>> https://github.com/**MutabilityDetector<https://github.com/MutabilityDetector> >>> *Devoxx UK 2013 was a grand success:* >>> http://www.devoxx.com/display/**UK13/Home<http://www.devoxx.com/display/UK13/Home> >>> *Don't chase success, rather aim for "Excellence", and success will come >>> chasing after you!* >>> >>> >> >> >> -- *Twitter:* @theNeomatrix369 *Blog:* http://neomatrix369.wordpress.com *JUG activity:* LJC Advocate (@adoptopenjdk & @adoptajsr programs) *Meet-a-Project:* https://github.com/MutabilityDetector *Devoxx UK 2013 was a grand success:* http://www.devoxx.com/display/UK13/Home *Don't chase success, rather aim for "Excellence", and success will come chasing after you!*