openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dwo...@apache.org
Subject svn commit: r1030215 - /openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
Date Tue, 02 Nov 2010 21:02:22 GMT
Author: dwoods
Date: Tue Nov  2 21:02:21 2010
New Revision: 1030215

URL: http://svn.apache.org/viewvc?rev=1030215&view=rev
Log:
one more attempt to fix these failing testTimeouts1 failures on some machines

Modified:
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java?rev=1030215&r1=1030214&r2=1030215&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
(original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
Tue Nov  2 21:02:21 2010
@@ -1006,6 +1006,9 @@ public abstract class CacheTest extends 
             
             endTx(em);
 
+            // get post-persist time for sleep calculations below
+            Date persistTime = new Date();
+
             Object[] ids = new Object[4];
             ids[0] = new Id(CacheObjectE.class, em.getObjectId(e).toString());
             ids[1] = new Id(CacheObjectF.class, em.getObjectId(f).toString());
@@ -1042,26 +1045,34 @@ public abstract class CacheTest extends 
                 checkCache(cache, ids, new boolean[]{ true, true, true, true });
             } else {
                 // need to skip the test on slow systems or when using remote DB connections
-                getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(all, <500)
because diff="+diff);
+                getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(all, <500)
because initial diff="+diff);
             }
             
             // should cause h to be dropped (timeout=500)
             currentTime = new Date();
             diff = (currentTime.getTime() - startTime.getTime());
             sleep = 750 - diff;
-            if (sleep > 0) {
+            if (sleep < (-150)) {
+                // we already missed the window
+                getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(h=500) because
sleep="+sleep);
+            } else if (sleep > 10) {
                 getLog().info("CacheTest.timeoutsHelper() testing h to be dropped by waiting
sleep="+sleep);
                 Thread.currentThread().sleep(sleep);
                 Thread.yield();
             } else {
                 sleep = 0;
             }
-            if ((diff + sleep) < 950) {
+
+            // recalc diff again
+            currentTime = new Date();
+            diff = (currentTime.getTime() - startTime.getTime());
+            if (sleep >= 0 && diff > 500 && diff < 950) {
                 // only h should be dropped
                 checkCache(cache, ids, new boolean[]{ true, true, true, false });
             } else {
                 // need to skip the test on slow systems or when using remote DB connections
-                getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(h=500) because
diff="+(diff+sleep));
+                getLog().warn("CacheTest.timeoutsHelper() skipping checkCache(h=500) because
sleep="+sleep+
+                    " and final diff="+diff);
             }
 
             // if this run has a default timeout (set to 1 sec in the test
@@ -1075,7 +1086,7 @@ public abstract class CacheTest extends 
             currentTime = new Date();
             diff = currentTime.getTime() - startTime.getTime();
             sleep = 2000 - diff;
-            if (sleep > 0) {
+            if (sleep > 10) {
                 getLog().info("CacheTest.timeoutsHelper() testing f to be dropped by waiting
sleep="+sleep);
                 Thread.currentThread().sleep(sleep);
                 Thread.yield();
@@ -1100,7 +1111,7 @@ public abstract class CacheTest extends 
             currentTime = new Date();
             diff = currentTime.getTime() - startTime.getTime();
             sleep = 6000 - diff;
-            if (sleep > 0) {
+            if (sleep > 10) {
                 getLog().info("CacheTest.timeoutsHelper() testing g to be dropped by waiting
sleep="+sleep);
                 Thread.currentThread().sleep(sleep);
                 Thread.yield();



Mime
View raw message