Skip to content

Commit 978042e

Browse files
loiclefevrebeikov
authored andcommitted
HHH-19762 - Enable Parallel Testing for OTP
1 parent d038023 commit 978042e

File tree

39 files changed

+299
-24
lines changed

39 files changed

+299
-24
lines changed

hibernate-agroal/src/test/java/org/hibernate/test/agroal/AgroalTransactionIsolationConfigTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import org.hibernate.community.dialect.TiDBDialect;
99
import org.hibernate.community.dialect.GaussDBDialect;
1010
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
11-
import org.hibernate.agroal.internal.AgroalConnectionProvider;
1211

12+
import org.hibernate.test.agroal.util.GradleParallelTestingAgroalConnectionProvider;
1313
import org.hibernate.testing.SkipForDialect;
1414
import org.hibernate.testing.common.connections.BaseTransactionIsolationConfigTest;
1515

@@ -22,6 +22,6 @@
2222
public class AgroalTransactionIsolationConfigTest extends BaseTransactionIsolationConfigTest {
2323
@Override
2424
protected ConnectionProvider getConnectionProviderUnderTest() {
25-
return new AgroalConnectionProvider();
25+
return new GradleParallelTestingAgroalConnectionProvider();
2626
}
2727
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.test.agroal.util;
6+
7+
import org.hibernate.HibernateException;
8+
import org.hibernate.agroal.internal.AgroalConnectionProvider;
9+
10+
import java.util.Map;
11+
12+
import static org.hibernate.testing.jdbc.GradleParallelTestingUsernameResolver.resolveFromSettings;
13+
14+
/**
15+
* @author Loïc Lefèvre
16+
*/
17+
public class GradleParallelTestingAgroalConnectionProvider extends AgroalConnectionProvider {
18+
@Override
19+
public void configure(Map<String, Object> properties) throws HibernateException {
20+
resolveFromSettings( properties );
21+
super.configure( properties );
22+
}
23+
}

hibernate-agroal/src/test/java/org/hibernate/test/agroal/util/PreparedStatementSpyConnectionProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import java.util.ArrayList;
1111
import java.util.List;
1212

13-
import org.hibernate.agroal.internal.AgroalConnectionProvider;
1413
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
1514

1615
import org.hibernate.testing.jdbc.JdbcSpies;
@@ -21,7 +20,7 @@
2120
*
2221
* @author Vlad Mihalcea
2322
*/
24-
public class PreparedStatementSpyConnectionProvider extends AgroalConnectionProvider {
23+
public class PreparedStatementSpyConnectionProvider extends GradleParallelTestingAgroalConnectionProvider {
2524
public final JdbcSpies.SpyContext spyContext = new JdbcSpies.SpyContext();
2625

2726
private final List<Connection> acquiredConnections = new ArrayList<>( );

hibernate-agroal/src/test/resources/hibernate.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ hibernate.connection.password @jdbc.pass@
1010
hibernate.connection.init_sql @connection.init_sql@
1111

1212
hibernate.jdbc.batch_size 10
13-
hibernate.connection.provider_class AgroalConnectionProvider
13+
hibernate.connection.provider_class org.hibernate.test.agroal.util.GradleParallelTestingAgroalConnectionProvider
1414

1515
hibernate.agroal.maxSize 2
1616
hibernate.agroal.acquisitionTimeout PT1s

hibernate-c3p0/src/test/java/org/hibernate/test/c3p0/C3p0TransactionIsolationConfigTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
1515
import org.hibernate.service.spi.ServiceRegistryImplementor;
1616

17+
import org.hibernate.test.c3p0.util.GradleParallelTestingC3P0ConnectionProvider;
1718
import org.hibernate.testing.SkipForDialect;
1819
import org.hibernate.testing.common.connections.BaseTransactionIsolationConfigTest;
1920
import org.junit.Before;
@@ -35,7 +36,7 @@ public void setUp() {
3536

3637
@Override
3738
protected ConnectionProvider getConnectionProviderUnderTest() {
38-
C3P0ConnectionProvider provider = new C3P0ConnectionProvider();
39+
C3P0ConnectionProvider provider = new GradleParallelTestingC3P0ConnectionProvider();
3940
provider.injectServices( (ServiceRegistryImplementor) ssr );
4041
return provider;
4142
}

hibernate-c3p0/src/test/java/org/hibernate/test/c3p0/OracleSQLCallableStatementProxyTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import jakarta.persistence.SqlResultSetMappings;
1818
import jakarta.persistence.StoredProcedureParameter;
1919

20-
import org.hibernate.c3p0.internal.C3P0ConnectionProvider;
2120
import org.hibernate.cfg.Configuration;
2221
import org.hibernate.dialect.OracleDialect;
2322

23+
import org.hibernate.test.c3p0.util.GradleParallelTestingC3P0ConnectionProvider;
2424
import org.hibernate.testing.RequiresDialect;
2525
import org.hibernate.testing.orm.junit.JiraKey;
2626
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
@@ -41,7 +41,7 @@ public class OracleSQLCallableStatementProxyTest extends
4141
protected void configure(Configuration configuration) {
4242
configuration.setProperty(
4343
org.hibernate.cfg.AvailableSettings.CONNECTION_PROVIDER,
44-
C3P0ConnectionProvider.class
44+
GradleParallelTestingC3P0ConnectionProvider.class
4545
);
4646
}
4747

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
* Copyright Red Hat Inc. and Hibernate Authors
4+
*/
5+
package org.hibernate.test.c3p0.util;
6+
7+
import org.hibernate.HibernateException;
8+
import org.hibernate.c3p0.internal.C3P0ConnectionProvider;
9+
10+
import java.util.Map;
11+
12+
import static org.hibernate.testing.jdbc.GradleParallelTestingUsernameResolver.resolveFromSettings;
13+
14+
/**
15+
* @author Loïc Lefèvre
16+
*/
17+
public class GradleParallelTestingC3P0ConnectionProvider extends C3P0ConnectionProvider {
18+
@Override
19+
public void configure(Map<String, Object> properties) throws HibernateException {
20+
resolveFromSettings( properties );
21+
super.configure( properties );
22+
}
23+
}

hibernate-c3p0/src/test/resources/hibernate.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ hibernate.c3p0.testConnectionOnCheckout true
2121
hibernate.show_sql false
2222

2323
hibernate.max_fetch_depth 5
24-
hibernate.connection.provider_class C3P0ConnectionProvider
24+
hibernate.connection.provider_class org.hibernate.test.c3p0.util.GradleParallelTestingC3P0ConnectionProvider
2525

2626
hibernate.cache.region_prefix hibernate.test
2727
hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory

hibernate-core/hibernate-core.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,12 @@ tasks.withType( Test.class ).each { test ->
266266
// Parallel test runs when running with in-memory databases
267267
test.maxParallelForks = Runtime.runtime.availableProcessors().intdiv( 2 ) ?: 1
268268
}
269+
else if ( project.db == "oracle_test_pilot_database" ) {
270+
// Parallel test runs when running with Oracle Test Pilot databases
271+
// see GradleParallelTestingUsernameResolver
272+
test.maxParallelForks = Runtime.runtime.availableProcessors() ?: 1
273+
test.systemProperty 'maxParallelForks', test.maxParallelForks
274+
}
269275
}
270276

271277
tasks.named( "javadoc", Javadoc ) {

hibernate-core/src/test/bundles/templates/cfgxmlpar/org/hibernate/orm/test/jpa/pack/cfgxmlpar/hibernate.cfg.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
<session-factory>
1111
<property name="hibernate.dialect">@db.dialect@</property>
1212
<property name="hibernate.connection.driver_class">@jdbc.driver@</property>
13+
<property name="hibernate.connection.creator_factory_class">org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl</property>
1314
<property name="hibernate.connection.username">@jdbc.user@</property>
1415
<property name="hibernate.connection.password">@jdbc.pass@</property>
1516
<property name="hibernate.connection.init_sql">@connection.init_sql@</property>
@@ -30,4 +31,4 @@
3031
<collection-cache collection="org.hibernate.orm.test.jpa.Item.distributors" usage="read-write" region="RegionName"/>
3132
<event type="pre-insert"/>
3233
</session-factory>
33-
</hibernate-configuration>
34+
</hibernate-configuration>

0 commit comments

Comments
 (0)