Repository navigation
Support test automation exclusions in TestNG - #12942
calvinbayer wants to merge 7 commits into
Conversation
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. |
c943aca to
0b80b18
Compare
04b5db6 to
a9fcfd4
Compare
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 - 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 - 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: 🟢 success
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: 🟢 success
Baseline: median of Tests run to verify that CI Visibility behavior has not regressed in the current PR. |
CI Visibility Test Environment - sonar-javaJob Status: 🟢 success
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. |
🟢 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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a9fcfd4104
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
The two most critical issues are: (1) skip exclusion decisions read only raw Java annotation groups and miss groups injected by IAnnotationTransformer, causing tests marked with datadog_prevent_failure_suppression to be incorrectly skipped; and (2) the native retry-analyzer preservation logic fails to recover class-level analyzer declarations and bypasses TestNG's object factory when constructing analyzer instances, silently dropping native retries for excluded tests.
🤖 Bits Code Review · Commit a9fcfd4
a9fcfd4 to
ab0824f
Compare
0b80b18 to
9e1ec7c
Compare
9e1ec7c to
73c9c70
Compare
ab0824f to
581ee2b
Compare
There was a problem hiding this comment.
Two distinct correctness issues are present: one where explicit user overrides to disable retries are silently ignored in favor of Datadog's RetryAnalyzer, and one where a missing interface in older TestNG runtimes throws an unguarded ClassNotFoundException before the assumption-skip can fire.
🤖 Bits Code Review · Commit ab0824f
|
@autotest Review |
There was a problem hiding this comment.
More details
Static review found no reportable defect in effective-group policy selection, native retry preservation, or Test Management reporting. Runtime behavior remains unverified because Gradle tests were not run.
🤖 Bits Code Review · Commit d308a2b
What Does This Do
Support test automation exclusions in TestNG. 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/junit5-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 TestNG6Test/TestNG7Test exclusion regressions passed. Combined annotations keep failure blocking and execute once; native retry analyzers execute twice without Datadog retry tags. TestNG6 retains its legacy failed command status after a recovered native retry.