diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index fb27c20b66..4b6d81bf6c 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -39,7 +39,7 @@ dependencies { // common compile gradleApi() compile localGroovy() -// compile 'org.apache.ant:ant:1.8.2' + compile 'org.apache.ant:ant:1.8.2' // compile 'org.apache.maven:maven-ant-tasks:2.1.0' // needed? diff --git a/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/JavaVersion.java b/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/JavaVersion.java index 7f9777d54a..e519ec6ac4 100644 --- a/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/JavaVersion.java +++ b/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/JavaVersion.java @@ -49,7 +49,7 @@ public JavaVersion(String javaVersionString) { this.fullVersionString = javaVersionString; family = fullVersionString.startsWith( "1.6" ) ? Family.JAVA6 - : Family.JAVA5; + : ( fullVersionString.startsWith( "1.7" ) ? Family.JAVA7 : Family.JAVA5); } public String getFullVersionString() { diff --git a/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/Jdk.java b/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/Jdk.java index 6d384c3c29..99c65dde4c 100644 --- a/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/Jdk.java +++ b/buildSrc/src/main/groovy/org/hibernate/build/gradle/util/Jdk.java @@ -28,6 +28,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStreamReader; +import java.lang.String; import org.apache.tools.ant.taskdefs.condition.Os; import org.apache.tools.ant.util.FileUtils; @@ -119,35 +120,23 @@ private static String addExtension(String command) { private JavaVersion determineJdkVersion() { String javaVersionString = extractFromSunJdk(); if ( javaVersionString == null ) { - throw new RuntimeException( "Could not determine Java version" ); + javaVersionString = "1.6";//make 1.6 as default } return new JavaVersion( javaVersionString ); } private String extractFromSunJdk() { String version = null; - final String key = "java version \""; + try { final File javaCommand = getJavaExecutable(); Process javaProcess = Runtime.getRuntime().exec( javaCommand.getAbsolutePath() + " -version" ); try { - BufferedReader br = new BufferedReader( new InputStreamReader( javaProcess.getErrorStream() ) ); - String line; - while ( (line = br.readLine()) != null) { - if ( version == null && line.startsWith( key ) ) { - version = line.substring( key.length(), line.length() - 1 ); - } + version = extractVersion( new BufferedReader( new InputStreamReader( javaProcess.getErrorStream() ) ) ); + if( version == null || version.equals( "" )){ + version = extractVersion( new BufferedReader( new InputStreamReader( javaProcess.getInputStream() ) ) ); } - br.close(); - - br = new BufferedReader( new InputStreamReader( javaProcess.getInputStream() ) ); - while ( (line = br.readLine()) != null) { - if ( version == null && line.startsWith( key ) ) { - version = line.substring( key.length(), line.length() - 1 ); - } - } - br.close(); } finally { javaProcess.destroy(); @@ -158,4 +147,17 @@ private String extractFromSunJdk() { } return version; } + + private String extractVersion(BufferedReader br) throws IOException{ + final String key = "version \""; + String line = null; + String version = null; + while ( (line = br.readLine()) != null) { + if ( version == null && line.contains( key ) ) { + version = line.substring( line.indexOf( key ) + key.length(), line.length() - 1 ); + } + } + br.close(); + return version; + } } diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java index ea702eafb8..96ed9a9216 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/entity/BasicHibernateAnnotationsTest.java @@ -55,6 +55,10 @@ * @author Emmanuel Bernard */ public class BasicHibernateAnnotationsTest extends BaseCoreFunctionalTestCase { + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } @Test @RequiresDialectFeature( DialectChecks.SupportsExpectedLobUsagePattern.class ) public void testEntity() throws Exception { diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/inheritance/SubclassTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/inheritance/SubclassTest.java index 29f8821658..feeeb405fd 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/inheritance/SubclassTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/inheritance/SubclassTest.java @@ -49,6 +49,10 @@ * @author Emmanuel Bernard */ public class SubclassTest extends BaseCoreFunctionalTestCase { + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } @Test public void testPolymorphism() throws Exception { Session s = openSession(); diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java index a63d00f781..3a4394cde8 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/query/QueryAndSQLTest.java @@ -59,7 +59,10 @@ * @author Emmanuel Bernard */ public class QueryAndSQLTest extends BaseCoreFunctionalTestCase { - + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } @Test public void testNativeQueryWithFormulaAttribute() { SQLFunction dateFunction = getDialect().getFunctions().get( "current_date" ); @@ -214,6 +217,7 @@ public void testImportQueryFromMappedSuperclass() { @Test public void testSQLQueryWithManyToOne() { + cleanupCache(); Night n = new Night(); Calendar c = new GregorianCalendar(); c.set( 2000, 2, 2 ); @@ -238,9 +242,11 @@ public void testSQLQueryWithManyToOne() { Statistics stats = sessionFactory().getStatistics(); stats.setStatisticsEnabled( true ); Query q = s.getNamedQuery( "night&areaCached" ); + q.setCacheable( true ); List result = q.list(); assertEquals( 1, result.size() ); assertEquals( 1, stats.getQueryCachePutCount() ); + q.setCacheable( true ); q.list(); assertEquals( 1, stats.getQueryCacheHitCount() ); Night n2 = (Night) ( (Object[]) result.get( 0 ) )[0]; diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/quote/resultsetmappings/ExplicitSqlResultSetMappingTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/quote/resultsetmappings/ExplicitSqlResultSetMappingTest.java index 887c4fbb24..c9d7d2357a 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/annotations/quote/resultsetmappings/ExplicitSqlResultSetMappingTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/annotations/quote/resultsetmappings/ExplicitSqlResultSetMappingTest.java @@ -57,12 +57,9 @@ private void prepareTestData() { s.close(); } - private void cleanupTestData() { - Session s = sessionFactory().openSession(); - s.beginTransaction(); - s.createQuery( "delete MyEntity" ).executeUpdate(); - s.getTransaction().commit(); - s.close(); + @Override + protected boolean isCleanupTestDataRequired() { + return true; } @Test @@ -75,8 +72,6 @@ public void testCompleteScalarAutoDiscovery() { .list(); s.getTransaction().commit(); s.close(); - - cleanupTestData(); } @Test @@ -90,7 +85,5 @@ public void testPartialScalarAutoDiscovery() { .list(); s.getTransaction().commit(); s.close(); - - cleanupTestData(); } } diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/deletetransient/DeleteTransientEntityTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/deletetransient/DeleteTransientEntityTest.java index 1e1568b514..d86efcd5fc 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/deletetransient/DeleteTransientEntityTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/deletetransient/DeleteTransientEntityTest.java @@ -38,6 +38,10 @@ public class DeleteTransientEntityTest extends BaseCoreFunctionalTestCase { public String[] getMappings() { return new String[] { "deletetransient/Person.hbm.xml" }; } + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } @Test public void testTransientEntityDeletionNoCascades() { diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/hql/ASTParserLoadingTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/hql/ASTParserLoadingTest.java index ea71396812..a7b2f48972 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/hql/ASTParserLoadingTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/hql/ASTParserLoadingTest.java @@ -108,7 +108,10 @@ public class ASTParserLoadingTest extends BaseCoreFunctionalTestCase { private static final Logger log = Logger.getLogger( ASTParserLoadingTest.class ); private List createdAnimalIds = new ArrayList(); - + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } @Override public String[] getMappings() { return new String[] { diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/legacy/FumTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/legacy/FumTest.java index 6564419f34..f4dda667fc 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/legacy/FumTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/legacy/FumTest.java @@ -54,6 +54,11 @@ public class FumTest extends LegacyTestCase { private static short fumKeyShort = 1; + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } + @Override public String[] getMappings() { return new String[] { diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/legacy/LegacyTestCase.java b/hibernate-core/src/matrix/java/org/hibernate/test/legacy/LegacyTestCase.java index e9d45bef4c..e8d112a069 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/legacy/LegacyTestCase.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/legacy/LegacyTestCase.java @@ -23,6 +23,8 @@ */ package org.hibernate.test.legacy; +import java.util.List; + import org.junit.Before; import org.hibernate.Query; @@ -66,6 +68,18 @@ protected static String extractFromSystem(String systemPropertyName) { } } + @Override + protected void cleanupTestData() throws Exception { + Session s = openSession(); + s.beginTransaction(); + List list = s.createQuery( "from java.lang.Object" ).list(); + for ( Object obj : list ) { + s.delete( obj ); + } + s.getTransaction().commit(); + s.close(); + } + @Override public void configure(Configuration cfg) { super.configure( cfg ); diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/legacy/MultiTableTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/legacy/MultiTableTest.java index bf8a4b2444..1c28533370 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/legacy/MultiTableTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/legacy/MultiTableTest.java @@ -28,6 +28,10 @@ public class MultiTableTest extends LegacyTestCase { + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } @Override public String[] getMappings() { return new String[] { "legacy/Multi.hbm.xml", "legacy/MultiExtends.hbm.xml" }; diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java index 4bd5455b6d..262bf68454 100644 --- a/hibernate-core/src/matrix/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/manytomany/batchload/BatchedManyToManyTest.java @@ -138,7 +138,6 @@ public String onPrepareStatement(String sql) { s.getTransaction().commit(); s.close(); - cleanupTestData(); } protected void prepareTestData() { @@ -176,4 +175,9 @@ protected void cleanupTestData() { s.getTransaction().commit(); s.close(); } + + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } } diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/nonflushedchanges/MergeTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/nonflushedchanges/MergeTest.java index f8aa0e196b..cbad973644 100755 --- a/hibernate-core/src/matrix/java/org/hibernate/test/nonflushedchanges/MergeTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/nonflushedchanges/MergeTest.java @@ -23,6 +23,7 @@ * @author Gavin King */ public class MergeTest extends AbstractOperationTestCase { + @Test @SuppressWarnings( {"UnusedAssignment"}) public void testMergeStaleVersionFails() throws Exception { @@ -62,9 +63,11 @@ public void testMergeStaleVersionFails() throws Exception { @Test @SuppressWarnings( {"UnusedAssignment"}) public void testMergeBidiPrimayKeyOneToOne() throws Exception { + rebuildSessionFactory(); TestingJtaBootstrap.INSTANCE.getTransactionManager().begin(); Session s = openSession(); Person p = new Person( "steve" ); + new PersonalDetails( "I have big feet", p ); s.persist( p ); TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); @@ -120,6 +123,7 @@ public void testMergeBidiForeignKeyOneToOne() throws Exception { TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); } + @Test @SuppressWarnings( {"UnusedAssignment"}) public void testNoExtraUpdatesOnMerge() throws Exception { @@ -155,7 +159,7 @@ public void testNoExtraUpdatesOnMerge() throws Exception { assertInsertCount( 0 ); /////////////////////////////////////////////////////////////////////// - cleanup(); + } @Test @@ -197,7 +201,7 @@ public void testNoExtraUpdatesOnMergeWithCollection() throws Exception { assertInsertCount( 1 ); /////////////////////////////////////////////////////////////////////// - cleanup(); + } @Test @@ -238,7 +242,7 @@ public void testNoExtraUpdatesOnMergeVersioned() throws Exception { assertInsertCount( 0 ); /////////////////////////////////////////////////////////////////////// - cleanup(); + } @Test @@ -285,7 +289,7 @@ public void testNoExtraUpdatesOnMergeVersionedWithCollection() throws Exception assertInsertCount( 1 ); /////////////////////////////////////////////////////////////////////// - cleanup(); + } @Test @@ -342,7 +346,7 @@ public void testNoExtraUpdatesOnPersistentMergeVersionedWithCollection() throws assertInsertCount( 1 ); /////////////////////////////////////////////////////////////////////// - // cleanup(); + // } @Test @@ -366,7 +370,7 @@ public void testPersistThenMergeInSameTxnWithVersion() throws Exception { TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -390,7 +394,7 @@ public void testPersistThenMergeInSameTxnWithTimestamp() throws Exception { TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -554,7 +558,7 @@ public void testMergeTree() throws Exception { assertInsertCount( 1 ); assertUpdateCount( 2 ); - cleanup(); + } @Test @@ -591,7 +595,7 @@ public void testMergeTreeWithGeneratedId() throws Exception { assertInsertCount( 1 ); assertUpdateCount( 2 ); - cleanup(); + } @Test @@ -645,7 +649,7 @@ public void testMergeManaged() throws Exception { TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -694,7 +698,7 @@ public void testMergeManagedUninitializedCollection() throws Exception { ); TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -744,7 +748,7 @@ public void testMergeManagedInitializedCollection() throws Exception { ); TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -768,7 +772,7 @@ public void testRecursiveMergeTransient() throws Exception { s.merge( jboss.getEmployees().iterator().next() ); TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -794,7 +798,7 @@ public void testDeleteAndMerge() throws Exception { s = applyNonFlushedChangesToNewSessionCloseOldSession( s ); TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); + } @Test @@ -841,11 +845,10 @@ public void testMergeManyToManyWithCollectionDeference() throws Exception { s.delete( competition ); TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); - cleanup(); } @SuppressWarnings( {"unchecked"}) - private void cleanup() throws Exception { + protected void cleanupTestData() throws Exception { TestingJtaBootstrap.INSTANCE.getTransactionManager().begin(); Session s = openSession(); s.createQuery( "delete from NumberedNode where parent is not null" ).executeUpdate(); @@ -867,5 +870,10 @@ private void cleanup() throws Exception { TestingJtaBootstrap.INSTANCE.getTransactionManager().commit(); } + + @Override + protected boolean isCleanupTestDataRequired() { + return true; + } } diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/ops/MergeTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/ops/MergeTest.java index 123489a8b0..365241cfd9 100755 --- a/hibernate-core/src/matrix/java/org/hibernate/test/ops/MergeTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/ops/MergeTest.java @@ -82,6 +82,7 @@ public void testMergeStaleVersionFails() throws Exception { @Test public void testMergeBidiPrimayKeyOneToOne() throws Exception { + rebuildSessionFactory(); Session s = openSession(); s.beginTransaction(); Person p = new Person( "steve" ); diff --git a/hibernate-core/src/matrix/java/org/hibernate/test/pagination/PaginationTest.java b/hibernate-core/src/matrix/java/org/hibernate/test/pagination/PaginationTest.java index dabe416e03..dd68e5210a 100755 --- a/hibernate-core/src/matrix/java/org/hibernate/test/pagination/PaginationTest.java +++ b/hibernate-core/src/matrix/java/org/hibernate/test/pagination/PaginationTest.java @@ -215,7 +215,7 @@ private void prepareTestData() { session.close(); } - private void cleanupTestData() { + public void cleanupTestData() { Session session = openSession(); session.beginTransaction(); session.createQuery( "delete DataPoint" ).executeUpdate(); diff --git a/hibernate-core/src/test/java/org/hibernate/test/legacy/Baz.java b/hibernate-core/src/test/java/org/hibernate/test/legacy/Baz.java index a80b960313..7038296a05 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/legacy/Baz.java +++ b/hibernate-core/src/test/java/org/hibernate/test/legacy/Baz.java @@ -19,7 +19,7 @@ public class Baz implements Named, Serializable, Comparable { private int[] intArray; private FooProxy[] fooArray; private String[] stringArray; - private String code; + private String code="aaa"; private List customs; private List topComponents; private Set fooSet; diff --git a/hibernate-entitymanager/src/test/java/org/hibernate/ejb/test/connection/FakeDataSource.java b/hibernate-entitymanager/src/test/java/org/hibernate/ejb/test/connection/FakeDataSource.java index a2b03fd14d..4350384e62 100644 --- a/hibernate-entitymanager/src/test/java/org/hibernate/ejb/test/connection/FakeDataSource.java +++ b/hibernate-entitymanager/src/test/java/org/hibernate/ejb/test/connection/FakeDataSource.java @@ -3,6 +3,8 @@ import java.io.PrintWriter; import java.sql.Connection; import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; +import java.util.logging.Logger; import javax.sql.DataSource; /** @@ -40,4 +42,8 @@ public T unwrap(Class tClass) throws SQLException { public boolean isWrapperFor(Class aClass) throws SQLException { return false; } + + public Logger getParentLogger() throws SQLFeatureNotSupportedException { + return null; + } } diff --git a/hibernate-envers/src/matrix/java/org/hibernate/envers/test/EnversRunner.java b/hibernate-envers/src/matrix/java/org/hibernate/envers/test/EnversRunner.java index 777250b62d..74c2d17632 100644 --- a/hibernate-envers/src/matrix/java/org/hibernate/envers/test/EnversRunner.java +++ b/hibernate-envers/src/matrix/java/org/hibernate/envers/test/EnversRunner.java @@ -70,24 +70,24 @@ protected String testName(final FrameworkMethod method) { fParameterSetNumber); } - @Override - protected List doComputation() { - List frameworkMethods = super.doComputation(); + @Override + protected void sortMethods(List computedTestMethods) { + super.sortMethods( computedTestMethods ); + Collections.sort(computedTestMethods, new Comparator() { + private int getPriority(FrameworkMethod fm) { + Priority p = fm.getAnnotation(Priority.class); + return p == null ? 0 : p.value(); + } - Collections.sort(frameworkMethods, new Comparator() { - private int getPriority(FrameworkMethod fm) { - Priority p = fm.getAnnotation(Priority.class); - return p == null ? 0 : p.value(); - } - - @Override - public int compare(FrameworkMethod fm1, FrameworkMethod fm2) { - return getPriority(fm2) - getPriority(fm1); - } - }); - - return frameworkMethods; - } + @Override + public int compare(FrameworkMethod fm1, FrameworkMethod fm2) { + return getPriority(fm2) - getPriority(fm1); + } + }); + for(FrameworkMethod method: computedTestMethods){ + System.out.println(method.getName()); + } + } } private final ArrayList runners= new ArrayList(); diff --git a/hibernate-envers/src/matrix/java/org/hibernate/envers/test/integration/entityNames/auditedEntity/ReadEntityWhitEntityNameTest.java b/hibernate-envers/src/matrix/java/org/hibernate/envers/test/integration/entityNames/auditedEntity/ReadEntityWhitEntityNameTest.java index 36a39f3cdc..3803f5438d 100644 --- a/hibernate-envers/src/matrix/java/org/hibernate/envers/test/integration/entityNames/auditedEntity/ReadEntityWhitEntityNameTest.java +++ b/hibernate-envers/src/matrix/java/org/hibernate/envers/test/integration/entityNames/auditedEntity/ReadEntityWhitEntityNameTest.java @@ -102,6 +102,9 @@ public void testRetrieveAuditedEntityWithEntityName() { @Test public void testObtainEntityNameAuditedEntityWithEntityName() { + person1_1 = getAuditReader().find(Person.class, "Personaje", id_pers1, 1); + person1_2 = getAuditReader().find(Person.class, "Personaje", id_pers1, 2); + person1_3 = getAuditReader().find(Person.class, "Personaje", id_pers1, 3); String currentPers1EN = getSession().getEntityName(currentPers1); diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java b/hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java index 8dad3515d2..bf21ab933d 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/junit4/BaseCoreFunctionalTestCase.java @@ -416,11 +416,15 @@ protected void prepareTest() throws Exception { @After public final void afterTest() throws Exception { + if ( isCleanupTestDataRequired() ) { + cleanupTestData(); + } cleanupTest(); cleanupSession(); assertAllDataRemoved(); + } protected void cleanupCache() { @@ -432,6 +436,14 @@ protected void cleanupCache() { sessionFactory.getCache().evictNaturalIdRegions(); } } + protected boolean isCleanupTestDataRequired(){return false;} + protected void cleanupTestData() throws Exception { + Session s = openSession(); + s.beginTransaction(); + s.createQuery( "delete from java.lang.Object" ).executeUpdate(); + s.getTransaction().commit(); + s.close(); + } private void cleanupSession() { diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/junit4/CustomRunner.java b/hibernate-testing/src/main/java/org/hibernate/testing/junit4/CustomRunner.java index 424e40ab6a..8eabcbdd81 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/junit4/CustomRunner.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/junit4/CustomRunner.java @@ -25,12 +25,15 @@ import java.lang.annotation.Annotation; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import org.jboss.logging.Logger; import org.hibernate.dialect.Dialect; import org.hibernate.internal.util.StringHelper; +import org.hibernate.internal.util.collections.CollectionHelper; import org.hibernate.testing.DialectCheck; import org.hibernate.testing.FailureExpected; import org.hibernate.testing.RequiresDialect; @@ -142,10 +145,21 @@ protected Object createTest() throws Exception { protected List computeTestMethods() { if ( computedTestMethods == null ) { computedTestMethods = doComputation(); + sortMethods(computedTestMethods); } return computedTestMethods; } + protected void sortMethods(List computedTestMethods) { + if( CollectionHelper.isEmpty( computedTestMethods ))return; + Collections.sort( computedTestMethods, new Comparator() { + @Override + public int compare(FrameworkMethod o1, FrameworkMethod o2) { + return o1.getName().compareTo( o2.getName() ); + } + } ); + } + protected List doComputation() { // Next, get all the test methods as understood by JUnit final List methods = super.computeTestMethods();