[hibernate-commits] Hibernate SVN: r13933 - in core/trunk: testsuite/src/test/java/org/hibernate/test/legacy and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Aug 17 14:46:02 EDT 2007


Author: steve.ebersole at jboss.com
Date: 2007-08-17 14:46:02 -0400 (Fri, 17 Aug 2007)
New Revision: 13933

Modified:
   core/trunk/testing/src/main/java/org/hibernate/junit/functional/FunctionalTestCase.java
   core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/MasterDetailTest.java
Log:
skip org.hibernate.test.legacy.MasterDetailTest#testCachedCollectionRefresh when connection is enforcing (at least) serializable isolation

Modified: core/trunk/testing/src/main/java/org/hibernate/junit/functional/FunctionalTestCase.java
===================================================================
--- core/trunk/testing/src/main/java/org/hibernate/junit/functional/FunctionalTestCase.java	2007-08-17 18:45:35 UTC (rev 13932)
+++ core/trunk/testing/src/main/java/org/hibernate/junit/functional/FunctionalTestCase.java	2007-08-17 18:46:02 UTC (rev 13933)
@@ -4,6 +4,7 @@
 import java.util.Map;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.sql.Connection;
 
 import org.hibernate.cfg.Configuration;
 import org.hibernate.cfg.Mappings;
@@ -279,6 +280,29 @@
 
 
 
+	/**
+	 * Do connections enforce SERIALIZABLE isolation...
+	 *
+	 * @return
+	 * @throws Exception
+	 */
+	protected boolean isSerializableIsolationEnforced() throws Exception {
+		Connection conn = null;
+		try {
+			conn = sfi().getConnectionProvider().getConnection();
+			return conn.getTransactionIsolation() >= Connection.TRANSACTION_SERIALIZABLE;
+		}
+		finally {
+			if ( conn != null ) {
+				try {
+					sfi().getConnectionProvider().closeConnection( conn );
+				}
+				catch ( Throwable ignore ) {
+					// ignore...
+				}
+			}
+		}
+	}
 
 	/**
 	 * Is connection at least read committed?

Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/MasterDetailTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/MasterDetailTest.java	2007-08-17 18:45:35 UTC (rev 13932)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/MasterDetailTest.java	2007-08-17 18:46:02 UTC (rev 13933)
@@ -835,6 +835,10 @@
 	}
 
 	public void testCachedCollectionRefresh() throws Exception {
+		if ( isSerializableIsolationEnforced() ) {
+			reportSkip( "SERIALIZABLE isolation", "cached collection refreshing" );
+			return;
+		}
 		Session s = openSession();
 		Category c = new Category();
 		List list = new ArrayList();
@@ -853,7 +857,9 @@
 		s.close();
 		
 		s = openSession();
-		if ( (getDialect() instanceof MySQLDialect) ) s.connection().setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
+		if ( (getDialect() instanceof MySQLDialect) ) {
+			s.connection().setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
+		}
 		c = (Category) s.load(Category.class, id);
 		c.getSubcategories().size(); //force load
 




More information about the hibernate-commits mailing list