Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
import org.hibernate.community.dialect.TiDBDialect;
import org.hibernate.community.dialect.GaussDBDialect;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import org.hibernate.agroal.internal.AgroalConnectionProvider;

import org.hibernate.test.agroal.util.GradleParallelTestingAgroalConnectionProvider;
import org.hibernate.testing.SkipForDialect;
import org.hibernate.testing.common.connections.BaseTransactionIsolationConfigTest;

Expand All @@ -22,6 +22,6 @@
public class AgroalTransactionIsolationConfigTest extends BaseTransactionIsolationConfigTest {
@Override
protected ConnectionProvider getConnectionProviderUnderTest() {
return new AgroalConnectionProvider();
return new GradleParallelTestingAgroalConnectionProvider();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Red Hat Inc. and Hibernate Authors
*/
package org.hibernate.test.agroal.util;

import org.hibernate.HibernateException;
import org.hibernate.agroal.internal.AgroalConnectionProvider;

import java.util.Map;

import static org.hibernate.testing.jdbc.GradleParallelTestingUsernameResolver.resolveFromSettings;

/**
* @author Loïc Lefèvre
*/
public class GradleParallelTestingAgroalConnectionProvider extends AgroalConnectionProvider {
@Override
public void configure(Map<String, Object> properties) throws HibernateException {
resolveFromSettings( properties );
super.configure( properties );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import java.util.ArrayList;
import java.util.List;

import org.hibernate.agroal.internal.AgroalConnectionProvider;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;

import org.hibernate.testing.jdbc.JdbcSpies;
Expand All @@ -21,7 +20,7 @@
*
* @author Vlad Mihalcea
*/
public class PreparedStatementSpyConnectionProvider extends AgroalConnectionProvider {
public class PreparedStatementSpyConnectionProvider extends GradleParallelTestingAgroalConnectionProvider {
public final JdbcSpies.SpyContext spyContext = new JdbcSpies.SpyContext();

private final List<Connection> acquiredConnections = new ArrayList<>( );
Expand Down
2 changes: 1 addition & 1 deletion hibernate-agroal/src/test/resources/hibernate.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ hibernate.connection.password @jdbc.pass@
hibernate.connection.init_sql @connection.init_sql@

hibernate.jdbc.batch_size 10
hibernate.connection.provider_class AgroalConnectionProvider
hibernate.connection.provider_class org.hibernate.test.agroal.util.GradleParallelTestingAgroalConnectionProvider

hibernate.agroal.maxSize 2
hibernate.agroal.acquisitionTimeout PT1s
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import org.hibernate.service.spi.ServiceRegistryImplementor;

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

@Override
protected ConnectionProvider getConnectionProviderUnderTest() {
C3P0ConnectionProvider provider = new C3P0ConnectionProvider();
C3P0ConnectionProvider provider = new GradleParallelTestingC3P0ConnectionProvider();
provider.injectServices( (ServiceRegistryImplementor) ssr );
return provider;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
import jakarta.persistence.SqlResultSetMappings;
import jakarta.persistence.StoredProcedureParameter;

import org.hibernate.c3p0.internal.C3P0ConnectionProvider;
import org.hibernate.cfg.Configuration;
import org.hibernate.dialect.OracleDialect;

import org.hibernate.test.c3p0.util.GradleParallelTestingC3P0ConnectionProvider;
import org.hibernate.testing.RequiresDialect;
import org.hibernate.testing.orm.junit.JiraKey;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
Expand All @@ -41,7 +41,7 @@ public class OracleSQLCallableStatementProxyTest extends
protected void configure(Configuration configuration) {
configuration.setProperty(
org.hibernate.cfg.AvailableSettings.CONNECTION_PROVIDER,
C3P0ConnectionProvider.class
GradleParallelTestingC3P0ConnectionProvider.class
);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/*
* SPDX-License-Identifier: Apache-2.0
* Copyright Red Hat Inc. and Hibernate Authors
*/
package org.hibernate.test.c3p0.util;

import org.hibernate.HibernateException;
import org.hibernate.c3p0.internal.C3P0ConnectionProvider;

import java.util.Map;

import static org.hibernate.testing.jdbc.GradleParallelTestingUsernameResolver.resolveFromSettings;

/**
* @author Loïc Lefèvre
*/
public class GradleParallelTestingC3P0ConnectionProvider extends C3P0ConnectionProvider {
@Override
public void configure(Map<String, Object> properties) throws HibernateException {
resolveFromSettings( properties );
super.configure( properties );
}
}
2 changes: 1 addition & 1 deletion hibernate-c3p0/src/test/resources/hibernate.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ hibernate.c3p0.testConnectionOnCheckout true
hibernate.show_sql false

hibernate.max_fetch_depth 5
hibernate.connection.provider_class C3P0ConnectionProvider
hibernate.connection.provider_class org.hibernate.test.c3p0.util.GradleParallelTestingC3P0ConnectionProvider

hibernate.cache.region_prefix hibernate.test
hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFactory
6 changes: 6 additions & 0 deletions hibernate-core/hibernate-core.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,12 @@ tasks.withType( Test.class ).each { test ->
// Parallel test runs when running with in-memory databases
test.maxParallelForks = Runtime.runtime.availableProcessors().intdiv( 2 ) ?: 1
}
else if ( project.db == "oracle_test_pilot_database" ) {
// Parallel test runs when running with Oracle Test Pilot databases
// see GradleParallelTestingUsernameResolver
test.maxParallelForks = Runtime.runtime.availableProcessors() ?: 1
test.systemProperty 'maxParallelForks', test.maxParallelForks
}
}

tasks.named( "javadoc", Javadoc ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<session-factory>
<property name="hibernate.dialect">@db.dialect@</property>
<property name="hibernate.connection.driver_class">@jdbc.driver@</property>
<property name="hibernate.connection.creator_factory_class">org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl</property>
<property name="hibernate.connection.username">@jdbc.user@</property>
<property name="hibernate.connection.password">@jdbc.pass@</property>
<property name="hibernate.connection.init_sql">@connection.init_sql@</property>
Expand All @@ -30,4 +31,4 @@
<collection-cache collection="org.hibernate.orm.test.jpa.Item.distributors" usage="read-write" region="RegionName"/>
<event type="pre-insert"/>
</session-factory>
</hibernate-configuration>
</hibernate-configuration>
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@

<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
# Copyright Red Hat Inc. and Hibernate Authors
#
hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.creator_factory_class org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl
hibernate.connection.url @jdbc.url@
hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
hibernate.connection.init_sql @connection.init_sql@
hibernate.connection.init_sql @connection.init_sql@
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ void test(EntityManagerFactoryScope scope) {
scope.getEntityManagerFactory();
LogInspectionHelper.clearAllListeners( ConnectionInfoLogger.INSTANCE );
Dialect dialect = scope.getDialect();
assertTrue( dialect instanceof OracleDialect od && od.isAutonomous()
assertTrue( dialect instanceof OracleDialect
|| dialect instanceof DB2Dialect
|| dialect instanceof InformixDialect // Informix metadata does not include the URL
|| listener.seen );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import static org.hibernate.cfg.AvailableSettings.JPA_JDBC_PASSWORD;
import static org.hibernate.cfg.AvailableSettings.JPA_JDBC_URL;
import static org.hibernate.cfg.AvailableSettings.JPA_JDBC_USER;
import static org.hibernate.testing.jdbc.GradleParallelTestingUsernameResolver.*;


/**
Expand Down Expand Up @@ -66,7 +67,7 @@ private void verifySchemaCreation(
actionSettingName, Action.CREATE_DROP,
driverSettingName, Environment.getProperties().get( AvailableSettings.DRIVER ),
urlSettingName, Environment.getProperties().get( AvailableSettings.URL ),
userSettingName, Environment.getProperties().get( AvailableSettings.USER ),
userSettingName, resolveUsername( (String)Environment.getProperties().get( AvailableSettings.USER ) ),
passwordSettingName, Environment.getProperties().get( AvailableSettings.PASS )
);
try {
Expand Down Expand Up @@ -95,7 +96,7 @@ public void testPrecedence() {
JPA_JDBC_DRIVER, "does.not.exist",
JAKARTA_JDBC_URL, Environment.getProperties().get( AvailableSettings.URL ),
JPA_JDBC_URL, "jdbc:na:nowhere",
JAKARTA_JDBC_USER, Environment.getProperties().get( AvailableSettings.USER ),
JAKARTA_JDBC_USER, resolveUsername( (String)Environment.getProperties().get( AvailableSettings.USER ) ),
JPA_JDBC_USER, "goofy",
JAKARTA_JDBC_PASSWORD, Environment.getProperties().get( AvailableSettings.PASS ),
JPA_JDBC_PASSWORD, "goober"
Expand All @@ -112,7 +113,7 @@ public void testCreateDropWithFailureInBetween() {
JAKARTA_HBM2DDL_DATABASE_ACTION, Action.CREATE_DROP,
JAKARTA_JDBC_DRIVER, Environment.getProperties().get( AvailableSettings.DRIVER ),
JAKARTA_JDBC_URL, Environment.getProperties().get( AvailableSettings.URL ),
JAKARTA_JDBC_USER, Environment.getProperties().get( AvailableSettings.USER ),
JAKARTA_JDBC_USER, resolveUsername( (String)Environment.getProperties().get( AvailableSettings.USER ) ),
JAKARTA_JDBC_PASSWORD, Environment.getProperties().get( AvailableSettings.PASS ),
// Simulates a failure from e.g. the Hibernate Search observer
AvailableSettings.SESSION_FACTORY_OBSERVER, new SessionFactoryObserver() {
Expand All @@ -129,7 +130,7 @@ public void sessionFactoryCreated(org.hibernate.SessionFactory factory) {
JAKARTA_HBM2DDL_DATABASE_ACTION, Action.NONE,
JAKARTA_JDBC_DRIVER, Environment.getProperties().get( AvailableSettings.DRIVER ),
JAKARTA_JDBC_URL, Environment.getProperties().get( AvailableSettings.URL ),
JAKARTA_JDBC_USER, Environment.getProperties().get( AvailableSettings.USER ),
JAKARTA_JDBC_USER, resolveUsername( (String)Environment.getProperties().get( AvailableSettings.USER ) ),
JAKARTA_JDBC_PASSWORD, Environment.getProperties().get( AvailableSettings.PASS )
) ) {
assertThatThrownBy( () -> tryQuery( sessionFactory ) ).isNotNull();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

import org.hibernate.cfg.Environment;

import static org.hibernate.testing.jdbc.GradleParallelTestingUsernameResolver.*;

/**
* Simple {@link DataSource} implementation useful in various integration tests,
* or possibly to be used as base class to extend.
Expand All @@ -26,6 +28,7 @@ public class BaseDataSource implements DataSource {
public BaseDataSource(Properties configuration) {
url = configuration.getProperty( Environment.URL );
connectionProperties = new Properties();
resolveFromSettings( configuration );
connectionProperties.put( "user", configuration.getProperty( Environment.USER ) );
connectionProperties.put( "password", configuration.getProperty( Environment.PASS ) );
}
Expand Down
3 changes: 2 additions & 1 deletion hibernate-core/src/test/resources/hibernate.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

hibernate.dialect @db.dialect@
hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.creator_factory_class org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl
hibernate.connection.url @jdbc.url@
hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
Expand All @@ -28,4 +29,4 @@ hibernate.service.allow_crawling=false
hibernate.session.events.log=true
hibernate.query.mutation_strategy.global_temporary.drop_tables=true

#hibernate.transform_hbm_xml.enabled=true
#hibernate.transform_hbm_xml.enabled=true
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<properties>
<property name="hibernate.dialect" value="@db.dialect@"/>
<property name="hibernate.connection.driver_class" value="@jdbc.driver@"/>
<property name="hibernate.connection.creator_factory_class" value="org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl" />
<property name="hibernate.connection.username" value="@jdbc.user@"/>
<property name="hibernate.connection.password" value="@jdbc.pass@"/>
<property name="hibernate.connection.url" value="@jdbc.url@"/>
Expand Down
6 changes: 6 additions & 0 deletions hibernate-envers/hibernate-envers.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ tasks.withType( Test.class ).each { test ->
// Parallel test runs when running with in-memory databases
test.maxParallelForks = Runtime.runtime.availableProcessors().intdiv( 2 ) ?: 1
}
else if ( project.db == "oracle_test_pilot_database" ) {
// Parallel test runs when running with Oracle Test Pilot databases
// see GradleParallelTestingUsernameResolver
test.maxParallelForks = Runtime.runtime.availableProcessors() ?: 1
test.systemProperty 'maxParallelForks', test.maxParallelForks
}
}

sourcesJar {
Expand Down
3 changes: 2 additions & 1 deletion hibernate-envers/src/test/resources/hibernate.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#
hibernate.dialect @db.dialect@
hibernate.connection.driver_class @jdbc.driver@
hibernate.connection.creator_factory_class org.hibernate.testing.jdbc.GradleParallelTestingConnectionCreatorFactoryImpl
hibernate.connection.url @jdbc.url@
hibernate.connection.username @jdbc.user@
hibernate.connection.password @jdbc.pass@
Expand All @@ -22,4 +23,4 @@ hibernate.cache.region.factory_class org.hibernate.testing.cache.CachingRegionFa

hibernate.service.allow_crawling=false
## make sure we use bag semantics for "implicit" List mappings
hibernate.mapping.default_list_semantics=bag
hibernate.mapping.default_list_semantics=bag
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import org.hibernate.dialect.SybaseDialect;
import org.hibernate.community.dialect.TiDBDialect;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
import org.hibernate.hikaricp.internal.HikariCPConnectionProvider;

import org.hibernate.test.hikaricp.util.GradleParallelTestingHikariCPConnectionProvider;
import org.hibernate.testing.SkipForDialect;
import org.hibernate.testing.common.connections.BaseTransactionIsolationConfigTest;

Expand All @@ -24,6 +24,6 @@
public class HikariTransactionIsolationConfigTest extends BaseTransactionIsolationConfigTest {
@Override
protected ConnectionProvider getConnectionProviderUnderTest() {
return new HikariCPConnectionProvider();
return new GradleParallelTestingHikariCPConnectionProvider();
}
}
Loading