Skip to content

Commit 8c372e3

Browse files
authored
Add testing for latest stable version (JDK 24) (#8875)
* Add stable image * Adjust matcher * Add smoke test gradle compatibility for java 24 * Get latest java home version for stable image * Fix latest version finding logic * Skip security manager tests for JDK 24+ * Add JDK 24 to setup instructions * Comment out QueueTimingForkedTest for now due to mysterious behavior * Fix QueueTimingForkedTest for JDK 24 * Update vertx-pg-client version * Instead skip vertx-pg-client-4.0 entirely for JDK 22+ * Skip WildFlyForkedTest * Ignore karate tests for Java 24 until fix is found * Fix comment * Upgrade groovy version for log injection smoke tests * Skip failing smoke tests for Java 24 until we have a fix * Address review comments * Improve comment for groovy upgrade
1 parent cb3d992 commit 8c372e3

File tree

19 files changed

+115
-22
lines changed

19 files changed

+115
-22
lines changed

.gitlab-ci.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ variables:
3030
GRADLE_PLUGIN_PROXY: "http://artifactual.artifactual.all-clusters.local-dc.fabric.dog:8081/repository/gradle-plugin-portal-proxy/"
3131
BUILDER_IMAGE_VERSION_PREFIX: "v25.06-" # use either an empty string (e.g. "") for latest images or a version followed by a hyphen (e.g. "v25.05-")
3232
REPO_NOTIFICATION_CHANNEL: "#apm-java-escalations"
33-
DEFAULT_TEST_JVMS: /^(8|11|17|21)$/
33+
DEFAULT_TEST_JVMS: /^(8|11|17|21|stable)$/
3434
PROFILE_TESTS:
3535
description: "Enable profiling of tests"
3636
value: "false"
@@ -63,6 +63,7 @@ workflow:
6363
- "11"
6464
- "17"
6565
- "21"
66+
- "stable"
6667
- "semeru11"
6768
- "oracle8"
6869
- "zulu8"
@@ -560,7 +561,7 @@ test_inst_latest:
560561
CACHE_TYPE: "latestDep"
561562
parallel:
562563
matrix:
563-
- testJvm: ["8", "17", "21" ]
564+
- testJvm: ["8", "17", "21", "stable"]
564565
# Gitlab doesn't support "parallel" and "parallel:matrix" at the same time
565566
# This emulates "parallel" by including it in the matrix
566567
CI_SPLIT: [ "1/6", "2/6", "3/6", "4/6", "5/6", "6/6"]
@@ -612,7 +613,7 @@ test_debugger:
612613
variables:
613614
GRADLE_TARGET: ":debuggerTest"
614615
CACHE_TYPE: "base"
615-
DEFAULT_TEST_JVMS: /^(8|11|17|21|semeru8)$/
616+
DEFAULT_TEST_JVMS: /^(8|11|17|21|stable|semeru8)$/
616617
parallel:
617618
matrix: *test_matrix
618619

BUILDING.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,14 @@ or on Windows:
2828
Your output should look something like the following:
2929

3030
```
31-
ℹ️ Checking required JVM:
32-
✅ JAVA_HOME is set to /Users/datadog/.sdkman/candidates/java/8.0.402-zulu.
33-
✅ JAVA_8_HOME is set to /Users/datadog/.sdkman/candidates/java/8.0.402-zulu.
34-
✅ JAVA_11_HOME is set to /Users/datadog/.sdkman/candidates/java/11.0.22-zulu.
35-
✅ JAVA_17_HOME is set to /Users/datadog/.sdkman/candidates/java/17.0.10-zulu.
36-
✅ JAVA_21_HOME is set to /Users/datadog/.sdkman/candidates/java/21.0.2-zulu.
37-
✅ JAVA_GRAALVM17_HOME is set to /Users/datadog/.sdkman/candidates/java/17.0.9-graalce.
31+
ℹ️ Checking required JVMs:
32+
✅ JAVA_HOME is set to /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home.
33+
✅ JAVA_8_HOME is set to /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home.
34+
✅ JAVA_11_HOME is set to /Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home.
35+
✅ JAVA_17_HOME is set to /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home.
36+
✅ JAVA_21_HOME is set to /Library/Java/JavaVirtualMachines/zulu-21.jdk/Contents/Home.
37+
✅ JAVA_24_HOME is set to /Library/Java/JavaVirtualMachines/zulu-24.jdk/Contents/Home.
38+
✅ JAVA_GRAALVM17_HOME is set to /Library/Java/JavaVirtualMachines/graalvm-ce-java17-22.3.1/Contents/Home.
3839
ℹ️ Checking git configuration:
3940
✅ The git command line is installed.
4041
✅ pre-commit hook is installed in repository.
@@ -51,22 +52,22 @@ If there is any issue with your output, check the requirements above and use the
5152

5253
Requirements to build the full project:
5354

54-
* The JDK versions 8, 11, 17 and 21 must be installed.
55-
* The `JAVA_8_HOME`, `JAVA_11_HOME`, `JAVA_17_HOME`, `JAVA_21_HOME`, and `JAVA_GRAALVM17_HOME` must point to their respective JDK location.
55+
* The JDK versions 8, 11, 17, 21, and 24 must be installed.
56+
* The `JAVA_8_HOME`, `JAVA_11_HOME`, `JAVA_17_HOME`, `JAVA_21_HOME`, `JAVA_24_HOME`, and `JAVA_GRAALVM17_HOME` must point to their respective JDK location.
5657
* The JDK 8 `bin` directory must be the only JDK on the PATH (e.g. `$JAVA_8_HOME/bin`).
5758
* The `JAVA_HOME` environment variable may be unset. If set, it must point to the JDK 8 location (same as `JAVA_8_HOME`).
5859
* The `git` command line must be installed.
5960
* A container runtime environment must be available to run all tests (e.g. Docker Desktop).
6061

6162
### Install the required JDKs
6263

63-
Download and install JDK versions 8, 11, 17 and 21, and GraalVM 17 for your OS.
64+
Download and install JDK versions 8, 11, 17, 21 and 24, and GraalVM 17 for your OS.
6465

6566
#### macOS
6667

6768
* Install the required JDKs using `brew`:
6869
```shell
69-
brew install --cask zulu@8 zulu@11 zulu@17 zulu@21 graalvm/tap/graalvm-ce-java17
70+
brew install --cask zulu@8 zulu@11 zulu@17 zulu@21 zulu graalvm/tap/graalvm-ce-java17
7071
```
7172
* Fix the GraalVM installation by [removing the quarantine flag](https://www.graalvm.org/latest/docs/getting-started/macos/):
7273
```
@@ -78,6 +79,7 @@ Download and install JDK versions 8, 11, 17 and 21, and GraalVM 17 for your OS.
7879
export JAVA_11_HOME=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
7980
export JAVA_17_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
8081
export JAVA_21_HOME=/Library/Java/JavaVirtualMachines/zulu-21.jdk/Contents/Home
82+
export JAVA_24_HOME=/Library/Java/JavaVirtualMachines/zulu-24.jdk/Contents/Home
8183
export JAVA_GRAALVM17_HOME=/Library/Java/JavaVirtualMachines/graalvm-<current version of graalvm>/Contents/Home
8284
export JAVA_HOME=$JAVA_8_HOME
8385
```
@@ -93,22 +95,23 @@ Download and install JDK versions 8, 11, 17 and 21, and GraalVM 17 for your OS.
9395
9496
#### Linux
9597

96-
* Download and extract JDK 8, 11, 17, and 21 from [Eclipse Temurin releases](https://adoptium.net/temurin/releases/) and GraalVM 17 from [Oracle downloads](https://www.graalvm.org/downloads/).
98+
* Download and extract JDK 8, 11, 17, 21, and 24 from [Eclipse Temurin releases](https://adoptium.net/temurin/releases/) and GraalVM 17 from [Oracle downloads](https://www.graalvm.org/downloads/).
9799
* Install the GraalVM native image requirements for native builds by following [the GraalVM official documentation](https://www.graalvm.org/latest/reference-manual/native-image/#prerequisites).
98100
* Add the required environment variables to your shell using the `export` command. You can permanently install the environment variables by appending the `export` commands into your shell configuration file `~/.zshrc` or `~/.bashrc` or other.
99101
```shell
100102
export JAVA_8_HOME=/<path to extracted archive>/jdk8u<current version of JDK 8>
101103
export JAVA_11_HOME=/<path to extracted archive>/jdk-11.<current version of JDK 11>
102104
export JAVA_17_HOME=/<path to extracted archive>/jdk-17.<current version of JDK 17>
103105
export JAVA_21_HOME=/<path to extracted archive>/jdk-21.<current version of JDK 21>
106+
export JAVA_24_HOME=/<path to extracted archive>/jdk-24.<current version of JDK 24>
104107
export JAVA_GRAALVM17_HOME=/<path to extracted archive>/graalvm-jdk-17.<current version of graalvm>/Contents/Home
105108
export JAVA_HOME=$JAVA_8_HOME
106109
```
107110
* Restart your shell after applying the changes if you appended the commands to your shell configuration file.
108111

109112
#### Windows
110113

111-
* Download and install JDK 8, 11, 17, and 21 [Eclipse Temurin releases](https://adoptium.net/temurin/releases/).
114+
* Download and install JDK 8, 11, 17, 21, and 24 [Eclipse Temurin releases](https://adoptium.net/temurin/releases/).
112115

113116
<details>
114117
<summary>Alternatively, install JDKs using winget or scoop. (click here to expand)</summary>
@@ -118,6 +121,7 @@ Download and install JDK versions 8, 11, 17 and 21, and GraalVM 17 for your OS.
118121
winget install --id EclipseAdoptium.Temurin.11.JDK
119122
winget install --id EclipseAdoptium.Temurin.17.JDK
120123
winget install --id EclipseAdoptium.Temurin.21.JDK
124+
winget install --id EclipseAdoptium.Temurin.24.JDK
121125
```
122126
123127
```pwsh
@@ -126,6 +130,7 @@ Download and install JDK versions 8, 11, 17 and 21, and GraalVM 17 for your OS.
126130
scoop install temurin11-jdk
127131
scoop install temurin17-jdk
128132
scoop install temurin21-jdk
133+
scoop install temurin24-jdk
129134
```
130135

131136
</details>
@@ -136,6 +141,7 @@ Download and install JDK versions 8, 11, 17 and 21, and GraalVM 17 for your OS.
136141
[Environment]::SetEnvironmentVariable("JAVA_11_HOME", "C:\Program Files\Eclipse Adoptium\jdk-11.0.25.9-hotspot", [EnvironmentVariableTarget]::User)
137142
[Environment]::SetEnvironmentVariable("JAVA_17_HOME", "C:\Program Files\Eclipse Adoptium\jdk-17.0.12.7-hotspot", [EnvironmentVariableTarget]::User)
138143
[Environment]::SetEnvironmentVariable("JAVA_21_HOME", "C:\Program Files\Eclipse Adoptium\jdk-21.0.5.11-hotspot", [EnvironmentVariableTarget]::User)
144+
[Environment]::SetEnvironmentVariable("JAVA_24_HOME", "C:\Program Files\Eclipse Adoptium\jdk-24.0.1.9-hotspot", [EnvironmentVariableTarget]::User)
139145
140146
# JAVA_HOME = JAVA_8_HOME
141147
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Eclipse Adoptium\jdk-8.0.432.6-hotspot", [EnvironmentVariableTarget]::User)

dd-java-agent/instrumentation/java-concurrent/src/test/groovy/QueueTimingForkedTest.groovy

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,20 @@ class QueueTimingForkedTest extends AgentTestRunner {
3131
})
3232

