Repository navigation
Fix ScalaTest suites run through JUnit 4 - #13124
juan-fernandez wants to merge 3 commits into
Conversation
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. |
|
/datadog autotest review |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
When multiple ScalaTest-style suites share an outer JUnit runner, unordered cleanup can violate span activation order, leaving suite events unfinished and scopes active.
🤖 Bits Code Review · Commit 80643ba
There was a problem hiding this comment.
Fallback suite cleanup can lose CI Visibility suite completion events when multiple ScalaTest classes share a runner or execute in parallel. The cleanup violates the suite scope's required close order or thread ownership.
🤖 Bits Code Review · Commit 80643ba
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 - 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 - 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 - 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 - 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 - 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 - 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. |
🟢 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. |
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. |
|
/datadog autotest review |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
More details
Per-runner suite tracking and reverse-order cleanup address the nested-runner ownership and wrong-thread scope failures discussed on the PR.
🤖 Bits Code Review · Commit 73cdd95
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 73cdd95118
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
/datadog autotest review |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
More details
Fallback suites avoid activating suite scopes on callback threads, allowing the enclosing runner to finish them without violating thread-bound scope ownership. Confidence is limited to static inspection.
🤖 Bits Code Review · Commit e9f1539
What Does This Do
Preserves passing, failing and ignored ScalaTest tests run through JUnit 4, with a CI Visibility event for each test.
Motivation
ScalaTest's
JUnitRunneremits test callbacks without suite lifecycle callbacks. The JUnit 4 tracing listener therefore looks up an unregistered suite and throwsCould not find test suite, removing passing tests from Surefire reports and adding emptyTest mechanismerrors. Reported during DataDog/ddtest#255.Additional Notes
Suites start lazily on their first test or ignore event. Fallback suites use a parallel-safe lifecycle that keeps suite state out of callback-thread scopes and finishes pending suites when the enclosing runner returns. Native suite callbacks control standard JUnit 4 suites. Regression tests cover a single suite, both sequential suite orders, parallel class execution, and callbacks dispatched to a reusable executor; they verify complete suite and test events and no leaked active scope.
Verification:
addspasses,existing failureerrors,ignoredskips. Maven exits unsuccessfully for the deliberate existing failure.To reproduce with the dependency versions above:
Run
DD_CIVISIBILITY_ENABLED=true MAVEN_OPTS="-javaagent:/path/to/built-agent.jar" mvn test.Contributor Checklist
type:and (comp:orinst:) labels in addition to any other useful labelsclose,fix, or any linking keywords when referencing an issueUse
solvesinstead, and assign the PR milestone to the issueJira ticket: Not provided (reported in DataDog/ddtest#255).