From ae6e3853a936e91a86d3f14a1845804878c4a6e1 Mon Sep 17 00:00:00 2001 From: Nikita Tkachenko Date: Mon, 7 Jul 2025 14:15:05 +0200 Subject: [PATCH] Fix Test Optimization to work with JDK 24 --- .../smoketest/AbstractGradleTest.groovy | 35 ++++++++++--------- .../smoketest/GradleDaemonSmokeTest.groovy | 3 -- .../datadog/smoketest/MavenSmokeTest.groovy | 5 --- .../events.ftl | 10 +++--- .../pom.xml | 2 +- .../datadog/trace/api/ConfigDefaults.java | 4 +-- 6 files changed, 26 insertions(+), 33 deletions(-) diff --git a/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy b/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy index 91837011645..68c3864efa1 100644 --- a/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy +++ b/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode import com.fasterxml.jackson.databind.ObjectMapper import datadog.environment.JavaVirtualMachine import datadog.trace.civisibility.CiVisibilitySmokeTest +import datadog.trace.util.ComparableVersion import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response @@ -84,42 +85,42 @@ class AbstractGradleTest extends CiVisibilitySmokeTest { } protected void givenGradleVersionIsCompatibleWithCurrentJvm(String gradleVersion) { - Assumptions.assumeTrue(isSupported(gradleVersion), + Assumptions.assumeTrue(isSupported(new ComparableVersion(gradleVersion)), "Current JVM " + Jvm.current.javaVersion + " does not support Gradle version " + gradleVersion) } - private static boolean isSupported(String gradleVersion) { + private static boolean isSupported(ComparableVersion gradleVersion) { // https://docs.gradle.org/current/userguide/compatibility.html if (Jvm.current.isJavaVersionCompatible(24)) { - return gradleVersion >= "8.14" + return gradleVersion.compareTo(new ComparableVersion("8.14")) >= 0 } else if (Jvm.current.java21Compatible) { - return gradleVersion >= "8.4" + return gradleVersion.compareTo(new ComparableVersion("8.4")) >= 0 } else if (Jvm.current.java20) { - return gradleVersion >= "8.1" + return gradleVersion.compareTo(new ComparableVersion("8.1")) >= 0 } else if (Jvm.current.java19) { - return gradleVersion >= "7.6" + return gradleVersion.compareTo(new ComparableVersion("7.6")) >= 0 } else if (Jvm.current.java18) { - return gradleVersion >= "7.5" + return gradleVersion.compareTo(new ComparableVersion("7.5")) >= 0 } else if (Jvm.current.java17) { - return gradleVersion >= "7.3" + return gradleVersion.compareTo(new ComparableVersion("7.3")) >= 0 } else if (Jvm.current.java16) { - return gradleVersion >= "7.0" + return gradleVersion.compareTo(new ComparableVersion("7.0")) >= 0 } else if (Jvm.current.java15) { - return gradleVersion >= "6.7" + return gradleVersion.compareTo(new ComparableVersion("6.7")) >= 0 } else if (Jvm.current.java14) { - return gradleVersion >= "6.3" + return gradleVersion.compareTo(new ComparableVersion("6.3")) >= 0 } else if (Jvm.current.java13) { - return gradleVersion >= "6.0" + return gradleVersion.compareTo(new ComparableVersion("6.0")) >= 0 } else if (Jvm.current.java12) { - return gradleVersion >= "5.4" + return gradleVersion.compareTo(new ComparableVersion("5.4")) >= 0 } else if (Jvm.current.java11) { - return gradleVersion >= "5.0" + return gradleVersion.compareTo(new ComparableVersion("5.0")) >= 0 } else if (Jvm.current.java10) { - return gradleVersion >= "4.7" + return gradleVersion.compareTo(new ComparableVersion("4.7")) >= 0 } else if (Jvm.current.java9) { - return gradleVersion >= "4.3" + return gradleVersion.compareTo(new ComparableVersion("4.3")) >= 0 } else if (Jvm.current.java8) { - return gradleVersion >= "2.0" + return gradleVersion.compareTo(new ComparableVersion("2.0")) >= 0 } return false } diff --git a/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleDaemonSmokeTest.groovy b/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleDaemonSmokeTest.groovy index 73281459792..0a3d397ef95 100644 --- a/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleDaemonSmokeTest.groovy +++ b/dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleDaemonSmokeTest.groovy @@ -60,9 +60,6 @@ class GradleDaemonSmokeTest extends AbstractGradleTest { "7.6.4" | "test-corrupted-config-legacy-instrumentation" | false | 1 | 0 } - @IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = { - JavaVirtualMachine.isJavaVersionAtLeast(24) - }) def "test #projectName, v#gradleVersion, configCache: #configurationCache"() { runGradleTest(gradleVersion, projectName, configurationCache, successExpected, flakyRetries, expectedTraces, expectedCoverages) diff --git a/dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy b/dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy index 573ab2a5346..52100d79e98 100644 --- a/dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy +++ b/dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy @@ -1,6 +1,5 @@ package datadog.smoketest -import datadog.environment.JavaVirtualMachine import datadog.trace.api.Config import datadog.trace.api.civisibility.CIConstants import datadog.trace.api.config.CiVisibilityConfig @@ -27,14 +26,10 @@ import org.slf4j.LoggerFactory import org.w3c.dom.Document import org.w3c.dom.NodeList import spock.lang.AutoCleanup -import spock.lang.IgnoreIf import spock.lang.Shared import spock.lang.TempDir import spock.util.environment.Jvm -@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = { - JavaVirtualMachine.isJavaVersionAtLeast(24) -}) class MavenSmokeTest extends CiVisibilitySmokeTest { private static final Logger LOGGER = LoggerFactory.getLogger(MavenSmokeTest.class) diff --git a/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/events.ftl b/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/events.ftl index 6ee43069896..58b02eabed4 100644 --- a/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/events.ftl +++ b/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/events.ftl @@ -22,7 +22,7 @@ "test.code_coverage.enabled" : "true", "test.command" : "mvn -B test", "test.framework" : "spock", - "test.framework_version" : "2.4.0-M2-groovy-4.0", + "test.framework_version" : "2.4.0-M6-groovy-4.0", "test.status" : "pass", "test.toolchain" : ${content_meta_test_toolchain}, "test.type" : "test", @@ -66,7 +66,7 @@ "test.command" : "mvn -B test", "test.execution" : "maven-surefire-plugin:test:default-test", "test.framework" : "spock", - "test.framework_version" : "2.4.0-M2-groovy-4.0", + "test.framework_version" : "2.4.0-M6-groovy-4.0", "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", "test.status" : "pass", "test.type" : "test", @@ -298,7 +298,7 @@ "runtime.version" : ${content_meta_runtime_version}, "span.kind" : "test_suite_end", "test.framework" : "spock", - "test.framework_version" : "2.4.0-M2-groovy-4.0", + "test.framework_version" : "2.4.0-M6-groovy-4.0", "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", "test.status" : "pass", "test.suite" : "test_successful_maven_run_junit_platform_runner.src.test.groovy.SampleSpockTest", @@ -350,7 +350,7 @@ "runtime.version" : ${content_meta_runtime_version}, "span.kind" : "test", "test.framework" : "spock", - "test.framework_version" : "2.4.0-M2-groovy-4.0", + "test.framework_version" : "2.4.0-M6-groovy-4.0", "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", "test.name" : "test should pass", "test.source.method" : "test should pass()V", @@ -378,4 +378,4 @@ }, "type" : "test", "version" : 2 -} ] \ No newline at end of file +} ] diff --git a/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/pom.xml b/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/pom.xml index 3ecda3ba7d3..ea99f3c0dde 100644 --- a/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/pom.xml +++ b/dd-smoke-tests/maven/src/test/resources/test_successful_maven_run_junit_platform_runner/pom.xml @@ -50,7 +50,7 @@ org.spockframework spock-bom - 2.4-M2-groovy-4.0 + 2.4-M6-groovy-4.0 pom import diff --git a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java index a6d5888e76f..b760641c70e 100644 --- a/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java +++ b/dd-trace-api/src/main/java/datadog/trace/api/ConfigDefaults.java @@ -160,8 +160,8 @@ public final class ConfigDefaults { static final boolean DEFAULT_CIVISIBILITY_BUILD_INSTRUMENTATION_ENABLED = true; static final boolean DEFAULT_CIVISIBILITY_AUTO_CONFIGURATION_ENABLED = true; static final boolean DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_AUTO_CONFIGURATION_ENABLED = true; - static final String DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_VERSION = "0.2.2"; - static final String DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_VERSION = "0.8.12"; + static final String DEFAULT_CIVISIBILITY_COMPILER_PLUGIN_VERSION = "0.2.4"; + static final String DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_VERSION = "0.8.13"; static final String DEFAULT_CIVISIBILITY_JACOCO_PLUGIN_EXCLUDES = "datadog.trace.*:org.apache.commons.*:org.mockito.*"; static final boolean DEFAULT_CIVISIBILITY_GIT_UPLOAD_ENABLED = true;