From 9366dfe3fc7d11ff4ab7318038aa9983a3bc5c94 Mon Sep 17 00:00:00 2001 From: Alpar Torok Date: Thu, 6 Dec 2018 14:35:15 +0200 Subject: [PATCH 1/5] No longer replace test task --- benchmarks/build.gradle | 2 +- buildSrc/build.gradle | 4 +- .../junit4/RandomizedTestingPlugin.groovy | 54 ++++--------------- .../elasticsearch/gradle/BuildPlugin.groovy | 12 +++-- .../gradle/test/RestIntegTestTask.groovy | 2 - .../testKit/elasticsearch.build/build.gradle | 2 +- client/benchmark/build.gradle | 2 +- .../build.gradle | 2 +- client/test/build.gradle | 2 +- .../tools/java-version-checker/build.gradle | 2 +- distribution/tools/plugin-cli/build.gradle | 2 +- libs/cli/build.gradle | 2 +- libs/plugin-classloader/build.gradle | 2 +- modules/lang-painless/build.gradle | 2 +- modules/lang-painless/spi/build.gradle | 2 +- modules/reindex/build.gradle | 2 +- modules/transport-netty4/build.gradle | 2 +- plugins/discovery-ec2/build.gradle | 2 +- plugins/discovery-gce/build.gradle | 2 +- .../examples/custom-suggester/build.gradle | 2 +- .../examples/painless-whitelist/build.gradle | 2 +- plugins/examples/rest-handler/build.gradle | 2 +- .../script-expert-scoring/build.gradle | 2 +- plugins/repository-s3/build.gradle | 2 +- qa/die-with-dignity/build.gradle | 2 +- qa/evil-tests/build.gradle | 2 +- qa/full-cluster-restart/build.gradle | 2 +- qa/mixed-cluster/build.gradle | 2 +- qa/multi-cluster-search/build.gradle | 2 +- qa/rolling-upgrade/build.gradle | 2 +- qa/vagrant/build.gradle | 2 +- qa/verify-version-constants/build.gradle | 2 +- qa/wildfly/build.gradle | 2 +- rest-api-spec/build.gradle | 2 +- server/build.gradle | 2 +- test/fixtures/hdfs-fixture/build.gradle | 2 +- test/fixtures/krb5kdc-fixture/build.gradle | 2 +- test/fixtures/old-elasticsearch/build.gradle | 2 +- test/framework/build.gradle | 2 +- x-pack/plugin/ccr/build.gradle | 2 +- x-pack/plugin/ccr/qa/build.gradle | 2 +- x-pack/plugin/ccr/qa/chain/build.gradle | 2 +- .../build.gradle | 2 +- .../build.gradle | 2 +- .../multi-cluster-with-security/build.gradle | 2 +- .../plugin/ccr/qa/multi-cluster/build.gradle | 2 +- x-pack/plugin/ccr/qa/rest/build.gradle | 2 +- x-pack/plugin/core/build.gradle | 2 +- x-pack/plugin/ilm/qa/build.gradle | 2 +- x-pack/plugin/ilm/qa/rest/build.gradle | 2 +- x-pack/plugin/ml/build.gradle | 2 +- x-pack/plugin/monitoring/build.gradle | 2 +- x-pack/plugin/security/build.gradle | 2 +- x-pack/plugin/security/cli/build.gradle | 2 +- x-pack/plugin/sql/jdbc/build.gradle | 2 +- x-pack/plugin/sql/qa/build.gradle | 2 +- x-pack/plugin/sql/sql-cli/build.gradle | 2 +- x-pack/plugin/upgrade/build.gradle | 2 +- x-pack/plugin/watcher/build.gradle | 2 +- x-pack/qa/evil-tests/build.gradle | 2 +- x-pack/qa/full-cluster-restart/build.gradle | 6 +-- .../build.gradle | 2 +- x-pack/qa/openldap-tests/build.gradle | 6 +-- x-pack/qa/rolling-upgrade-basic/build.gradle | 2 +- x-pack/qa/rolling-upgrade/build.gradle | 4 +- .../third-party/active-directory/build.gradle | 2 +- x-pack/test/idp-fixture/build.gradle | 2 +- 67 files changed, 86 insertions(+), 122 deletions(-) diff --git a/benchmarks/build.gradle b/benchmarks/build.gradle index a1e4d16a27c61..3002819235a13 100644 --- a/benchmarks/build.gradle +++ b/benchmarks/build.gradle @@ -24,7 +24,7 @@ mainClassName = 'org.openjdk.jmh.Main' assemble.enabled = false archivesBaseName = 'elasticsearch-benchmarks' -test.enabled = false +unitTest.enabled = false dependencies { compile("org.elasticsearch:elasticsearch:${version}") { diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 9ffba81ee4cad..7cd7514b6e983 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -178,9 +178,7 @@ if (project != rootProject) { jarHell.enabled = false thirdPartyAudit.enabled = false - test { - include "**/*Tests.class" - exclude "**/*IT.class" + unitTest { // The test task is configured to runtimeJava version, but build-tools doesn't support all of them, so test // with compiler instead on the ones that are too old. if (project.runtimeJavaVersion <= JavaVersion.VERSION_1_10) { diff --git a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy index 01458f4543dbf..c720caffdf8de 100644 --- a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy +++ b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy @@ -4,30 +4,14 @@ import com.carrotsearch.ant.tasks.junit4.JUnit4 import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.Task -import org.gradle.api.UnknownTaskException -import org.gradle.api.plugins.JavaBasePlugin import org.gradle.api.tasks.TaskContainer -import org.gradle.api.tasks.TaskProvider -import org.gradle.api.tasks.testing.Test class RandomizedTestingPlugin implements Plugin { void apply(Project project) { setupSeed(project) - replaceTestTask(project.tasks) + createUnitTestTask(project.tasks) configureAnt(project.ant) - configureSanityCheck(project) - } - - private static void configureSanityCheck(Project project) { - // Check the task graph to confirm tasks were indeed replaced - // https://github.com/elastic/elasticsearch/issues/31324 - project.rootProject.getGradle().getTaskGraph().whenReady { - Task test = project.getTasks().findByName("test") - if (test != null && (test instanceof RandomizedTestingTask) == false) { - throw new IllegalStateException("Test task was not replaced in project ${project.path}. Found ${test.getClass()}") - } - } } /** @@ -57,35 +41,15 @@ class RandomizedTestingPlugin implements Plugin { } } - static void replaceTestTask(TaskContainer tasks) { - // Gradle 4.8 introduced lazy tasks, thus we deal both with the `test` task as well as it's provider - // https://github.com/gradle/gradle/issues/5730#issuecomment-398822153 - // since we can't be sure if the task was ever realized, we remove both the provider and the task - TaskProvider oldTestProvider - try { - oldTestProvider = tasks.named('test') - } catch (UnknownTaskException unused) { - // no test task, ok, user will use testing task on their own - return + static void createUnitTestTask(TaskContainer tasks) { + RandomizedTestingTask unitTest = tasks.create('unitTest', RandomizedTestingTask) + unitTest.description = 'Runs unit tests with the randomized testing framework' + unitTest.include("**/*Tests.class") + tasks.matching { it.name == "test" }.all { + // We don't want to run any tests with the Gradle test runner since we add our own randomized runner + it.exclude "**/*" + it.dependsOn unitTest } - Test oldTestTask = oldTestProvider.get() - - // we still have to use replace here despite the remove above because the task container knows about the provider - // by the same name - RandomizedTestingTask newTestTask = tasks.replace('test', RandomizedTestingTask) - newTestTask.configure{ - group = JavaBasePlugin.VERIFICATION_GROUP - description = 'Runs unit tests with the randomized testing framework' - dependsOn oldTestTask.dependsOn, 'testClasses' - classpath = oldTestTask.classpath - testClassesDirs = oldTestTask.project.sourceSets.test.output.classesDirs - } - - // hack so check task depends on custom test - Task checkTask = tasks.getByName('check') - checkTask.dependsOn.remove(oldTestProvider) - checkTask.dependsOn.remove(oldTestTask) - checkTask.dependsOn.add(newTestTask) } static void configureAnt(AntBuilder ant) { diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy index d56591bcab3f7..39a658e9b1756 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy @@ -40,6 +40,7 @@ import org.gradle.api.artifacts.ProjectDependency import org.gradle.api.artifacts.ResolvedArtifact import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.execution.TaskExecutionGraph +import org.gradle.api.plugins.JavaBasePlugin import org.gradle.api.plugins.JavaPlugin import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.publish.maven.plugins.MavenPublishPlugin @@ -771,17 +772,22 @@ class BuildPlugin implements Plugin { static void applyCommonTestConfig(Project project) { project.tasks.withType(RandomizedTestingTask) {task -> + jvm "${project.runtimeJavaHome}/bin/java" parallelism System.getProperty('tests.jvms', project.rootProject.ext.defaultParallel) ifNoTests System.getProperty('tests.ifNoTests', 'fail') onNonEmptyWorkDirectory 'wipe' leaveTemporary true + project.sourceSets.matching { it.name == "test" }.all { test -> + task.testClassesDirs = test.output.classesDirs + task.classpath = test.runtimeClasspath + } + group = JavaBasePlugin.VERIFICATION_GROUP + dependsOn 'testClasses' // Make sure all test tasks are configured properly if (name != "test") { project.tasks.matching { it.name == "test"}.all { testTask -> - task.testClassesDirs = testTask.testClassesDirs - task.classpath = testTask.classpath task.shouldRunAfter testTask } } @@ -878,8 +884,6 @@ class BuildPlugin implements Plugin { exclude '**/*$*.class' - dependsOn(project.tasks.testClasses) - project.plugins.withType(ShadowPlugin).whenPluginAdded { // Test against a shadow jar if we made one classpath -= project.tasks.compileJava.outputs.files diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/RestIntegTestTask.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/RestIntegTestTask.groovy index c91bc57204da9..b30dc95715442 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/RestIntegTestTask.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/test/RestIntegTestTask.groovy @@ -60,8 +60,6 @@ public class RestIntegTestTask extends DefaultTask { super.dependsOn(runner) clusterInit = project.tasks.create(name: "${name}Cluster#init", dependsOn: project.testClasses) runner.dependsOn(clusterInit) - runner.classpath = project.sourceSets.test.runtimeClasspath - runner.testClassesDirs = project.sourceSets.test.output.classesDirs clusterConfig = project.extensions.create("${name}Cluster", ClusterConfiguration.class, project) // override/add more for rest tests diff --git a/buildSrc/src/testKit/elasticsearch.build/build.gradle b/buildSrc/src/testKit/elasticsearch.build/build.gradle index 8020935f67e80..409367da3146a 100644 --- a/buildSrc/src/testKit/elasticsearch.build/build.gradle +++ b/buildSrc/src/testKit/elasticsearch.build/build.gradle @@ -27,7 +27,7 @@ forbiddenApisTest.enabled = false // requires dependency on testing fw jarHell.enabled = false // we don't have tests for now -test.enabled = false +unitTest.enabled = false task hello { doFirst { diff --git a/client/benchmark/build.gradle b/client/benchmark/build.gradle index a53f102034009..f8beeafd14e09 100644 --- a/client/benchmark/build.gradle +++ b/client/benchmark/build.gradle @@ -29,7 +29,7 @@ archivesBaseName = 'client-benchmarks' mainClassName = 'org.elasticsearch.client.benchmark.BenchmarkMain' // never try to invoke tests on the benchmark project - there aren't any -test.enabled = false +unitTest.enabled = false dependencies { compile 'org.apache.commons:commons-math3:3.2' diff --git a/client/client-benchmark-noop-api-plugin/build.gradle b/client/client-benchmark-noop-api-plugin/build.gradle index b5a5fb5dc5ed1..6df52237e367e 100644 --- a/client/client-benchmark-noop-api-plugin/build.gradle +++ b/client/client-benchmark-noop-api-plugin/build.gradle @@ -36,5 +36,5 @@ dependenciesInfo.enabled = false compileJava.options.compilerArgs << "-Xlint:-cast,-deprecation,-rawtypes,-try,-unchecked" // no unit tests -test.enabled = false +unitTest.enabled = false integTest.enabled = false diff --git a/client/test/build.gradle b/client/test/build.gradle index e66d2be57f1ea..e8963b76c5e4b 100644 --- a/client/test/build.gradle +++ b/client/test/build.gradle @@ -55,4 +55,4 @@ namingConventions.enabled = false //we aren't releasing this jar thirdPartyAudit.enabled = false -test.enabled = false +unitTest.enabled = false diff --git a/distribution/tools/java-version-checker/build.gradle b/distribution/tools/java-version-checker/build.gradle index 6d18b79d4bddf..48014a42a4d99 100644 --- a/distribution/tools/java-version-checker/build.gradle +++ b/distribution/tools/java-version-checker/build.gradle @@ -7,7 +7,7 @@ forbiddenApisMain { replaceSignatureFiles 'jdk-signatures' } -test.enabled = false +unitTest.enabled = false namingConventions.enabled = false javadoc.enabled = false loggerUsageCheck.enabled = false diff --git a/distribution/tools/plugin-cli/build.gradle b/distribution/tools/plugin-cli/build.gradle index 38be8db42ff6a..34544d724f411 100644 --- a/distribution/tools/plugin-cli/build.gradle +++ b/distribution/tools/plugin-cli/build.gradle @@ -35,7 +35,7 @@ dependencyLicenses { mapping from: /bc.*/, to: 'bouncycastle' } -test { +unitTest { // TODO: find a way to add permissions for the tests in this module systemProperty 'tests.security.manager', 'false' } diff --git a/libs/cli/build.gradle b/libs/cli/build.gradle index b1f3b338255c4..0cd1f256c4037 100644 --- a/libs/cli/build.gradle +++ b/libs/cli/build.gradle @@ -26,7 +26,7 @@ dependencies { compile "org.elasticsearch:elasticsearch-core:${version}" } -test.enabled = false +unitTest.enabled = false // Since CLI does not depend on :server, it cannot run the jarHell task jarHell.enabled = false diff --git a/libs/plugin-classloader/build.gradle b/libs/plugin-classloader/build.gradle index d6af6600d3463..4b3e00467b71d 100644 --- a/libs/plugin-classloader/build.gradle +++ b/libs/plugin-classloader/build.gradle @@ -17,7 +17,7 @@ * under the License. */ -test.enabled = false +unitTest.enabled = false // test depend on ES core... forbiddenApisMain.enabled = false diff --git a/modules/lang-painless/build.gradle b/modules/lang-painless/build.gradle index b3cab595201a5..c35127e1c91d5 100644 --- a/modules/lang-painless/build.gradle +++ b/modules/lang-painless/build.gradle @@ -37,7 +37,7 @@ dependencyLicenses { mapping from: /asm-.*/, to: 'asm' } -test { +unitTest { jvmArg '-XX:-OmitStackTraceInFastThrow' } diff --git a/modules/lang-painless/spi/build.gradle b/modules/lang-painless/spi/build.gradle index 7e43a242a23a9..92fd70411f74c 100644 --- a/modules/lang-painless/spi/build.gradle +++ b/modules/lang-painless/spi/build.gradle @@ -37,4 +37,4 @@ dependencies { } // no tests...yet? -test.enabled = false +unitTest.enabled = false diff --git a/modules/reindex/build.gradle b/modules/reindex/build.gradle index ae4cf4170499c..96b49e0a50c62 100644 --- a/modules/reindex/build.gradle +++ b/modules/reindex/build.gradle @@ -45,7 +45,7 @@ run { setting 'reindex.remote.whitelist', '127.0.0.1:*' } -test { +unitTest { /* * We have to disable setting the number of available processors as tests in the * same JVM randomize processors and will step on each other if we allow them to diff --git a/modules/transport-netty4/build.gradle b/modules/transport-netty4/build.gradle index d84c308294e23..58eda4445c646 100644 --- a/modules/transport-netty4/build.gradle +++ b/modules/transport-netty4/build.gradle @@ -47,7 +47,7 @@ dependencyLicenses { mapping from: /netty-.*/, to: 'netty' } -test { +unitTest { /* * We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each * other if we allow them to set the number of available processors as it's set-once in Netty. diff --git a/plugins/discovery-ec2/build.gradle b/plugins/discovery-ec2/build.gradle index b08561ffde0ed..96fe8bb3fded4 100644 --- a/plugins/discovery-ec2/build.gradle +++ b/plugins/discovery-ec2/build.gradle @@ -64,7 +64,7 @@ task writeTestJavaPolicy { } } -test { +unitTest { dependsOn writeTestJavaPolicy // this is needed for insecure plugins, remove if possible! systemProperty 'tests.artifact', project.name diff --git a/plugins/discovery-gce/build.gradle b/plugins/discovery-gce/build.gradle index bccb496859ac8..4d02cff011932 100644 --- a/plugins/discovery-gce/build.gradle +++ b/plugins/discovery-gce/build.gradle @@ -31,7 +31,7 @@ check { dependsOn 'qa:gce:check' } -test { +unitTest { // this is needed for insecure plugins, remove if possible! systemProperty 'tests.artifact', project.name } diff --git a/plugins/examples/custom-suggester/build.gradle b/plugins/examples/custom-suggester/build.gradle index 977e467391d8b..7c0d694e1b5ff 100644 --- a/plugins/examples/custom-suggester/build.gradle +++ b/plugins/examples/custom-suggester/build.gradle @@ -32,4 +32,4 @@ integTestCluster { } // this plugin has no unit tests, only rest tests -tasks.test.enabled = false +tasks.unitTest.enabled = false diff --git a/plugins/examples/painless-whitelist/build.gradle b/plugins/examples/painless-whitelist/build.gradle index cb2aeb82e9d01..9e42799b4da03 100644 --- a/plugins/examples/painless-whitelist/build.gradle +++ b/plugins/examples/painless-whitelist/build.gradle @@ -35,4 +35,4 @@ if (System.getProperty('tests.distribution') == null) { integTestCluster.distribution = 'oss-zip' } -test.enabled = false +unitTest.enabled = false diff --git a/plugins/examples/rest-handler/build.gradle b/plugins/examples/rest-handler/build.gradle index eff2fd1b6c6e4..bae98c247d134 100644 --- a/plugins/examples/rest-handler/build.gradle +++ b/plugins/examples/rest-handler/build.gradle @@ -27,7 +27,7 @@ esplugin { } // No unit tests in this example -test.enabled = false +unitTest.enabled = false task exampleFixture(type: org.elasticsearch.gradle.test.AntFixture) { dependsOn testClasses diff --git a/plugins/examples/script-expert-scoring/build.gradle b/plugins/examples/script-expert-scoring/build.gradle index e9da62acdcff4..b054ab47a3198 100644 --- a/plugins/examples/script-expert-scoring/build.gradle +++ b/plugins/examples/script-expert-scoring/build.gradle @@ -26,5 +26,5 @@ esplugin { noticeFile rootProject.file('NOTICE.txt') } -test.enabled = false +unitTest.enabled = false diff --git a/plugins/repository-s3/build.gradle b/plugins/repository-s3/build.gradle index 48c2a9e6ff1ff..79e317b4ce98b 100644 --- a/plugins/repository-s3/build.gradle +++ b/plugins/repository-s3/build.gradle @@ -75,7 +75,7 @@ task testRepositoryCreds(type: RandomizedTestingTask) { systemProperty 'es.allow_insecure_settings', 'true' } -test { +unitTest { // these are tested explicitly in separate test tasks exclude '**/*CredentialsTests.class' exclude '**/S3BlobStoreRepositoryTests.class' diff --git a/qa/die-with-dignity/build.gradle b/qa/die-with-dignity/build.gradle index 49a4d3c50873e..26d567ca3ef6c 100644 --- a/qa/die-with-dignity/build.gradle +++ b/qa/die-with-dignity/build.gradle @@ -32,6 +32,6 @@ integTestRunner { systemProperty 'runtime.java.home', "${project.runtimeJavaHome}" } -test.enabled = false +unitTest.enabled = false check.dependsOn integTest diff --git a/qa/evil-tests/build.gradle b/qa/evil-tests/build.gradle index 472fc87261602..738b95271be3e 100644 --- a/qa/evil-tests/build.gradle +++ b/qa/evil-tests/build.gradle @@ -31,7 +31,7 @@ dependencies { // TODO: give each evil test its own fresh JVM for more isolation. -test { +unitTest { systemProperty 'tests.security.manager', 'false' } diff --git a/qa/full-cluster-restart/build.gradle b/qa/full-cluster-restart/build.gradle index e812af9522b0e..4a5f59b6a7463 100644 --- a/qa/full-cluster-restart/build.gradle +++ b/qa/full-cluster-restart/build.gradle @@ -93,7 +93,7 @@ for (Version version : bwcVersions.indexCompatible) { } } -test.enabled = false // no unit tests for rolling upgrades, only the rest integration test +unitTest.enabled = false // no unit tests for rolling upgrades, only the rest integration test // basic integ tests includes testing bwc against the most recent version task integTest { diff --git a/qa/mixed-cluster/build.gradle b/qa/mixed-cluster/build.gradle index 62de043b5cca5..3de7d4132bbe3 100644 --- a/qa/mixed-cluster/build.gradle +++ b/qa/mixed-cluster/build.gradle @@ -60,7 +60,7 @@ for (Version version : bwcVersions.wireCompatible) { } } -test.enabled = false // no unit tests for rolling upgrades, only the rest integration test +unitTest.enabled = false // no unit tests for rolling upgrades, only the rest integration test // basic integ tests includes testing bwc against the most recent version task integTest { diff --git a/qa/multi-cluster-search/build.gradle b/qa/multi-cluster-search/build.gradle index 3012be985bc67..6942331c97c25 100644 --- a/qa/multi-cluster-search/build.gradle +++ b/qa/multi-cluster-search/build.gradle @@ -53,6 +53,6 @@ task integTest { dependsOn = [mixedClusterTest] } -test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test +unitTest.enabled = false // no unit tests for multi-cluster-search, only the rest integration test check.dependsOn(integTest) diff --git a/qa/rolling-upgrade/build.gradle b/qa/rolling-upgrade/build.gradle index a75b906e12324..dc7e0946c47d8 100644 --- a/qa/rolling-upgrade/build.gradle +++ b/qa/rolling-upgrade/build.gradle @@ -139,7 +139,7 @@ for (Version version : bwcVersions.wireCompatible) { } } -test.enabled = false // no unit tests for rolling upgrades, only the rest integration test +unitTest.enabled = false // no unit tests for rolling upgrades, only the rest integration test // basic integ tests includes testing bwc against the most recent version task integTest { diff --git a/qa/vagrant/build.gradle b/qa/vagrant/build.gradle index 4c3b48cbac946..1f83f431dc3eb 100644 --- a/qa/vagrant/build.gradle +++ b/qa/vagrant/build.gradle @@ -71,7 +71,7 @@ forbiddenApisMain { } // we don't have additional tests for the tests themselves -tasks.test.enabled = false +tasks.unitTest.enabled = false // this project doesn't get published tasks.dependencyLicenses.enabled = false diff --git a/qa/verify-version-constants/build.gradle b/qa/verify-version-constants/build.gradle index 46b5df8ae0c09..3160117f7a212 100644 --- a/qa/verify-version-constants/build.gradle +++ b/qa/verify-version-constants/build.gradle @@ -53,7 +53,7 @@ for (Version version : bwcVersions.indexCompatible) { bwcTest.dependsOn(versionBwcTest) } -test.enabled = false +unitTest.enabled = false task integTest { if (project.bwc_tests_enabled) { diff --git a/qa/wildfly/build.gradle b/qa/wildfly/build.gradle index 2e380ce5e30ae..0ed4f8c067911 100644 --- a/qa/wildfly/build.gradle +++ b/qa/wildfly/build.gradle @@ -211,7 +211,7 @@ if (!Os.isFamily(Os.FAMILY_WINDOWS)) { check.dependsOn(integTest) -test.enabled = false +unitTest.enabled = false dependencyLicenses.enabled = false dependenciesInfo.enabled = false diff --git a/rest-api-spec/build.gradle b/rest-api-spec/build.gradle index d95ad476682b1..915c3a68f6e0e 100644 --- a/rest-api-spec/build.gradle +++ b/rest-api-spec/build.gradle @@ -2,5 +2,5 @@ apply plugin: 'elasticsearch.build' apply plugin: 'nebula.maven-base-publish' apply plugin: 'nebula.maven-scm' -test.enabled = false +unitTest.enabled = false jarHell.enabled = false diff --git a/server/build.gradle b/server/build.gradle index 647362ef3c0a1..57485952196ec 100644 --- a/server/build.gradle +++ b/server/build.gradle @@ -319,7 +319,7 @@ if (isEclipse == false || project.path == ":server-tests") { task integTest(type: RandomizedTestingTask, group: JavaBasePlugin.VERIFICATION_GROUP, description: 'Multi-node tests', - dependsOn: test.dependsOn) { + dependsOn: unitTest.dependsOn) { include '**/*IT.class' } } diff --git a/test/fixtures/hdfs-fixture/build.gradle b/test/fixtures/hdfs-fixture/build.gradle index 70cb2b6bed2cb..3f08ca7970ca7 100644 --- a/test/fixtures/hdfs-fixture/build.gradle +++ b/test/fixtures/hdfs-fixture/build.gradle @@ -39,4 +39,4 @@ task hdfs(type: JavaExec) { // just a test fixture: we aren't using jars in releases thirdPartyAudit.enabled = false // TODO: add a simple HDFS client test for this fixture -test.enabled = false +unitTest.enabled = false diff --git a/test/fixtures/krb5kdc-fixture/build.gradle b/test/fixtures/krb5kdc-fixture/build.gradle index 75175da1b2240..685483d534771 100644 --- a/test/fixtures/krb5kdc-fixture/build.gradle +++ b/test/fixtures/krb5kdc-fixture/build.gradle @@ -74,7 +74,7 @@ task destroy(type: org.elasticsearch.gradle.vagrant.VagrantCommandTask) { } thirdPartyAudit.enabled = false -test.enabled = false +unitTest.enabled = false // installKDC uses tabs in it for the Kerberos ACL file. // Ignore it for pattern checking. diff --git a/test/fixtures/old-elasticsearch/build.gradle b/test/fixtures/old-elasticsearch/build.gradle index 5cfc02bbba3c6..82948a0b3b05a 100644 --- a/test/fixtures/old-elasticsearch/build.gradle +++ b/test/fixtures/old-elasticsearch/build.gradle @@ -24,7 +24,7 @@ a "ports" file with the port on which Elasticsearch is running. """ apply plugin: 'elasticsearch.build' -test.enabled = false +unitTest.enabled = false dependencies { // Just for the constants.... diff --git a/test/framework/build.gradle b/test/framework/build.gradle index fcfd34b88d632..8871c69b87acc 100644 --- a/test/framework/build.gradle +++ b/test/framework/build.gradle @@ -70,7 +70,7 @@ task namingConventionsMain(type: org.elasticsearch.gradle.precommit.NamingConven } precommit.dependsOn namingConventionsMain -test.configure { +unitTest { systemProperty 'tests.gradle_index_compat_versions', bwcVersions.indexCompatible.join(',') systemProperty 'tests.gradle_wire_compat_versions', bwcVersions.wireCompatible.join(',') systemProperty 'tests.gradle_unreleased_versions', bwcVersions.unreleased.join(',') diff --git a/x-pack/plugin/ccr/build.gradle b/x-pack/plugin/ccr/build.gradle index f70e15bac9fb7..e1a92b7c0b2e6 100644 --- a/x-pack/plugin/ccr/build.gradle +++ b/x-pack/plugin/ccr/build.gradle @@ -23,7 +23,7 @@ compileTestJava.options.compilerArgs << "-Xlint:-try" task internalClusterTest(type: RandomizedTestingTask, group: JavaBasePlugin.VERIFICATION_GROUP, description: 'Java fantasy integration tests', - dependsOn: test.dependsOn) { + dependsOn: unitTest.dependsOn) { include '**/*IT.class' systemProperty 'es.set.netty.runtime.available.processors', 'false' } diff --git a/x-pack/plugin/ccr/qa/build.gradle b/x-pack/plugin/ccr/qa/build.gradle index d3e95d997c3fb..a70f1cbd0a738 100644 --- a/x-pack/plugin/ccr/qa/build.gradle +++ b/x-pack/plugin/ccr/qa/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.test.RestIntegTestTask apply plugin: 'elasticsearch.build' -test.enabled = false +unitTest.enabled = false dependencies { compile project(':test:framework') diff --git a/x-pack/plugin/ccr/qa/chain/build.gradle b/x-pack/plugin/ccr/qa/chain/build.gradle index b9bf933d10fe1..b0b9d808b03f4 100644 --- a/x-pack/plugin/ccr/qa/chain/build.gradle +++ b/x-pack/plugin/ccr/qa/chain/build.gradle @@ -60,4 +60,4 @@ followClusterTestRunner { } check.dependsOn followClusterTest -test.enabled = false +unitTest.enabled = false diff --git a/x-pack/plugin/ccr/qa/multi-cluster-downgraded-to-basic-license/build.gradle b/x-pack/plugin/ccr/qa/multi-cluster-downgraded-to-basic-license/build.gradle index 341b5cda6c93d..9147d5251b5be 100644 --- a/x-pack/plugin/ccr/qa/multi-cluster-downgraded-to-basic-license/build.gradle +++ b/x-pack/plugin/ccr/qa/multi-cluster-downgraded-to-basic-license/build.gradle @@ -59,4 +59,4 @@ followClusterTestRunner { } check.dependsOn followClusterTest -test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test +unitTest.enabled = false // no unit tests for multi-cluster-search, only the rest integration test diff --git a/x-pack/plugin/ccr/qa/multi-cluster-with-non-compliant-license/build.gradle b/x-pack/plugin/ccr/qa/multi-cluster-with-non-compliant-license/build.gradle index f3ac0ffe15131..d3044f760faf7 100644 --- a/x-pack/plugin/ccr/qa/multi-cluster-with-non-compliant-license/build.gradle +++ b/x-pack/plugin/ccr/qa/multi-cluster-with-non-compliant-license/build.gradle @@ -38,4 +38,4 @@ followClusterTestRunner { } check.dependsOn followClusterTest -test.enabled = false +unitTest.enabled = false diff --git a/x-pack/plugin/ccr/qa/multi-cluster-with-security/build.gradle b/x-pack/plugin/ccr/qa/multi-cluster-with-security/build.gradle index f005a71b1653a..af4238c20075e 100644 --- a/x-pack/plugin/ccr/qa/multi-cluster-with-security/build.gradle +++ b/x-pack/plugin/ccr/qa/multi-cluster-with-security/build.gradle @@ -73,4 +73,4 @@ followClusterTestRunner { } check.dependsOn followClusterTest -test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test +unitTest.enabled = false // no unit tests for multi-cluster-search, only the rest integration test diff --git a/x-pack/plugin/ccr/qa/multi-cluster/build.gradle b/x-pack/plugin/ccr/qa/multi-cluster/build.gradle index 3e3661aae1a23..ed93144d9f5a8 100644 --- a/x-pack/plugin/ccr/qa/multi-cluster/build.gradle +++ b/x-pack/plugin/ccr/qa/multi-cluster/build.gradle @@ -40,4 +40,4 @@ followClusterTestRunner { } check.dependsOn followClusterTest -test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test +unitTest.enabled = false // no unit tests for multi-cluster-search, only the rest integration test diff --git a/x-pack/plugin/ccr/qa/rest/build.gradle b/x-pack/plugin/ccr/qa/rest/build.gradle index cfd24123f429c..c2ca1d499b610 100644 --- a/x-pack/plugin/ccr/qa/rest/build.gradle +++ b/x-pack/plugin/ccr/qa/rest/build.gradle @@ -33,4 +33,4 @@ restTestCluster { } check.dependsOn restTest -test.enabled = false +unitTest.enabled = false diff --git a/x-pack/plugin/core/build.gradle b/x-pack/plugin/core/build.gradle index b68fbc1f8c5a7..817d994fa8bc0 100644 --- a/x-pack/plugin/core/build.gradle +++ b/x-pack/plugin/core/build.gradle @@ -101,7 +101,7 @@ sourceSets.test.java { srcDir '../../license-tools/src/main/java' } -test { +unitTest { /* * We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each * other if we allow them to set the number of available processors as it's set-once in Netty. diff --git a/x-pack/plugin/ilm/qa/build.gradle b/x-pack/plugin/ilm/qa/build.gradle index 74412a094b489..f2f60527ec4c1 100644 --- a/x-pack/plugin/ilm/qa/build.gradle +++ b/x-pack/plugin/ilm/qa/build.gradle @@ -1,7 +1,7 @@ import org.elasticsearch.gradle.test.RestIntegTestTask apply plugin: 'elasticsearch.build' -test.enabled = false +unitTest.enabled = false dependencies { compile project(':test:framework') diff --git a/x-pack/plugin/ilm/qa/rest/build.gradle b/x-pack/plugin/ilm/qa/rest/build.gradle index 0f1e277e70d26..ff9bf98bce5f5 100644 --- a/x-pack/plugin/ilm/qa/rest/build.gradle +++ b/x-pack/plugin/ilm/qa/rest/build.gradle @@ -42,4 +42,4 @@ restTestCluster { } check.dependsOn restTest -test.enabled = false +unitTest.enabled = false diff --git a/x-pack/plugin/ml/build.gradle b/x-pack/plugin/ml/build.gradle index ab95b02ffdbc8..9c90905d46863 100644 --- a/x-pack/plugin/ml/build.gradle +++ b/x-pack/plugin/ml/build.gradle @@ -97,7 +97,7 @@ integTest.enabled = false task internalClusterTest(type: RandomizedTestingTask, group: JavaBasePlugin.VERIFICATION_GROUP, description: 'Multi-node tests', - dependsOn: test.dependsOn) { + dependsOn: unitTest.dependsOn) { include '**/*IT.class' systemProperty 'es.set.netty.runtime.available.processors', 'false' } diff --git a/x-pack/plugin/monitoring/build.gradle b/x-pack/plugin/monitoring/build.gradle index 08a73d1fa01b8..94ce9baa2ed3b 100644 --- a/x-pack/plugin/monitoring/build.gradle +++ b/x-pack/plugin/monitoring/build.gradle @@ -59,7 +59,7 @@ integTest.enabled = false task internalClusterTest(type: RandomizedTestingTask, group: JavaBasePlugin.VERIFICATION_GROUP, description: 'Multi-node tests', - dependsOn: test.dependsOn) { + dependsOn: unitTest.dependsOn) { include '**/*IT.class' systemProperty 'es.set.netty.runtime.available.processors', 'false' } diff --git a/x-pack/plugin/security/build.gradle b/x-pack/plugin/security/build.gradle index d935a31b1a501..740cb7f3c3a56 100644 --- a/x-pack/plugin/security/build.gradle +++ b/x-pack/plugin/security/build.gradle @@ -281,7 +281,7 @@ run { plugin xpackModule('core') } -test { +unitTest { /* * We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each * other if we allow them to set the number of available processors as it's set-once in Netty. diff --git a/x-pack/plugin/security/cli/build.gradle b/x-pack/plugin/security/cli/build.gradle index 9c76f1758a363..772fed9b2b920 100644 --- a/x-pack/plugin/security/cli/build.gradle +++ b/x-pack/plugin/security/cli/build.gradle @@ -23,7 +23,7 @@ dependencyLicenses { } if (project.inFipsJvm) { - test.enabled = false + tesunitTestt.enabled = false // Forbiden APIs non-portable checks fail because bouncy castle classes being used from the FIPS JDK since those are // not part of the Java specification - all of this is as designed, so we have to relax this check for FIPS. tasks.withType(CheckForbiddenApis) { diff --git a/x-pack/plugin/sql/jdbc/build.gradle b/x-pack/plugin/sql/jdbc/build.gradle index 19c16e553d8fa..a077b4ac7ba10 100644 --- a/x-pack/plugin/sql/jdbc/build.gradle +++ b/x-pack/plugin/sql/jdbc/build.gradle @@ -36,7 +36,7 @@ dependencyLicenses { ignoreSha 'elasticsearch' } -test { +unitTest { // don't use the shaded jar for tests classpath += project.tasks.compileJava.outputs.files classpath -= project.tasks.shadowJar.outputs.files diff --git a/x-pack/plugin/sql/qa/build.gradle b/x-pack/plugin/sql/qa/build.gradle index 6b55b6363f2ca..8b27119cc7e4e 100644 --- a/x-pack/plugin/sql/qa/build.gradle +++ b/x-pack/plugin/sql/qa/build.gradle @@ -21,7 +21,7 @@ dependencies { /* disable unit tests because these are all integration tests used * other qa projects. */ -test.enabled = false +unitTest.enabled = false dependencyLicenses.enabled = false dependenciesInfo.enabled = false diff --git a/x-pack/plugin/sql/sql-cli/build.gradle b/x-pack/plugin/sql/sql-cli/build.gradle index 49f2dcef3d95c..b10af3f20098f 100644 --- a/x-pack/plugin/sql/sql-cli/build.gradle +++ b/x-pack/plugin/sql/sql-cli/build.gradle @@ -131,7 +131,7 @@ task runcli { } // Use the jar for testing so we can get the proper version information -test { +unitTest { classpath -= compileJava.outputs.files classpath -= configurations.compile classpath -= configurations.runtime diff --git a/x-pack/plugin/upgrade/build.gradle b/x-pack/plugin/upgrade/build.gradle index 4ee315af9107d..91f3f78a74cbf 100644 --- a/x-pack/plugin/upgrade/build.gradle +++ b/x-pack/plugin/upgrade/build.gradle @@ -32,7 +32,7 @@ integTest.enabled = false task internalClusterTest(type: RandomizedTestingTask, group: JavaBasePlugin.VERIFICATION_GROUP, description: 'Multi-node tests', - dependsOn: test.dependsOn) { + dependsOn: unitTest.dependsOn) { include '**/*IT.class' systemProperty 'es.set.netty.runtime.available.processors', 'false' } diff --git a/x-pack/plugin/watcher/build.gradle b/x-pack/plugin/watcher/build.gradle index 6f3497df8fcb2..3d764e5db3e36 100644 --- a/x-pack/plugin/watcher/build.gradle +++ b/x-pack/plugin/watcher/build.gradle @@ -103,7 +103,7 @@ run { plugin xpackModule('core') } -test { +unitTest { /* * We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each * other if we allow them to set the number of available processors as it's set-once in Netty. diff --git a/x-pack/qa/evil-tests/build.gradle b/x-pack/qa/evil-tests/build.gradle index d411909fb310b..ad32645b3647c 100644 --- a/x-pack/qa/evil-tests/build.gradle +++ b/x-pack/qa/evil-tests/build.gradle @@ -5,7 +5,7 @@ dependencies { testCompile project(path: xpackModule('security'), configuration: 'testArtifacts') } -test { +unitTest { systemProperty 'tests.security.manager', 'false' include '**/*Tests.class' } diff --git a/x-pack/qa/full-cluster-restart/build.gradle b/x-pack/qa/full-cluster-restart/build.gradle index 9504f527cdd63..f9327d7d4641e 100644 --- a/x-pack/qa/full-cluster-restart/build.gradle +++ b/x-pack/qa/full-cluster-restart/build.gradle @@ -8,7 +8,7 @@ import java.util.regex.Matcher // Apply the java plugin to this project so the sources can be edited in an IDE apply plugin: 'elasticsearch.build' -test.enabled = false +unitTest.enabled = false dependencies { // "org.elasticsearch.plugin:x-pack-core:${version}" doesn't work with idea because the testArtifacts are also here @@ -236,8 +236,8 @@ subprojects { bwcTest.dependsOn(versionBwcTest) } } - - test.enabled = false // no unit tests for full cluster restarts, only the rest integration test + + unitTest.enabled = false // no unit tests for full cluster restarts, only the rest integration test // basic integ tests includes testing bwc against the most recent version task integTest { diff --git a/x-pack/qa/multi-cluster-search-security/build.gradle b/x-pack/qa/multi-cluster-search-security/build.gradle index c31b2c0ad1d5e..63265b6949f1e 100644 --- a/x-pack/qa/multi-cluster-search-security/build.gradle +++ b/x-pack/qa/multi-cluster-search-security/build.gradle @@ -75,5 +75,5 @@ task integTest { dependsOn = [mixedClusterTest] } -test.enabled = false // no unit tests for multi-cluster-search, only the rest integration test +unitTest.enabled = false // no unit tests for multi-cluster-search, only the rest integration test check.dependsOn(integTest) diff --git a/x-pack/qa/openldap-tests/build.gradle b/x-pack/qa/openldap-tests/build.gradle index 9e4c7ec2cebfe..8c87f7e616400 100644 --- a/x-pack/qa/openldap-tests/build.gradle +++ b/x-pack/qa/openldap-tests/build.gradle @@ -23,10 +23,10 @@ task copyIdpTrust(type: Copy) { } if (project.rootProject.vagrantSupported) { project.sourceSets.test.output.dir(outputDir, builtBy: copyIdpTrust) - test.dependsOn openLdapFixture - test.finalizedBy idpFixtureProject.halt + unitTest.dependsOn openLdapFixture + unitTest.finalizedBy idpFixtureProject.halt } else { - test.enabled = false + unitTest.enabled = false testingConventions.enabled = false } diff --git a/x-pack/qa/rolling-upgrade-basic/build.gradle b/x-pack/qa/rolling-upgrade-basic/build.gradle index da070850864f5..50aa4ee974789 100644 --- a/x-pack/qa/rolling-upgrade-basic/build.gradle +++ b/x-pack/qa/rolling-upgrade-basic/build.gradle @@ -121,7 +121,7 @@ for (Version version : bwcVersions.wireCompatible) { } } -test.enabled = false // no unit tests for rolling upgrades, only the rest integration test +unitTest.enabled = false // no unit tests for rolling upgrades, only the rest integration test // basic integ tests includes testing bwc against the most recent version task integTest { diff --git a/x-pack/qa/rolling-upgrade/build.gradle b/x-pack/qa/rolling-upgrade/build.gradle index 8a3a322efcc90..a158ba8a03bad 100644 --- a/x-pack/qa/rolling-upgrade/build.gradle +++ b/x-pack/qa/rolling-upgrade/build.gradle @@ -7,7 +7,7 @@ import java.util.regex.Matcher // Apply the java plugin to this project so the sources can be edited in an IDE apply plugin: 'elasticsearch.build' -test.enabled = false +unitTest.enabled = false dependencies { // "org.elasticsearch.plugin:x-pack-core:${version}" doesn't work with idea because the testArtifacts are also here @@ -288,7 +288,7 @@ subprojects { } } - test.enabled = false // no unit tests for rolling upgrades, only the rest integration test + unitTest.enabled = false // no unit tests for rolling upgrades, only the rest integration test // basic integ tests includes testing bwc against the most recent version task integTest { diff --git a/x-pack/qa/third-party/active-directory/build.gradle b/x-pack/qa/third-party/active-directory/build.gradle index 6ce8541fc431f..e33c0fa6d69f8 100644 --- a/x-pack/qa/third-party/active-directory/build.gradle +++ b/x-pack/qa/third-party/active-directory/build.gradle @@ -19,7 +19,7 @@ forbiddenPatterns { exclude '**/*.der' } -test { +unitTest { /* * We have to disable setting the number of available processors as tests in the same JVM randomize processors and will step on each * other if we allow them to set the number of available processors as it's set-once in Netty. diff --git a/x-pack/test/idp-fixture/build.gradle b/x-pack/test/idp-fixture/build.gradle index 305b1914a1b4d..e7fbfc3779ae4 100644 --- a/x-pack/test/idp-fixture/build.gradle +++ b/x-pack/test/idp-fixture/build.gradle @@ -38,5 +38,5 @@ task destroy(type: org.elasticsearch.gradle.vagrant.VagrantCommandTask) { } thirdPartyAudit.enabled = false -test.enabled = false +unitTest.enabled = false jarHell.enabled = false From 325c034cbaed16ddf8c827c0175e342a453a3c8e Mon Sep 17 00:00:00 2001 From: Alpar Torok Date: Thu, 6 Dec 2018 14:35:31 +0200 Subject: [PATCH 2/5] Don't remove task dependency --- .../carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy | 2 +- .../src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy | 1 - distribution/bwc/build.gradle | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy index c720caffdf8de..12a58e248745b 100644 --- a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy +++ b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy @@ -47,7 +47,7 @@ class RandomizedTestingPlugin implements Plugin { unitTest.include("**/*Tests.class") tasks.matching { it.name == "test" }.all { // We don't want to run any tests with the Gradle test runner since we add our own randomized runner - it.exclude "**/*" + it.enabled = false it.dependsOn unitTest } } diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy index 39a658e9b1756..449c5b37715d2 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy @@ -772,7 +772,6 @@ class BuildPlugin implements Plugin { static void applyCommonTestConfig(Project project) { project.tasks.withType(RandomizedTestingTask) {task -> - jvm "${project.runtimeJavaHome}/bin/java" parallelism System.getProperty('tests.jvms', project.rootProject.ext.defaultParallel) ifNoTests System.getProperty('tests.ifNoTests', 'fail') diff --git a/distribution/bwc/build.gradle b/distribution/bwc/build.gradle index 957fc03532af9..ec7d84d7a3084 100644 --- a/distribution/bwc/build.gradle +++ b/distribution/bwc/build.gradle @@ -39,7 +39,6 @@ bwcVersions.forPreviousUnreleased { VersionCollection.UnreleasedVersionInfo unre apply plugin: 'distribution' // Not published so no need to assemble assemble.enabled = false - assemble.dependsOn.remove('buildBwcVersion') File checkoutDir = file("${buildDir}/bwc/checkout-${bwcBranch}") From a08a1262dd116df14c84304bd7bb61e85205dc65 Mon Sep 17 00:00:00 2001 From: Alpar Torok Date: Thu, 6 Dec 2018 16:26:09 +0200 Subject: [PATCH 3/5] Don't configure an include rule on unitTest --- .../carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy | 1 - 1 file changed, 1 deletion(-) diff --git a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy index 12a58e248745b..bf23b94640576 100644 --- a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy +++ b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy @@ -44,7 +44,6 @@ class RandomizedTestingPlugin implements Plugin { static void createUnitTestTask(TaskContainer tasks) { RandomizedTestingTask unitTest = tasks.create('unitTest', RandomizedTestingTask) unitTest.description = 'Runs unit tests with the randomized testing framework' - unitTest.include("**/*Tests.class") tasks.matching { it.name == "test" }.all { // We don't want to run any tests with the Gradle test runner since we add our own randomized runner it.enabled = false From 446ebf46ec4ed2db4ed78f27dc580d5ef399aa99 Mon Sep 17 00:00:00 2001 From: Alpar Torok Date: Thu, 6 Dec 2018 16:44:07 +0200 Subject: [PATCH 4/5] Only create a unitTest task for project that have test --- .../gradle/junit4/RandomizedTestingPlugin.groovy | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy index bf23b94640576..6e1202c12d944 100644 --- a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy +++ b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy @@ -42,11 +42,13 @@ class RandomizedTestingPlugin implements Plugin { } static void createUnitTestTask(TaskContainer tasks) { - RandomizedTestingTask unitTest = tasks.create('unitTest', RandomizedTestingTask) - unitTest.description = 'Runs unit tests with the randomized testing framework' + // only create a unitTest task if the `test` task exists as some project don't make use of it. tasks.matching { it.name == "test" }.all { // We don't want to run any tests with the Gradle test runner since we add our own randomized runner it.enabled = false + RandomizedTestingTask unitTest = tasks.create('unitTest', RandomizedTestingTask) + unitTest.description = 'Runs unit tests with the randomized testing framework' + unitTest.include("**/*Tests.class") it.dependsOn unitTest } } From b89b2cea3d3f459487ad8847b064ede0adb12629 Mon Sep 17 00:00:00 2001 From: Alpar Torok Date: Tue, 18 Dec 2018 15:10:07 +0200 Subject: [PATCH 5/5] PR review --- .../carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy | 1 - .../main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy index 6e1202c12d944..3b0348b48990d 100644 --- a/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy +++ b/buildSrc/src/main/groovy/com/carrotsearch/gradle/junit4/RandomizedTestingPlugin.groovy @@ -48,7 +48,6 @@ class RandomizedTestingPlugin implements Plugin { it.enabled = false RandomizedTestingTask unitTest = tasks.create('unitTest', RandomizedTestingTask) unitTest.description = 'Runs unit tests with the randomized testing framework' - unitTest.include("**/*Tests.class") it.dependsOn unitTest } } diff --git a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy index d37a3ef89b6db..559055eba278e 100644 --- a/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy +++ b/buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy @@ -882,6 +882,9 @@ class BuildPlugin implements Plugin { task.shouldRunAfter testTask } } + if (name == "unitTest") { + include("**/*Tests.class") + } // TODO: why are we not passing maxmemory to junit4? jvmArg '-Xmx' + System.getProperty('tests.heap.size', '512m')