From 0b6cacae4fdb2b420c613d2f4e7aea07d203cd9b Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Wed, 30 Sep 2026 12:11:41 -0700 Subject: [PATCH] Fix method-level scope diagnostic opt-outs in Spock --- .../test/scopediag/ScopeDiagnosticsSpockExtension.java | 6 ++++++ .../test/scopediag/ScopeDiagnosticsSpockFixtureTest.groovy | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/dd-java-agent/instrumentation-testing/src/main/java/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockExtension.java b/dd-java-agent/instrumentation-testing/src/main/java/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockExtension.java index f0aff0ef1e7..6984ee947bd 100644 --- a/dd-java-agent/instrumentation-testing/src/main/java/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockExtension.java +++ b/dd-java-agent/instrumentation-testing/src/main/java/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockExtension.java @@ -2,6 +2,7 @@ import org.spockframework.runtime.extension.IAnnotationDrivenExtension; import org.spockframework.runtime.extension.IMethodInterceptor; +import org.spockframework.runtime.model.FeatureInfo; import org.spockframework.runtime.model.MethodInfo; import org.spockframework.runtime.model.SpecInfo; @@ -36,4 +37,9 @@ public void visitSpecAnnotation(TrackScopeContinuations annotation, SpecInfo spe } } } + + @Override + public void visitFeatureAnnotation(TrackScopeContinuations annotation, FeatureInfo feature) { + // Override Spock's default rejection of feature annotations so discovery succeeds. + } } diff --git a/dd-java-agent/instrumentation-testing/src/test/groovy/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockFixtureTest.groovy b/dd-java-agent/instrumentation-testing/src/test/groovy/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockFixtureTest.groovy index 93d77da566c..083c581bd4e 100644 --- a/dd-java-agent/instrumentation-testing/src/test/groovy/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockFixtureTest.groovy +++ b/dd-java-agent/instrumentation-testing/src/test/groovy/datadog/trace/agent/test/scopediag/ScopeDiagnosticsSpockFixtureTest.groovy @@ -26,6 +26,12 @@ class ScopeDiagnosticsSpockFixtureTest extends InstrumentationSpecification { true } + @TrackScopeContinuations(enabled = false, reason = "synthetic fixture testing method-level opt-out") + def "runs with diagnostics disabled for this feature"() { + expect: + ScopeDiagnostics.recordingWindow() == null + } + def "restarts recording after aborted suite setup"() { given: scopeDiagnosticsSuiteSetupPending = true