Repository navigation
Support native MUnit automation exclusion declarations - #12947
calvinbayer wants to merge 1 commit into
Conversation
f0feeb0 to
c0688be
Compare
2912b77 to
2049459
Compare
c0688be to
1273e6b
Compare
2049459 to
ba9a78e
Compare
CI Visibility Test Environment - sbt-scalatestJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - reactive-streams-jvmJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - nebula-release-pluginJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - netflix-zuulJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - pass4sJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - heliboardJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - sonar-kotlinJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - jolokiaJob Status: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - okhttpJob Status: 🔴 failed
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - spring_bootJob Status: 🔴 failed
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
More details
MUnit’s existing category bridge carries native exclusion tags into shared policy selection and reporting. The added regression and documentation align with that behavior, including preservation of assigned Test Management properties and ignored-test tags.
🤖 Bits Code Review · Commit ba9a78e
CI Visibility Test Environment - sonar-javaJob Status: 🔴 failed
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
ba9a78e to
6fb7986
Compare
22ed8f1 to
3f80d84
Compare
6fb7986 to
968588d
Compare
There was a problem hiding this comment.
An explicit TestNG transformer override that disables retries is replaced with Datadog’s analyzer, allowing ATR or EFD to rerun tests the user configured to run once.
🤖 Bits Code Review · Commit 6fb7986
Findings that could not be posted inline
dd-java-agent/instrumentation/testng/testng-common/src/main/java/datadog/trace/instrumentation/testng/TestNGUtils.java:78
Preserve transformer overrides that disable retries
When a TestNG 7 IAnnotationTransformer explicitly selects DisabledRetryAnalyzer, hasFrameworkOverride is true, but the native-analyzer check rejects that class and falls through to installing Datadog’s RetryAnalyzer. With ATR or EFD enabled, tests configured to run once can now execute repeatedly. Preserve explicit transformer overrides even when they disable retries, keeping the excluded-test fallback separate.
if (RetryAnnotationTransformer.hasFrameworkOverride(annotation)) {
return;
}
if (TestExclusions.noAutoRetry(source, Arrays.asList(method.getGroups()))) {
React: 👍 useful · 👎 wrong · 😕 unclear · 👀 right, but not acting on it
What each reaction means
- 👍 Useful: correct, and you're fixing it or will.
- 👎 Wrong: the finding is incorrect, for example the bug can't happen or the code was misread.
- 😕 Unclear: you can't tell what it means or why it matters.
- 👀 Right, not acting: correct, but intended, out of scope for this PR, a known risk, or too minor.
🤖 Bits Code Review · Open Bits AI session
3f80d84 to
ed05308
Compare
968588d to
fcc0cd5
Compare
|
Addressed the finding in this review with the inherited fix d308a2b. The regression first reproduced the bug: an explicit DisabledRetryAnalyzer override still executed six times with TestNG 7.0 ATR, and five/three times with latest TestNG ATR/EFD. The transformer now preserves every explicit framework override before installing Datadog policy. The full configured suite passes 308 cases with 101 capability skips, plus Muzzle, forbidden-API and module checks. The supported scenarios execute exactly once and emit no retry metadata. |
|
@autotest Review |
There was a problem hiding this comment.
More details
MUnit’s existing category bridge forwards declaration tags to shared exclusion policy and reporting, including ignored tests. The added regression coverage and documentation align with that behavior, with no actionable defects reported.
🤖 Bits Code Review · Commit fcc0cd5
ed05308 to
825c4de
Compare
fcc0cd5 to
6784b3b
Compare
|
@autotest Review |
There was a problem hiding this comment.
More details
The MUnit declarations align with the existing category bridge and shared exclusion policy. The completed static review found no actionable defect in the regression coverage or documentation.
🤖 Bits Code Review · Commit 6784b3b
825c4de to
627c8a5
Compare
6784b3b to
55663bc
Compare
|
@autotest Review |
There was a problem hiding this comment.
More details
MUnit’s existing tag bridge carries native exclusion declarations into shared policy and reporting, supporting the documented behavior without additional runtime changes.
🤖 Bits Code Review · Commit 55663bc
What Does This Do
Support native MUnit automation exclusion declarations. Wire test declaration metadata into Datadog policy selection and reporting, preserving assigned Test Management properties.
Motivation
Allow individual tests to prevent Datadog quarantine/disabling and exclude Datadog ATR, EFD and Attempt to Fix. Developer selection and framework retries retain their existing semantics.
Additional Notes
Stacked on
codex/scalatest-automation-exclusions; review this PR against its base for the framework-specific change. Shared public API and policy are introduced by the first JUnit4 PR. No refactor commit was needed.Validation: Module spotlessApply and instrumented MUnitTest exclusion regression passed: native tags reach shared policy, protected failure executes once and blocks, assigned properties remain visible, developer-ignored tests retain both tags. Existing MUnit category bridge needs no duplicate runtime implementation.
Snapshot dependency for inherited physical source paths: DataDog/test-environment#604.
test-environment-branch: codex/java-inherited-test-source-snapshots