From fb43eb5b5d58439b29ba4dd04b9f5ebdd7b72699 Mon Sep 17 00:00:00 2001 From: jean-philippe bempel Date: Wed, 1 Oct 2025 14:32:45 +0200 Subject: [PATCH] Fix Kotlin unit test running on JDK 25 upgraded the Kotlin compiler version to 2.1.21 --- dd-java-agent/agent-debugger/build.gradle | 2 +- .../datadog/debugger/agent/CapturedSnapshotTest.java | 12 +++++------- .../datadog/debugger/agent/CapturingTestBase.java | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/dd-java-agent/agent-debugger/build.gradle b/dd-java-agent/agent-debugger/build.gradle index ff05be0dd33..fd7ff952364 100644 --- a/dd-java-agent/agent-debugger/build.gradle +++ b/dd-java-agent/agent-debugger/build.gradle @@ -54,7 +54,7 @@ dependencies { testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.3.5.RELEASE' testImplementation group: 'org.freemarker', name: 'freemarker', version: '2.3.30' testImplementation group: 'org.jooq', name: 'joor-java-8', version: '0.9.13' - testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-compiler-embeddable', version: "1.9.25" + testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-compiler-embeddable', version: "2.1.21" testImplementation group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: "1.0.0" testImplementation project(':dd-trace-core') testImplementation project(':dd-java-agent:agent-builder') diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java index f9b022f0c44..705f55ea5fa 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturedSnapshotTest.java @@ -76,6 +76,7 @@ import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; +import org.jetbrains.kotlin.com.intellij.util.lang.JavaVersion; import org.joor.Reflect; import org.joor.ReflectException; import org.junit.jupiter.api.Assertions; @@ -83,7 +84,6 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.condition.DisabledIf; import org.junit.jupiter.api.condition.EnabledForJreRange; -import org.junit.jupiter.api.condition.EnabledOnJre; import org.junit.jupiter.api.condition.JRE; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; @@ -639,11 +639,12 @@ public void sourceFileProbeGroovy() throws IOException, URISyntaxException { } @Test - @EnabledForJreRange(max = JRE.JAVA_24) @DisabledIf( value = "datadog.environment.JavaVirtualMachine#isJ9", disabledReason = "Issue with J9 when compiling Kotlin code") public void sourceFileProbeKotlin() throws IOException, URISyntaxException { + System.out.println(JavaVersion.class.getProtectionDomain().getCodeSource().getLocation()); + System.out.println("Java version:" + JavaVersion.current().feature); final String CLASS_NAME = "CapturedSnapshot301"; int line = getLineForLineProbe(CLASS_NAME, KOTLIN_EXT, LINE_PROBE_ID1); TestSnapshotListener listener = @@ -670,7 +671,6 @@ public void sourceFileProbeKotlin() throws IOException, URISyntaxException { } @Test - @EnabledForJreRange(max = JRE.JAVA_24) @DisabledIf( value = "datadog.environment.JavaVirtualMachine#isJ9", disabledReason = "Issue with J9 when compiling Kotlin code") @@ -698,7 +698,6 @@ public void suspendKotlin() throws IOException, URISyntaxException { } @Test - @EnabledForJreRange(max = JRE.JAVA_24) @DisabledIf( value = "datadog.environment.JavaVirtualMachine#isJ9", disabledReason = "Issue with J9 when compiling Kotlin code") @@ -732,7 +731,6 @@ public void suspendMethodKotlin() { } @Test - @EnabledForJreRange(max = JRE.JAVA_24) @DisabledIf( value = "datadog.environment.JavaVirtualMachine#isJ9", disabledReason = "Issue with J9 when compiling Kotlin code") @@ -2583,7 +2581,7 @@ private void doSamplingTest(TestMethod testRun, int expectedGlobalCount, int exp } @Test - @EnabledOnJre({JRE.JAVA_17, JRE.JAVA_21}) + @EnabledForJreRange(min = JRE.JAVA_17) public void record() throws IOException, URISyntaxException { final String CLASS_NAME = "com.datadog.debugger.CapturedSnapshot29"; final String RECORD_NAME = "com.datadog.debugger.MyRecord1"; @@ -2603,7 +2601,7 @@ public void record() throws IOException, URISyntaxException { } @Test - @EnabledOnJre({JRE.JAVA_17, JRE.JAVA_21}) + @EnabledForJreRange(min = JRE.JAVA_17) public void lineRecord() throws IOException, URISyntaxException { final String CLASS_NAME = "com.datadog.debugger.CapturedSnapshot29"; final String RECORD_NAME = "com.datadog.debugger.MyRecord2"; diff --git a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturingTestBase.java b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturingTestBase.java index d2f1c36073e..3a05d80656b 100644 --- a/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturingTestBase.java +++ b/dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/agent/CapturingTestBase.java @@ -437,7 +437,7 @@ public static Class compileAndLoad( args.setDestination(compilerOutputDir); args.setClasspath(System.getProperty("java.class.path")); ExitCode exitCode = - compiler.execImpl( + compiler.exec( new PrintingMessageCollector(System.out, MessageRenderer.WITHOUT_PATHS, true), Services.EMPTY, args);