Author: dwoods
Date: Tue Oct 26 15:09:32 2010
New Revision: 1027588

URL: http://svn.apache.org/viewvc?rev=1027588&view=rev
Log:
make sure tests cleanup EMs and EMFs

Modified:
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestFinderCache.java
    
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestFinderCache.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestFinderCache.java?rev=1027588&r1=1027587&r2=1027588&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestFinderCache.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestFinderCache.java
 Tue Oct 26 15:09:32 2010
@@ -26,6 +26,7 @@ import javax.persistence.EntityManager;
 
 import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
 import org.apache.openjpa.kernel.FinderCache;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
 import org.apache.openjpa.persistence.test.SQLListenerTestCase;
 
 /**
@@ -56,6 +57,7 @@ public class TestFinderCache extends SQL
             em.persist(cd);
         }
         em.getTransaction().commit();
+        em.close();
     }
     
     public void setUp() {
@@ -69,13 +71,14 @@ public class TestFinderCache extends SQL
     }
     
     public void testFinder() {
-        emf = createEMF("openjpa.jdbc.FinderCache", "false");
+        //closeEMF(emf);  // close EMF provided by SingleEMFTestCase
+        OpenJPAEntityManagerFactorySPI emf1 = 
createEMF("openjpa.jdbc.FinderCache", "false");
         run(1, Book.class, BOOK_IDS); // for warmup
-        
-        assertNull(getCache());
-
-        emf = createEMF("openjpa.jdbc.FinderCache", "true");
-        assertNotNull(getCache());
+        assertNull(getCache(emf1));
+        OpenJPAEntityManagerFactorySPI emf2 = 
createEMF("openjpa.jdbc.FinderCache", "true");
+        assertNotNull(getCache(emf2));
+        closeEMF(emf1);
+        closeEMF(emf2);
     }
     
     public void testSQLEventListener() {
@@ -90,6 +93,7 @@ public class TestFinderCache extends SQL
             }
         }
         assertEquals(BOOK_IDS.length*N, sql.size());
+        em.close();
     }
     
     /**
@@ -114,8 +118,8 @@ public class TestFinderCache extends SQL
         return stats.get(N/2);
     }
     
-    FinderCache getCache() {
-        return ((JDBCConfiguration) emf.getConfiguration()).
+    FinderCache getCache(OpenJPAEntityManagerFactorySPI oemf) {
+        return ((JDBCConfiguration) oemf.getConfiguration()).
                 getFinderCacheInstance();
     }
 

Modified: 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
URL: 
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java?rev=1027588&r1=1027587&r2=1027588&view=diff
==============================================================================
--- 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
 (original)
+++ 
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
 Tue Oct 26 15:09:32 2010
@@ -47,6 +47,7 @@ import org.apache.openjpa.persistence.Op
 import org.apache.openjpa.persistence.OpenJPAPersistence;
 import org.apache.openjpa.persistence.OpenJPAQuery;
 import org.apache.openjpa.persistence.jdbc.sqlcache.Employee.Category;
+import org.apache.openjpa.persistence.test.AbstractPersistenceTestCase;
 
 /**
  * Tests correctness and performance of queries with and without Prepared 
Query Cacheing.
@@ -66,7 +67,7 @@ import org.apache.openjpa.persistence.jd
  * @author Pinaki Poddar
  * 
  */
-public class TestPreparedQueryCache extends TestCase {
+public class TestPreparedQueryCache extends AbstractPersistenceTestCase {
     
     private static String RESOURCE = "META-INF/persistence.xml"; 
     private static String UNIT_NAME = "PreparedQuery";
@@ -97,13 +98,16 @@ public class TestPreparedQueryCache exte
     
     protected static OpenJPAEntityManagerFactorySPI emf;
     protected static SQLAuditor auditor;
+    protected static int TEST_COUNT = 0;
     private OpenJPAEntityManagerSPI em;
        
        /**
         * Sets up the test suite with a statically initialized 
EntityManagerFactory.
         * Creates data once for all other tests to use.
         */
-       public void setUp()  {
+    @Override
+       public void setUp() throws Exception {
+        super.setUp();
         if (emf == null) {
             Properties config = new Properties();
             config.put("openjpa.jdbc.SynchronizeMappings", 
"buildSchema(ForeignKeys=true,SchemaAction='drop,add')");
@@ -119,6 +123,7 @@ public class TestPreparedQueryCache exte
                em = emf.createEntityManager();
             getPreparedQueryCache().clear();
         }
+        TEST_COUNT++;
        }
        
        /**
@@ -223,9 +228,16 @@ public class TestPreparedQueryCache exte
         em.getTransaction().commit();
        }
 
+       @Override
        public void tearDown() throws Exception {
-           if (em.isOpen())
-               em.close();
+           closeEM(em);
+           em = null;
+           if (TEST_COUNT >= 50) {
+               auditor.clear();
+               auditor = null;
+               closeEMF(emf);
+               emf = null;
+           }
                super.tearDown();
        }
     


Reply via email to