Skip to content

Commit 5cf9ac4

Browse files
committed
Rework internalClusterTest to be use test suites
1 parent 33dcc92 commit 5cf9ac4

File tree

3 files changed

+23
-17
lines changed

3 files changed

+23
-17
lines changed

build-tools-internal/src/main/java/org/elasticsearch/gradle/internal/test/InternalClusterTestPlugin.java

+15-17
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@
1111

1212
import org.elasticsearch.gradle.internal.info.GlobalBuildInfoPlugin;
1313
import org.elasticsearch.gradle.util.GradleUtils;
14-
import org.gradle.api.JavaVersion;
1514
import org.gradle.api.Plugin;
1615
import org.gradle.api.Project;
16+
import org.gradle.api.plugins.JavaPlugin;
17+
import org.gradle.api.plugins.JvmTestSuitePlugin;
18+
import org.gradle.api.plugins.jvm.JvmTestSuite;
1719
import org.gradle.api.tasks.SourceSet;
18-
import org.gradle.api.tasks.TaskProvider;
19-
import org.gradle.api.tasks.testing.Test;
20-
21-
import static org.elasticsearch.gradle.internal.util.ParamsUtils.loadBuildParams;
20+
import org.gradle.testing.base.TestingExtension;
2221

2322
public class InternalClusterTestPlugin implements Plugin<Project> {
2423

@@ -27,19 +26,18 @@ public class InternalClusterTestPlugin implements Plugin<Project> {
2726
@Override
2827
public void apply(Project project) {
2928
project.getRootProject().getPlugins().apply(GlobalBuildInfoPlugin.class);
30-
var buildParams = loadBuildParams(project).get();
31-
32-
TaskProvider<Test> internalClusterTest = GradleUtils.addTestSourceSet(project, SOURCE_SET_NAME);
33-
internalClusterTest.configure(task -> {
34-
// Set GC options to mirror defaults in jvm.options
35-
if (buildParams.getRuntimeJavaVersion().get().compareTo(JavaVersion.VERSION_14) < 0) {
36-
task.jvmArgs("-XX:+UseConcMarkSweepGC", "-XX:CMSInitiatingOccupancyFraction=75", "-XX:+UseCMSInitiatingOccupancyOnly");
37-
} else {
38-
task.jvmArgs("-XX:+UseG1GC");
39-
}
29+
project.getPluginManager().apply(JavaPlugin.class);
30+
project.getPluginManager().apply(JvmTestSuitePlugin.class);
31+
TestingExtension testing = project.getExtensions().getByType(TestingExtension.class);
32+
testing.getSuites().register(SOURCE_SET_NAME, JvmTestSuite.class, suite -> {
33+
suite.useJUnit();
34+
suite.getDependencies().getImplementation().add(suite.getDependencies().project());
35+
suite.getTargets().all(target -> { target.getTestTask().configure(test -> { test.jvmArgs("-XX:+UseG1GC"); }); });
4036
});
4137

42-
// TODO: fix usages of IT tests depending on Tests methods so this extension is not necessary
43-
GradleUtils.extendSourceSet(project, SourceSet.TEST_SOURCE_SET_NAME, SOURCE_SET_NAME);
38+
project.getPluginManager().withPlugin("java", plugin -> {
39+
// TODO: fix usages of IT tests depending on Tests methods so this extension is not necessary
40+
GradleUtils.extendSourceSet(project, SourceSet.TEST_SOURCE_SET_NAME, SOURCE_SET_NAME);
41+
});
4442
}
4543
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.elasticsearch.gradle.internal.test.rest;
2+
3+
public class DefaultElasticsearchRestTestSuite {
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.elasticsearch.gradle.internal.test.rest;
2+
3+
public interface ElasticsearchRestTestSuite {
4+
}

0 commit comments

Comments
 (0)