3333
then:
34-
verify(LinkedBlockingQueue.name)
34+
verify(LinkedBlockingQueue.name, 'TestRunnable')
3535

3636
when:
3737
runUnderTrace("parent", {
3838
fjp.submit(new TestRunnable()).get()
3939
})
4040

4141
then:
42+
// Starting from Java 24, ForkJoinPool will wrap a Runnable with the {@code java.util.concurrent.ForkJoinTask$AdaptedInterruptibleRunnable} class
43+
String expectedTaskClassName = Platform.isJavaVersionAtLeast(24) ? 'AdaptedInterruptibleRunnable' : 'TestRunnable'
44+
4245
// flaky before JDK21
4346
if (Platform.isJavaVersionAtLeast(21)) {
44-
verify("java.util.concurrent.ForkJoinPool\$WorkQueue")
47+
verify("java.util.concurrent.ForkJoinPool\$WorkQueue", expectedTaskClassName)
4548
}
4649

4750
cleanup:
@@ -50,15 +53,15 @@ class QueueTimingForkedTest extends AgentTestRunner {
5053
TEST_PROFILING_CONTEXT_INTEGRATION.closedTimings.clear()
5154
}
5255

53-
void verify(expectedQueueType) {
56+
void verify(expectedQueueType, expectedTaskClassName) {
5457
assert TEST_PROFILING_CONTEXT_INTEGRATION.isBalanced()
5558
assert !TEST_PROFILING_CONTEXT_INTEGRATION.closedTimings.isEmpty()
5659
int numAsserts = 0
5760
while (!TEST_PROFILING_CONTEXT_INTEGRATION.closedTimings.isEmpty()) {
5861
def timing = TEST_PROFILING_CONTEXT_INTEGRATION.closedTimings.takeFirst() as TestProfilingContextIntegration.TestQueueTiming
5962
if (!(timing.task as Class).simpleName.isEmpty()) {
6063
assert timing != null
61-
assert timing.task == TestRunnable
64+
assert timing.task.simpleName == expectedTaskClassName
6265
assert timing.scheduler != null
6366
assert timing.origin == Thread.currentThread()
6467
assert timing.queueLength >= 0

dd-java-agent/instrumentation/karate/src/test/groovy/KarateTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import datadog.trace.api.DisableTestTrace
22
import datadog.trace.api.civisibility.config.TestFQN
33
import datadog.trace.api.civisibility.config.TestIdentifier
4+
import datadog.trace.api.Platform
45
import datadog.trace.civisibility.CiVisibilityInstrumentationTest
56
import datadog.trace.instrumentation.karate.KarateUtils
67
import datadog.trace.instrumentation.karate.TestEventsHandlerHolder
@@ -13,12 +14,16 @@ import org.junit.platform.launcher.TestExecutionListener
1314
import org.junit.platform.launcher.core.LauncherConfig
1415
import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder
1516
import org.junit.platform.launcher.core.LauncherFactory
17+
import spock.lang.IgnoreIf
1618

1719
import java.util.concurrent.ConcurrentHashMap
1820
import java.util.concurrent.CopyOnWriteArrayList
1921

2022
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass
2123

24+
@IgnoreIf(reason = "Karate instrumentation is creating an unclosed span of kind test_suite_end specifically for Java 24. Skip until we have a fix.", value = {
25+
Platform.isJavaVersionAtLeast(24)
26+
})
2227
@DisableTestTrace(reason = "avoid self-tracing")
2328
class KarateTest extends CiVisibilityInstrumentationTest {
2429

dd-java-agent/instrumentation/vertx-pg-client-4.0/src/test/groovy/VertxPostgresSqlClientForkedTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,18 @@ import io.vertx.pgclient.PgPool
1111
import io.vertx.sqlclient.*
1212
import spock.lang.AutoCleanup
1313
import spock.lang.Shared
14+
import spock.lang.IgnoreIf
1415

1516
import java.util.concurrent.CountDownLatch
1617
import java.util.concurrent.TimeUnit
1718

1819
import static datadog.trace.agent.test.utils.TraceUtils.basicSpan
1920
import static datadog.trace.agent.test.utils.TraceUtils.runUnderTrace
21+
import datadog.trace.api.Platform
2022

23+
@IgnoreIf(reason = "A change in Locale.ROOT that was introduced in JDK 22 is not fixed until vertx-pg-client v4.5.1: https://github.com/eclipse-vertx/vertx-sql-client/pull/1394", value = {
24+
Platform.isJavaVersionAtLeast(22)
25+
})
2126
class VertxPostgresSqlClientForkedTest extends AgentTestRunner {
2227
@AutoCleanup
2328
@Shared

dd-java-agent/instrumentation/wildfly-9/src/test/groovy/WildFlyForkedTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,18 @@ import datadog.trace.agent.test.utils.OkHttpUtils
44
import datadog.trace.api.DDSpanTypes
55
import datadog.trace.bootstrap.instrumentation.api.InstrumentationTags
66
import datadog.trace.bootstrap.instrumentation.api.Tags
7+
import datadog.trace.api.Platform
78
import okhttp3.HttpUrl
89
import okhttp3.Request
910
import org.jboss.shrinkwrap.api.ShrinkWrap
1011
import org.jboss.shrinkwrap.api.spec.WebArchive
12+
import spock.lang.IgnoreIf
1113
import test.JakartaTestServlet
1214
import test.TestServlet
1315

16+
@IgnoreIf(reason = "WildFly does not guarantee support for Java SE 24. The latest version 36 of WildFly recommends using the latest Java LTS: https://docs.wildfly.org/36/Getting_Started_Guide.html#requirements", value = {
17+
Platform.isJavaVersionAtLeast(22)
18+
})
1419
class WildFlyForkedTest extends WithHttpServer<EmbeddedWildfly> implements TestingGenericHttpNamingConventions.ServerV0 {
1520
@Override
1621
EmbeddedWildfly startServer(int port) {

dd-java-agent/src/test/groovy/datadog/trace/agent/InitializationTelemetryTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@ package datadog.trace.agent
22

33
import spock.lang.Specification
44
import spock.lang.Timeout
5+
import spock.lang.IgnoreIf
6+
import datadog.trace.api.Platform
57

68
import jvmbootstraptest.InitializationTelemetryCheck
79

810
@Timeout(30)
11+
@IgnoreIf(reason = "SecurityManager is permanently disabled as of JDK 24", value = {
12+
Platform.isJavaVersionAtLeast(24)
13+
})
914
class InitializationTelemetryTest extends Specification {
1015
def "block agent start-up"() {
1116
// In this case, the SecurityManager blocks loading of the Premain Class,

dd-java-agent/src/test/groovy/datadog/trace/agent/SecurityManagerTest.groovy

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@ package datadog.trace.agent
22

33
import spock.lang.Specification
44
import spock.lang.Timeout
5+
import spock.lang.IgnoreIf
6+
import datadog.trace.api.Platform
57

68
import jvmbootstraptest.SecurityManagerCheck
79
import jvmbootstraptest.TestSecurityManager
810

911
@Timeout(30)
12+
@IgnoreIf(reason = "SecurityManager is permanently disabled as of JDK 24", value = {
13+
Platform.isJavaVersionAtLeast(24)
14+
})
1015
class SecurityManagerTest extends Specification {
1116
def "no env access"() {
1217
expect:
@@ -27,4 +32,4 @@ class SecurityManagerTest extends Specification {
2732
expect:
2833
SecurityManagerCheck.runTestJvm(TestSecurityManager.NoNetworkAccess) == 0
2934
}
30-
}
35+
}

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/AbstractGradleTest.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,9 @@ class AbstractGradleTest extends CiVisibilitySmokeTest {
9090

9191
private static boolean isSupported(String gradleVersion) {
9292
// https://docs.gradle.org/current/userguide/compatibility.html
93-
if (Jvm.current.java21Compatible) {
93+
if (Jvm.current.isJavaVersionCompatible(24)) {
94+
return gradleVersion >= "8.14"
95+
} else if (Jvm.current.java21Compatible) {
9496
return gradleVersion >= "8.4"
9597
} else if (Jvm.current.java20) {
9698
return gradleVersion >= "8.1"

dd-smoke-tests/gradle/src/test/groovy/datadog/smoketest/GradleDaemonSmokeTest.groovy

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ class GradleDaemonSmokeTest extends AbstractGradleTest {
5959
"7.6.4" | "test-corrupted-config-legacy-instrumentation" | false | 1 | 0
6060
}
6161

62+
@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = {
63+
Platform.isJavaVersionAtLeast(24)
64+
})
6265
def "test #projectName, v#gradleVersion, configCache: #configurationCache"() {
6366
runGradleTest(gradleVersion, projectName, configurationCache, successExpected, flakyRetries, expectedTraces, expectedCoverages)
6467

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
package datadog.smoketest
22

3+
import spock.lang.IgnoreIf
4+
import datadog.trace.api.Platform
5+
6+
@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = {
7+
Platform.isJavaVersionAtLeast(24)
8+
})
39
class JBossModulesV2SmokeTest extends AbstractModulesSmokeTest {}

dd-smoke-tests/log-injection/build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ plugins {
77
apply from: "$rootDir/gradle/java.gradle"
88
description = 'Log injection Smoke Tests.'
99

10+
// 3.0.24 added support for JDK 24 via ASM 9.7.1
11+
// https://groovy-lang.org/changelogs/changelog-3.0.24.html
12+
// https://asm.ow2.io/versions.html#9.7.1
13+
configurations.all {
14+
resolutionStrategy {
15+
force 'org.codehaus.groovy:groovy-all:3.0.24'
16+
}
17+
}
18+
1019
configurations {
1120
jcl
1221
log4j1

dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import datadog.trace.api.Config
44
import datadog.trace.api.civisibility.CIConstants
55
import datadog.trace.api.config.CiVisibilityConfig
66
import datadog.trace.api.config.GeneralConfig
7+
import datadog.trace.api.Platform
78
import datadog.trace.civisibility.CiVisibilitySmokeTest
89
import datadog.trace.util.Strings
910
import java.nio.file.FileVisitResult
@@ -26,10 +27,14 @@ import org.slf4j.LoggerFactory
2627
import org.w3c.dom.Document
2728
import org.w3c.dom.NodeList
2829
import spock.lang.AutoCleanup
30+
import spock.lang.IgnoreIf
2931
import spock.lang.Shared
3032
import spock.lang.TempDir
3133
import spock.util.environment.Jvm
3234

35+
@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = {
36+
Platform.isJavaVersionAtLeast(24)
37+
})
3338
class MavenSmokeTest extends CiVisibilitySmokeTest {
3439

3540
private static final Logger LOGGER = LoggerFactory.getLogger(MavenSmokeTest.class)

dd-smoke-tests/profiling-integration-tests/src/test/java/datadog/smoketest/JFRBasedProfilingIntegrationTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.junit.jupiter.api.DisplayName;
5050
import org.junit.jupiter.api.Test;
5151
import org.junit.jupiter.api.TestInfo;
52+
import org.junit.jupiter.api.condition.DisabledIf;
5253
import org.junit.jupiter.api.condition.DisabledIfSystemProperty;
5354
import org.openjdk.jmc.common.IMCStackTrace;
5455
import org.openjdk.jmc.common.item.Aggregators;
@@ -70,6 +71,9 @@
7071
import spock.util.environment.OperatingSystem;
7172

7273
@DisabledIfSystemProperty(named = "java.vm.name", matches = ".*J9.*")
74+
@DisabledIf(
75+
value = "isJavaVersionAtLeast24",
76+
disabledReason = "Failing on Java 24. Skip until we have a fix.")
7377
class JFRBasedProfilingIntegrationTest {
7478
private static final Logger log = LoggerFactory.getLogger(JFRBasedProfilingIntegrationTest.class);
7579
private static final Duration ONE_NANO = Duration.ofNanos(1);
@@ -841,4 +845,8 @@ private static boolean logHasErrors(final Path logFilePath) throws IOException {
841845
}
842846
return logHasErrors[0];
843847
}
848+
849+
public static boolean isJavaVersionAtLeast24() {
850+
return Platform.isJavaVersionAtLeast(24);
851+
}
844852
}

dd-smoke-tests/quarkus/src/test/groovy/datadog/smoketest/QuarkusJBossLoggingSmokeTest.groovy

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package datadog.smoketest
22

3+
import datadog.trace.api.Platform
4+
import spock.lang.IgnoreIf
5+
6+
@IgnoreIf(reason = "Failing on Java 24. Skip until we have a fix.", value = {
7+
Platform.isJavaVersionAtLeast(24)
8+
})
39
class QuarkusJBossLoggingSmokeTest extends QuarkusSmokeTest {
410
@Override
511
String helloEndpointName() {

0 commit comments

Comments
 (0)