This is an automated email from the ASF dual-hosted git repository.
ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new cfd9ff29ae IGNITE-18296: Use jvm-suite Gradle plugin for integration
tests (#1474)
cfd9ff29ae is described below
commit cfd9ff29ae8fa9368b878d2cb067e761e8c4e8b3
Author: Mikhail <[email protected]>
AuthorDate: Tue Jan 10 13:50:57 2023 +0300
IGNITE-18296: Use jvm-suite Gradle plugin for integration tests (#1474)
Prev implementation of integration test tasks construct classpath of
integration tests manually and as result Gradle didn't optimize and didn't
remove duplications in tests classpath.
With jvm-suite plugin classpath formed by plugin and all rules for
classpath forming are applied now.
---
build.gradle | 4 +
buildscripts/java-integration-test.gradle | 85 ++++++++++------------
buildscripts/java-test-fixtures.gradle | 5 ++
examples/build.gradle | 2 +
modules/cli/build.gradle | 15 ++++
.../resources/cluster_url_non_default.ini | 4 +
.../cli/src/integrationTest/resources/empty.ini | 0
.../resources/integration_tests.ini | 8 ++
.../resources/last_connected_default.ini | 1 +
.../ignite/internal/cli/AbstractCliTest.java | 0
.../cliconfig/TestConfigManagerHelper.java | 0
.../cliconfig/TestConfigManagerProvider.java | 0
.../internal/cli/config/TestStateConfigHelper.java | 2 +
.../cli/config/TestStateConfigProvider.java | 0
modules/client-handler/build.gradle | 13 +++-
modules/cluster-management/build.gradle | 5 ++
.../build.gradle | 3 +
modules/jdbc/build.gradle | 1 +
modules/metastorage/build.gradle | 2 +
modules/metrics/build.gradle | 1 +
.../metrics/exporters/TestMetricsSource.java | 1 -
.../network/UnresolvableConsistentIdException.java | 5 ++
modules/network/build.gradle | 15 +++-
.../internal/network/messages/AllTypesMessage.java | 0
.../internal/network/messages/EmptyMessage.java | 0
.../network/messages/InheritedMessage.java | 0
.../network/messages/MessageWithMarshallable.java | 0
.../network/messages/NestedMessageMessage.java | 0
.../internal/network/messages/NetworkMessage1.java | 0
.../internal/network/messages/NetworkMessage2.java | 0
.../messages/SerializationOrderMessage.java | 1 -
.../internal/network/messages/TestMessage.java | 0
.../network/messages/TestMessageTypes.java | 0
.../serialization/SimpleSerializableObject.java | 0
.../TestScaleCubeClusterServiceFactory.java | 1 +
modules/page-memory/build.gradle | 10 ++-
.../internal/pagememory/TestPageIoModule.java | 0
.../internal/pagememory/TestPageIoRegistry.java | 0
.../persistence/TestPageReadWriteManager.java | 0
.../checkpoint/CheckpointTestUtils.java | 0
modules/raft/build.gradle | 4 +
.../ignite/raft/jraft/core/ExpectClosure.java | 0
.../apache/ignite/raft/jraft/core/MockClosure.java | 0
.../ignite/raft/jraft/core/MockStateMachine.java | 0
.../apache/ignite/raft/jraft/core/TestCluster.java | 0
.../raft/jraft/core/TestJRaftServiceFactory.java | 0
.../ignite/raft/jraft/rpc/TestIgniteRpcServer.java | 0
modules/runner/build.gradle | 48 ++++++++----
modules/table/build.gradle | 29 ++++++--
.../ignite/internal/table/TxAbstractTest.java | 0
.../table/impl/DummyInternalTableImpl.java | 0
.../table/impl/DummySchemaManagerImpl.java | 0
.../internal/table/impl/TestTupleBuilder.java | 0
modules/vault/build.gradle | 4 -
.../ItPersistencePropertiesVaultServiceTest.java | 0
.../persistence/ItPersistentVaultServiceTest.java | 0
56 files changed, 188 insertions(+), 81 deletions(-)
diff --git a/build.gradle b/build.gradle
index 01d3c6cad2..86484f9a80 100644
--- a/build.gradle
+++ b/build.gradle
@@ -49,6 +49,10 @@ allprojects {
group 'org.apache.ignite'
version = "3.0.0-SNAPSHOT"
+ tasks.withType(Jar) {
+ duplicatesStrategy = DuplicatesStrategy.EXCLUDE
+ }
+
tasks.withType(Test) {
defaultCharacterEncoding = 'UTF-8'
diff --git a/buildscripts/java-integration-test.gradle
b/buildscripts/java-integration-test.gradle
index 1a0c9fbb40..5ce10afc4f 100644
--- a/buildscripts/java-integration-test.gradle
+++ b/buildscripts/java-integration-test.gradle
@@ -15,60 +15,49 @@
* limitations under the License.
*/
-apply plugin: 'idea'
-
-sourceSets {
- integrationTest {
- compileClasspath += sourceSets.main.output
- compileClasspath += sourceSets.test.output
- runtimeClasspath += sourceSets.main.output
- runtimeClasspath += sourceSets.test.output
- if (sourceSets.hasProperty("testFixtures")) {
- compileClasspath += sourceSets.testFixtures.output
- runtimeClasspath += sourceSets.testFixtures.output
+apply plugin: 'jvm-test-suite'
+
+testing {
+ suites {
+ integrationTest(JvmTestSuite) {
+ testType = TestSuiteType.INTEGRATION_TEST
+ useJUnitJupiter()
+
+ dependencies {
+ implementation project
+ implementation libs.junit5.api
+ implementation libs.junit5.impl
+ implementation libs.junit5.params
+ implementation libs.mockito.core
+ implementation libs.mockito.junit
+ implementation libs.mockito.inline
+ implementation libs.hamcrest.core
+ implementation libs.hamcrest.optional
+ implementation libs.hamcrest.path
+ }
+
+ sources {
+ java {
+ srcDirs = ['src/integrationTest/java']
+ }
+ }
+
+ targets {
+ configureEach {
+ testTask.configure {
+ shouldRunAfter(test)
+ maxHeapSize = '16g'
+ }
+ }
+ }
}
}
}
-idea {
- module {
- sourceDirs -= file('src/integrationTest/java')
- testSourceDirs += file('src/integrationTest/java')
- }
+tasks.named('check') {
+ dependsOn(testing.suites.integrationTest)
}
pmdIntegrationTest {
enabled = false
}
-
-
-configurations {
- integrationTestImplementation.extendsFrom implementation
- integrationTestRuntimeOnly.extendsFrom runtimeOnly
- integrationTestApi.extendsFrom api
-}
-
-tasks.register('integrationTest', Test) {
- description = 'Runs integration tests.'
- group = 'verification'
-
- testClassesDirs = sourceSets.integrationTest.output.classesDirs
- classpath = sourceSets.integrationTest.runtimeClasspath
-}
-
-integrationTest {
- useJUnitPlatform()
- maxHeapSize = "16g"
-}
-
-dependencies {
- integrationTestImplementation libs.junit5.api
- integrationTestImplementation libs.junit5.impl
- integrationTestImplementation libs.junit5.params
- integrationTestImplementation libs.mockito.core
- integrationTestImplementation libs.mockito.junit
- integrationTestImplementation libs.mockito.inline
- integrationTestImplementation libs.hamcrest.core
- integrationTestImplementation libs.hamcrest.optional
- integrationTestImplementation libs.hamcrest.path
-}
diff --git a/buildscripts/java-test-fixtures.gradle
b/buildscripts/java-test-fixtures.gradle
index 82476c2a68..49ec0f1f60 100644
--- a/buildscripts/java-test-fixtures.gradle
+++ b/buildscripts/java-test-fixtures.gradle
@@ -17,6 +17,11 @@
apply plugin: 'java-test-fixtures'
+dependencies {
+ testFixturesImplementation libs.junit5.api
+ testFixturesImplementation libs.junit5.impl
+}
+
pmdTestFixtures {
enabled = false
}
diff --git a/examples/build.gradle b/examples/build.gradle
index ccf074b5a7..58051394d5 100644
--- a/examples/build.gradle
+++ b/examples/build.gradle
@@ -32,6 +32,8 @@ dependencies {
testImplementation libs.hamcrest.core
integrationTestImplementation project(':ignite-core')
+ integrationTestImplementation project(':ignite-api')
+ integrationTestImplementation project(':ignite-runner')
integrationTestImplementation project(':ignite-storage-page-memory')
integrationTestImplementation project(':ignite-page-memory')
integrationTestImplementation project(':ignite-storage-rocksdb')
diff --git a/modules/cli/build.gradle b/modules/cli/build.gradle
index d3a04e4430..ea83e10ab1 100644
--- a/modules/cli/build.gradle
+++ b/modules/cli/build.gradle
@@ -25,6 +25,7 @@ plugins {
apply from: "$rootDir/buildscripts/java-core.gradle"
apply from: "$rootDir/buildscripts/publishing.gradle"
apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
apply from: "$rootDir/buildscripts/java-integration-test.gradle"
description = 'ignite-cli'
@@ -78,17 +79,31 @@ dependencies {
testImplementation libs.mock.server.netty
testImplementation libs.mock.server.junit
+ testFixturesAnnotationProcessor libs.picocli.annotation.processor
+ testFixturesAnnotationProcessor libs.micronaut.inject.annotation.processor
+ testFixturesAnnotationProcessor
libs.micronaut.validation.annotation.processor
+ testFixturesImplementation libs.micronaut.inject
+ testFixturesImplementation libs.micronaut.picocli
+ testFixturesImplementation libs.micronaut.junit5
+
+ integrationTestAnnotationProcessor libs.picocli.annotation.processor
integrationTestAnnotationProcessor
libs.micronaut.inject.annotation.processor
+ integrationTestAnnotationProcessor
libs.micronaut.validation.annotation.processor
+ integrationTestImplementation testFixtures(project)
+ integrationTestImplementation project(':ignite-api')
integrationTestImplementation project(':ignite-runner')
integrationTestImplementation project(':ignite-schema')
integrationTestImplementation project(':ignite-sql-engine')
integrationTestImplementation(testFixtures(project(":ignite-core")))
integrationTestImplementation(testFixtures(project(":ignite-schema")))
+ integrationTestImplementation libs.jetbrains.annotations
+ integrationTestImplementation libs.micronaut.picocli
integrationTestImplementation libs.mock.server.netty
integrationTestImplementation libs.mock.server.junit
integrationTestImplementation libs.micronaut.junit5
integrationTestImplementation libs.micronaut.test
integrationTestImplementation libs.assertj.core
+ integrationTestImplementation libs.jline.console
integrationTestImplementation libs.awaitility
}
diff --git
a/modules/cli/src/integrationTest/resources/cluster_url_non_default.ini
b/modules/cli/src/integrationTest/resources/cluster_url_non_default.ini
new file mode 100644
index 0000000000..b207ba853f
--- /dev/null
+++ b/modules/cli/src/integrationTest/resources/cluster_url_non_default.ini
@@ -0,0 +1,4 @@
+current_profile = default
+
+[default]
+ignite.cluster-endpoint-url = http://localhost:10301
diff --git a/modules/cli/src/integrationTest/resources/empty.ini
b/modules/cli/src/integrationTest/resources/empty.ini
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/modules/cli/src/integrationTest/resources/integration_tests.ini
b/modules/cli/src/integrationTest/resources/integration_tests.ini
new file mode 100644
index 0000000000..5719ebc03f
--- /dev/null
+++ b/modules/cli/src/integrationTest/resources/integration_tests.ini
@@ -0,0 +1,8 @@
+current_profile = default
+
+[default]
+ignite.cluster-endpoint-url = http://localhost:10300
+ignite.jdbc-url = jdbc:ignite:thin://127.0.0.1:10800
+
+[test]
+ignite.cluster-endpoint-url = http://localhost:10301
diff --git
a/modules/cli/src/integrationTest/resources/last_connected_default.ini
b/modules/cli/src/integrationTest/resources/last_connected_default.ini
new file mode 100644
index 0000000000..7c7493766c
--- /dev/null
+++ b/modules/cli/src/integrationTest/resources/last_connected_default.ini
@@ -0,0 +1 @@
+ignite.last-connected-url = http://localhost:10300
diff --git
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/AbstractCliTest.java
b/modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/AbstractCliTest.java
similarity index 100%
rename from
modules/cli/src/test/java/org/apache/ignite/internal/cli/AbstractCliTest.java
rename to
modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/AbstractCliTest.java
diff --git
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerHelper.java
b/modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerHelper.java
similarity index 100%
rename from
modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerHelper.java
rename to
modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerHelper.java
diff --git
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerProvider.java
b/modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerProvider.java
similarity index 100%
rename from
modules/cli/src/test/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerProvider.java
rename to
modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/commands/cliconfig/TestConfigManagerProvider.java
diff --git
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/config/TestStateConfigHelper.java
b/modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/config/TestStateConfigHelper.java
similarity index 93%
rename from
modules/cli/src/test/java/org/apache/ignite/internal/cli/config/TestStateConfigHelper.java
rename to
modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/config/TestStateConfigHelper.java
index cd432473b2..f220b6c24c 100644
---
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/config/TestStateConfigHelper.java
+++
b/modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/config/TestStateConfigHelper.java
@@ -18,6 +18,8 @@
package org.apache.ignite.internal.cli.config;
import
org.apache.ignite.internal.cli.commands.cliconfig.TestConfigManagerHelper;
+import org.apache.ignite.internal.cli.config.Config;
+import org.apache.ignite.internal.cli.config.StateConfig;
/**
* Test factory for application state config.
diff --git
a/modules/cli/src/test/java/org/apache/ignite/internal/cli/config/TestStateConfigProvider.java
b/modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/config/TestStateConfigProvider.java
similarity index 100%
rename from
modules/cli/src/test/java/org/apache/ignite/internal/cli/config/TestStateConfigProvider.java
rename to
modules/cli/src/testFixtures/java/org/apache/ignite/internal/cli/config/TestStateConfigProvider.java
diff --git a/modules/client-handler/build.gradle
b/modules/client-handler/build.gradle
index ad04fe66a3..868c69c50f 100644
--- a/modules/client-handler/build.gradle
+++ b/modules/client-handler/build.gradle
@@ -21,6 +21,9 @@ apply from: "$rootDir/buildscripts/java-junit5.gradle"
apply from: "$rootDir/buildscripts/java-integration-test.gradle"
dependencies {
+ annotationProcessor project(':ignite-configuration-annotation-processor')
+ annotationProcessor libs.auto.service
+
implementation project(':ignite-client-common')
implementation project(':ignite-configuration')
implementation project(':ignite-api')
@@ -44,10 +47,14 @@ dependencies {
testImplementation libs.mockito.junit
testImplementation libs.hamcrest.core
+ integrationTestImplementation project(':ignite-core')
+ integrationTestImplementation project(':ignite-api')
+ integrationTestImplementation project(':ignite-network')
+ integrationTestImplementation project(':ignite-network-api')
+ integrationTestImplementation project(':ignite-sql-engine')
+ integrationTestImplementation project(':ignite-table')
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
-
- annotationProcessor project(':ignite-configuration-annotation-processor')
- annotationProcessor libs.auto.service
+ integrationTestImplementation libs.msgpack.core
}
description = 'ignite-client-handler'
diff --git a/modules/cluster-management/build.gradle
b/modules/cluster-management/build.gradle
index e3337558d4..85e5fc54ee 100644
--- a/modules/cluster-management/build.gradle
+++ b/modules/cluster-management/build.gradle
@@ -53,6 +53,11 @@ dependencies {
testFixturesImplementation libs.jetbrains.annotations
integrationTestAnnotationProcessor
libs.micronaut.inject.annotation.processor
+ integrationTestImplementation project(':ignite-raft')
+ integrationTestImplementation project(':ignite-raft-api')
+ integrationTestImplementation project(':ignite-rest-api')
+ integrationTestImplementation project(':ignite-vault')
+ integrationTestImplementation(testFixtures(project))
integrationTestImplementation(testFixtures(project(':ignite-core')))
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
integrationTestImplementation(testFixtures(project(':ignite-network')))
diff --git a/modules/configuration-annotation-processor/build.gradle
b/modules/configuration-annotation-processor/build.gradle
index 7518f57cee..2524c9a3b1 100644
--- a/modules/configuration-annotation-processor/build.gradle
+++ b/modules/configuration-annotation-processor/build.gradle
@@ -33,9 +33,12 @@ dependencies {
testImplementation libs.hamcrest.core
testImplementation libs.spoon.core
+ integrationTestImplementation project(':ignite-configuration-api')
+ integrationTestImplementation libs.jetbrains.annotations
integrationTestImplementation libs.compileTesting
integrationTestImplementation libs.hamcrest.core
integrationTestImplementation libs.spoon.core
+ integrationTestImplementation libs.javapoet
}
description = 'ignite-configuration-annotation-processor'
diff --git a/modules/jdbc/build.gradle b/modules/jdbc/build.gradle
index 71b0d726cb..69cf3b31c1 100644
--- a/modules/jdbc/build.gradle
+++ b/modules/jdbc/build.gradle
@@ -37,6 +37,7 @@ dependencies {
integrationTestImplementation(testFixtures(project(":ignite-core")))
integrationTestImplementation(project(":ignite-runner"))
+ integrationTestImplementation(project(":ignite-api"))
}
description = 'ignite-jdbc'
diff --git a/modules/metastorage/build.gradle b/modules/metastorage/build.gradle
index 1ed8ae7b2d..c2f0989069 100644
--- a/modules/metastorage/build.gradle
+++ b/modules/metastorage/build.gradle
@@ -39,8 +39,10 @@ dependencies {
testImplementation testFixtures(project(':ignite-core'))
testImplementation libs.mockito.junit
+ integrationTestImplementation libs.jetbrains.annotations
integrationTestImplementation project(':ignite-network')
integrationTestImplementation project(':ignite-raft')
+ integrationTestImplementation project(":ignite-raft-api")
integrationTestImplementation testFixtures(project(':ignite-core'))
integrationTestImplementation testFixtures(project(':ignite-network'))
integrationTestImplementation testFixtures(project(':ignite-raft'))
diff --git a/modules/metrics/build.gradle b/modules/metrics/build.gradle
index bfa1146822..0adfca769f 100644
--- a/modules/metrics/build.gradle
+++ b/modules/metrics/build.gradle
@@ -44,6 +44,7 @@ dependencies {
integrationTestAnnotationProcessor
project(":ignite-configuration-annotation-processor")
integrationTestAnnotationProcessor libs.auto.service
+ integrationTestImplementation project(':ignite-core')
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
integrationTestImplementation libs.auto.service.annotations
}
diff --git
a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
index d8baedbd51..5d9e4d3b31 100644
---
a/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
+++
b/modules/metrics/src/integrationTest/java/org/apache/ignite/internal/metrics/exporters/TestMetricsSource.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.metrics.exporters;
import org.apache.ignite.internal.metrics.AbstractMetricSource;
import org.apache.ignite.internal.metrics.AtomicIntMetric;
import org.apache.ignite.internal.metrics.MetricSetBuilder;
-import org.apache.ignite.internal.metrics.ThreadPoolMetricTest;
import org.apache.ignite.internal.metrics.exporters.TestMetricsSource.Holder;
/**
diff --git
a/modules/network-api/src/main/java/org/apache/ignite/network/UnresolvableConsistentIdException.java
b/modules/network-api/src/main/java/org/apache/ignite/network/UnresolvableConsistentIdException.java
index ba5e28fe21..c4b14baa54 100644
---
a/modules/network-api/src/main/java/org/apache/ignite/network/UnresolvableConsistentIdException.java
+++
b/modules/network-api/src/main/java/org/apache/ignite/network/UnresolvableConsistentIdException.java
@@ -17,6 +17,7 @@
package org.apache.ignite.network;
+import java.util.UUID;
import org.apache.ignite.lang.ErrorGroups.Network;
import org.apache.ignite.lang.IgniteException;
@@ -28,4 +29,8 @@ public class UnresolvableConsistentIdException extends
IgniteException {
public UnresolvableConsistentIdException(String msg) {
super(Network.UNRESOLVABLE_CONSISTENT_ID_ERR, msg);
}
+
+ public UnresolvableConsistentIdException(UUID traceId, int code, String
message, Throwable cause) {
+ super(traceId, code, message, cause);
+ }
}
diff --git a/modules/network/build.gradle b/modules/network/build.gradle
index 7cc9a597ac..32b118ecb4 100644
--- a/modules/network/build.gradle
+++ b/modules/network/build.gradle
@@ -49,7 +49,11 @@ dependencies {
testImplementation project(':ignite-core')
testImplementation project(':ignite-network-annotation-processor')
testImplementation libs.jmh.core
- testImplementation libs.kryo
+ testImplementation(libs.kryo) {
+ //IDEA test runner don't apply Gradle dependency resolve strategy,
this is just not implemented
+ //So, exclude asm-core transitive dependency to protect of jar-hell.
+ exclude group: 'org.ow2.asm', module: 'asm'
+ }
testImplementation libs.hamcrest.core
testImplementation libs.mockito.core
testImplementation libs.mockito.junit
@@ -58,17 +62,24 @@ dependencies {
testImplementation libs.bytebuddy
testImplementation libs.compileTesting
+ testFixturesAnnotationProcessor
project(":ignite-network-annotation-processor")
testFixturesImplementation project(':ignite-configuration')
testFixturesImplementation(testFixtures(project(':ignite-core')))
testFixturesImplementation(testFixtures(project(':ignite-configuration')))
+ testFixturesImplementation libs.classgraph
+ testFixturesImplementation libs.fastutil.core
testFixturesImplementation libs.scalecube.cluster
- testFixturesImplementation libs.junit5.api
integrationTestAnnotationProcessor
project(":ignite-network-annotation-processor")
+ integrationTestAnnotationProcessor
project(":ignite-network-annotation-processor")
integrationTestImplementation
project(':ignite-network-annotation-processor')
+ integrationTestImplementation(testFixtures(project))
integrationTestImplementation(testFixtures(project(':ignite-core')))
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
integrationTestImplementation libs.compileTesting
+ integrationTestImplementation libs.netty.handler
+ integrationTestImplementation libs.scalecube.cluster
integrationTestImplementation libs.javapoet
+ integrationTestImplementation libs.classgraph
}
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/AllTypesMessage.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/AllTypesMessage.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/AllTypesMessage.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/AllTypesMessage.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/EmptyMessage.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/EmptyMessage.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/EmptyMessage.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/EmptyMessage.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/InheritedMessage.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/InheritedMessage.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/InheritedMessage.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/InheritedMessage.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/MessageWithMarshallable.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/MessageWithMarshallable.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/MessageWithMarshallable.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/MessageWithMarshallable.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/NestedMessageMessage.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/NestedMessageMessage.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/NestedMessageMessage.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/NestedMessageMessage.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/NetworkMessage1.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/NetworkMessage1.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/NetworkMessage1.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/NetworkMessage1.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/NetworkMessage2.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/NetworkMessage2.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/NetworkMessage2.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/NetworkMessage2.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/SerializationOrderMessage.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/SerializationOrderMessage.java
similarity index 94%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/SerializationOrderMessage.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/SerializationOrderMessage.java
index 908549b181..3243517064 100644
---
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/SerializationOrderMessage.java
+++
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/SerializationOrderMessage.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.network.messages;
-import org.apache.ignite.internal.network.processor.SerializationOrderTest;
import org.apache.ignite.network.NetworkMessage;
import org.apache.ignite.network.annotations.Transferable;
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/TestMessage.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/TestMessage.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/TestMessage.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/TestMessage.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/messages/TestMessageTypes.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/TestMessageTypes.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/messages/TestMessageTypes.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/messages/TestMessageTypes.java
diff --git
a/modules/network/src/test/java/org/apache/ignite/internal/network/serialization/SimpleSerializableObject.java
b/modules/network/src/testFixtures/java/org/apache/ignite/internal/network/serialization/SimpleSerializableObject.java
similarity index 100%
rename from
modules/network/src/test/java/org/apache/ignite/internal/network/serialization/SimpleSerializableObject.java
rename to
modules/network/src/testFixtures/java/org/apache/ignite/internal/network/serialization/SimpleSerializableObject.java
diff --git
a/modules/network/src/testFixtures/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
b/modules/network/src/testFixtures/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
index 19d94766df..57cc3716dc 100644
---
a/modules/network/src/testFixtures/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
+++
b/modules/network/src/testFixtures/java/org/apache/ignite/network/scalecube/TestScaleCubeClusterServiceFactory.java
@@ -19,6 +19,7 @@ package org.apache.ignite.network.scalecube;
import io.scalecube.cluster.ClusterConfig;
import org.apache.ignite.internal.network.configuration.ClusterMembershipView;
+import org.apache.ignite.network.scalecube.ScaleCubeClusterServiceFactory;
/**
* Scalecube test factory. Provides fast detection time.
diff --git a/modules/page-memory/build.gradle b/modules/page-memory/build.gradle
index 9dd1a3364b..c309eeb614 100644
--- a/modules/page-memory/build.gradle
+++ b/modules/page-memory/build.gradle
@@ -18,6 +18,7 @@
apply from: "$rootDir/buildscripts/java-core.gradle"
apply from: "$rootDir/buildscripts/publishing.gradle"
apply from: "$rootDir/buildscripts/java-junit5.gradle"
+apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
apply from: "$rootDir/buildscripts/java-integration-test.gradle"
dependencies {
@@ -32,6 +33,7 @@ dependencies {
annotationProcessor project(':ignite-configuration-annotation-processor')
annotationProcessor libs.auto.service
+ testAnnotationProcessor libs.auto.service
testImplementation project(':ignite-core')
testImplementation(testFixtures(project(':ignite-core')))
testImplementation project(':ignite-configuration')
@@ -40,10 +42,16 @@ dependencies {
testImplementation libs.hamcrest.core
testImplementation libs.auto.service.annotations
- testAnnotationProcessor libs.auto.service
+ testFixturesAnnotationProcessor libs.auto.service
+ testFixturesImplementation project(':ignite-core')
+ testFixturesImplementation libs.mockito.core
+ testFixturesImplementation libs.auto.service.annotations
+ integrationTestImplementation(testFixtures(project))
integrationTestImplementation(testFixtures(project(':ignite-core')))
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
+ integrationTestImplementation libs.jetbrains.annotations
+
}
description = 'ignite-page-memory'
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/TestPageIoModule.java
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/TestPageIoModule.java
similarity index 100%
rename from
modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/TestPageIoModule.java
rename to
modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/TestPageIoModule.java
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/TestPageIoRegistry.java
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/TestPageIoRegistry.java
similarity index 100%
rename from
modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/TestPageIoRegistry.java
rename to
modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/TestPageIoRegistry.java
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/TestPageReadWriteManager.java
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/persistence/TestPageReadWriteManager.java
similarity index 100%
rename from
modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/TestPageReadWriteManager.java
rename to
modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/persistence/TestPageReadWriteManager.java
diff --git
a/modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointTestUtils.java
b/modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointTestUtils.java
similarity index 100%
rename from
modules/page-memory/src/test/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointTestUtils.java
rename to
modules/page-memory/src/testFixtures/java/org/apache/ignite/internal/pagememory/persistence/checkpoint/CheckpointTestUtils.java
diff --git a/modules/raft/build.gradle b/modules/raft/build.gradle
index 739337c880..4b462ab850 100644
--- a/modules/raft/build.gradle
+++ b/modules/raft/build.gradle
@@ -68,7 +68,11 @@ dependencies {
integrationTestAnnotationProcessor
project(":ignite-network-annotation-processor")
integrationTestAnnotationProcessor
project(":ignite-configuration-annotation-processor")
+ integrationTestImplementation(testFixtures(project))
integrationTestImplementation(testFixtures(project(':ignite-core')))
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
integrationTestImplementation(testFixtures(project(':ignite-network')))
+ integrationTestImplementation project(':ignite-raft-api')
+ integrationTestImplementation libs.jetbrains.annotations
+ integrationTestImplementation libs.dropwizard.metrics
}
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/ExpectClosure.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/ExpectClosure.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/ExpectClosure.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/ExpectClosure.java
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/MockClosure.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/MockClosure.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/MockClosure.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/MockClosure.java
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/MockStateMachine.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/MockStateMachine.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/MockStateMachine.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/MockStateMachine.java
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/TestCluster.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/TestCluster.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/TestCluster.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/TestCluster.java
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/TestJRaftServiceFactory.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/TestJRaftServiceFactory.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/jraft/core/TestJRaftServiceFactory.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/core/TestJRaftServiceFactory.java
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/TestIgniteRpcServer.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/rpc/TestIgniteRpcServer.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/TestIgniteRpcServer.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/rpc/TestIgniteRpcServer.java
diff --git a/modules/runner/build.gradle b/modules/runner/build.gradle
index 48b9cd510a..8672fe8b63 100644
--- a/modules/runner/build.gradle
+++ b/modules/runner/build.gradle
@@ -87,9 +87,28 @@ dependencies {
testImplementation libs.auto.service.annotations
integrationTestAnnotationProcessor
project(':ignite-configuration-annotation-processor')
+ integrationTestImplementation project(':ignite-affinity')
integrationTestImplementation project(':ignite-page-memory')
integrationTestImplementation project(':ignite-raft-api')
+ integrationTestImplementation project(':ignite-baseline')
+ integrationTestImplementation project(':ignite-replicator')
integrationTestImplementation project(':ignite-client')
+ integrationTestImplementation project(':ignite-client-handler')
+ integrationTestImplementation project(':ignite-storage-api')
+ integrationTestImplementation project(':ignite-storage-page-memory')
+ integrationTestImplementation project(':ignite-storage-rocksdb')
+ integrationTestImplementation project(':ignite-index')
+ integrationTestImplementation project(':ignite-raft')
+ integrationTestImplementation project(':ignite-rest')
+ integrationTestImplementation project(':ignite-rest-api')
+ integrationTestImplementation(project(':ignite-sql-engine')) {
+ //IDEA test runner don't apply Gradle dependency resolve strategy,
this is just not implemented
+ //So, exclude asm-core transitive dependency to protect of jar-hell.
+ exclude group: 'com.fasterxml.jackson.core', module: 'jackson-databind'
+ }
+ integrationTestImplementation project(':ignite-metastorage')
+ integrationTestImplementation project(':ignite-table')
+ integrationTestImplementation project(':ignite-transactions')
integrationTestImplementation(testFixtures(project(':ignite-core')))
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
integrationTestImplementation(testFixtures(project(':ignite-schema')))
@@ -97,25 +116,20 @@ dependencies {
integrationTestImplementation(testFixtures(project(':ignite-metastorage')))
integrationTestImplementation(testFixtures(project(':ignite-network')))
integrationTestImplementation(testFixtures(project(':ignite-vault')))
+ integrationTestImplementation libs.jetbrains.annotations
integrationTestImplementation libs.rocksdb.jni
- integrationTestImplementation libs.jsonpath.assert
- integrationTestImplementation libs.typesafe.config
-
-}
-
-def sqlIntegrationTest = tasks.register("sqlIntegrationTest", Test) {
- description = 'Runs sql integration tests.'
- group = 'verification'
- useJUnitPlatform {
- includeTags "sqllogic"
+ integrationTestImplementation libs.disruptor
+ integrationTestImplementation libs.jackson.databind
+ integrationTestImplementation(libs.jsonpath.assert) {
+ //IDEA test runner don't apply Gradle dependency resolve strategy,
this is just not implemented
+ //So, exclude asm-core transitive dependency to protect of jar-hell.
+ exclude group: 'org.ow2.asm', module: 'asm'
}
- maxHeapSize = "16g"
+ integrationTestImplementation libs.typesafe.config
- testClassesDirs = sourceSets.integrationTest.output.classesDirs
- classpath = sourceSets.integrationTest.runtimeClasspath
}
-def runnerPlatformTest = tasks.register("runnerPlatformTest", JavaExec) {
+tasks.register("runnerPlatformTest", JavaExec) {
mainClass = "org.apache.ignite.internal.runner.app.PlatformTestNodeRunner"
classpath = sourceSets.integrationTest.runtimeClasspath
@@ -125,7 +139,11 @@ def runnerPlatformTest =
tasks.register("runnerPlatformTest", JavaExec) {
integrationTest {
useJUnitPlatform {
- excludeTags "sqllogic"
+ if (System.getProperty("sqlTest") != null) {
+ it.includeTags "sqllogic"
+ } else {
+ it.excludeTags "sqllogic"
+ }
}
}
diff --git a/modules/table/build.gradle b/modules/table/build.gradle
index 795370d7c4..ce02c01cb2 100644
--- a/modules/table/build.gradle
+++ b/modules/table/build.gradle
@@ -67,18 +67,35 @@ dependencies {
testImplementation libs.jmh.core
testImplementation libs.javax.annotations
+ testFixturesImplementation project(':ignite-storage-api')
+ testFixturesImplementation project(':ignite-network-api')
+ testFixturesImplementation project(':ignite-core')
+ testFixturesImplementation project(':ignite-schema')
+ testFixturesImplementation project(':ignite-transactions')
+ testFixturesImplementation project(':ignite-api')
+ testFixturesImplementation project(':ignite-raft-api')
+ testFixturesImplementation project(':ignite-replicator')
+ testFixturesImplementation project(':ignite-configuration')
+ testFixturesImplementation(testFixtures(project(':ignite-core')))
+ testFixturesImplementation(testFixtures(project(':ignite-storage-api')))
+ testFixturesImplementation(testFixtures(project(':ignite-transactions')))
+ testFixturesImplementation libs.jetbrains.annotations
+ testFixturesImplementation libs.fastutil.core
+ testFixturesImplementation libs.mockito.core
+ testFixturesImplementation libs.mockito.junit
+
+ integrationTestImplementation project(':ignite-replicator')
+ integrationTestImplementation project(':ignite-raft-api')
+ integrationTestImplementation project(':ignite-affinity')
+ integrationTestImplementation(testFixtures(project))
integrationTestImplementation(testFixtures(project(':ignite-core')))
+ integrationTestImplementation(testFixtures(project(':ignite-schema')))
integrationTestImplementation(testFixtures(project(':ignite-configuration')))
integrationTestImplementation(testFixtures(project(':ignite-network')))
integrationTestImplementation(testFixtures(project(':ignite-raft')))
integrationTestImplementation(testFixtures(project(':ignite-storage-api')))
integrationTestImplementation(testFixtures(project(':ignite-transactions')))
-
- testFixturesImplementation libs.jetbrains.annotations
- testFixturesImplementation project(':ignite-storage-api')
- testFixturesImplementation project(':ignite-core')
- testFixturesImplementation project(':ignite-schema')
- testFixturesImplementation project(':ignite-api')
+ integrationTestImplementation libs.fastutil.core
}
description = 'ignite-table'
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/TxAbstractTest.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java
similarity index 100%
rename from
modules/table/src/test/java/org/apache/ignite/internal/table/TxAbstractTest.java
rename to
modules/table/src/testFixtures/java/org/apache/ignite/internal/table/TxAbstractTest.java
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
similarity index 100%
rename from
modules/table/src/test/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
rename to
modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummyInternalTableImpl.java
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/impl/DummySchemaManagerImpl.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummySchemaManagerImpl.java
similarity index 100%
rename from
modules/table/src/test/java/org/apache/ignite/internal/table/impl/DummySchemaManagerImpl.java
rename to
modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/DummySchemaManagerImpl.java
diff --git
a/modules/table/src/test/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
b/modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
similarity index 100%
rename from
modules/table/src/test/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
rename to
modules/table/src/testFixtures/java/org/apache/ignite/internal/table/impl/TestTupleBuilder.java
diff --git a/modules/vault/build.gradle b/modules/vault/build.gradle
index fe31540a12..d63df30f0f 100644
--- a/modules/vault/build.gradle
+++ b/modules/vault/build.gradle
@@ -19,7 +19,6 @@ apply from: "$rootDir/buildscripts/java-core.gradle"
apply from: "$rootDir/buildscripts/publishing.gradle"
apply from: "$rootDir/buildscripts/java-junit5.gradle"
apply from: "$rootDir/buildscripts/java-test-fixtures.gradle"
-apply from: "$rootDir/buildscripts/java-integration-test.gradle"
dependencies {
implementation project(':ignite-core')
@@ -33,9 +32,6 @@ dependencies {
testFixturesImplementation project(':ignite-core')
testFixturesImplementation libs.jetbrains.annotations
-
- integrationTestImplementation(testFixtures(project(':ignite-core')))
-
}
description = 'ignite-vault'
diff --git
a/modules/vault/src/integrationTest/java/org/apache/ignite/internal/vault/persistence/ItPersistencePropertiesVaultServiceTest.java
b/modules/vault/src/test/java/org/apache/ignite/internal/vault/persistence/ItPersistencePropertiesVaultServiceTest.java
similarity index 100%
rename from
modules/vault/src/integrationTest/java/org/apache/ignite/internal/vault/persistence/ItPersistencePropertiesVaultServiceTest.java
rename to
modules/vault/src/test/java/org/apache/ignite/internal/vault/persistence/ItPersistencePropertiesVaultServiceTest.java
diff --git
a/modules/vault/src/integrationTest/java/org/apache/ignite/internal/vault/persistence/ItPersistentVaultServiceTest.java
b/modules/vault/src/test/java/org/apache/ignite/internal/vault/persistence/ItPersistentVaultServiceTest.java
similarity index 100%
rename from
modules/vault/src/integrationTest/java/org/apache/ignite/internal/vault/persistence/ItPersistentVaultServiceTest.java
rename to
modules/vault/src/test/java/org/apache/ignite/internal/vault/persistence/ItPersistentVaultServiceTest.java