You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2010/01/05 19:42:52 UTC

svn commit: r896171 - /cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSharedCacheTest.java

Author: aadamchik
Date: Tue Jan  5 18:42:52 2010
New Revision: 896171

URL: http://svn.apache.org/viewvc?rev=896171&view=rev
Log:
using ThreadedTestHelper for more reliable, yet fast multi-threaded event testing
(cherry picked from commit da97bcb7635e168af3341eb07d3d34527ea091f5)

Modified:
    cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSharedCacheTest.java

Modified: cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSharedCacheTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSharedCacheTest.java?rev=896171&r1=896170&r2=896171&view=diff
==============================================================================
--- cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSharedCacheTest.java (original)
+++ cayenne/main/branches/STABLE-3.0/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/access/DataContextSharedCacheTest.java Tue Jan  5 18:42:52 2010
@@ -594,7 +594,7 @@
         String originalName = artist.getArtistName();
 
         // create alternative context
-        DataContext altContext = mirrorDataContext(context);
+        final DataContext altContext = mirrorDataContext(context);
 
         // make sure we have a fully resolved copy of an artist object
         // in the second context
@@ -604,8 +604,6 @@
         assertEquals(PersistenceState.COMMITTED, altArtist.getPersistenceState());
 
         context.invalidateObjects(Collections.singletonList(artist));
-        // wait long enough for non-blocking events to be processed
-        Thread.sleep(10);
 
         // original context
         assertEquals(PersistenceState.HOLLOW, artist.getPersistenceState());
@@ -613,9 +611,17 @@
                 artist.getObjectId()));
 
         // alternate context
-        assertEquals(PersistenceState.HOLLOW, altArtist.getPersistenceState());
-        assertNull(altContext.getObjectStore().getDataRowCache().getCachedSnapshot(
-                altArtist.getObjectId()));
+        new ThreadedTestHelper() {
+
+            @Override
+            protected void assertResult() throws Exception {
+                assertEquals(PersistenceState.HOLLOW, altArtist.getPersistenceState());
+                assertNull(altContext
+                        .getObjectStore()
+                        .getDataRowCache()
+                        .getCachedSnapshot(altArtist.getObjectId()));
+            }
+        }.assertWithTimeout(5000);
 
         // resolve object
         assertEquals(originalName, altArtist.getArtistName());