Skip to content

[ruby] DEBUG-5107 / DEBUG-5111: Enable probe-status path-matching edge-case tests#6920

Merged
p-datadog merged 4 commits into
mainfrom
enable-debugger-path-matching-edge-cases-ruby
May 13, 2026
Merged

[ruby] DEBUG-5107 / DEBUG-5111: Enable probe-status path-matching edge-case tests#6920
p-datadog merged 4 commits into
mainfrom
enable-debugger-path-matching-edge-cases-ruby

Conversation

@p-datadog

@p-datadog p-datadog commented May 13, 2026

Copy link
Copy Markdown
Member

Summary

Version-gates the bug (DEBUG-5107) and bug (DEBUG-5111) markers for the two probe-status path-matching edge-case tests in manifests/ruby.yml to '<2.34.0-dev':

  • tests/debugger/test_debugger_probe_status.py::Test_Debugger_Line_Probe_Statuses::test_probe_status_log_line_with_different_casing — DEBUG-5107
  • tests/debugger/test_debugger_probe_status.py::Test_Debugger_Line_Probe_Statuses::test_probe_status_log_line_with_windows_path — DEBUG-5111

Companion to DataDog/dd-trace-rb#5754 (merged), which makes Utils.path_matches_suffix? and Utils.path_can_match_spec? case-insensitive (DEBUG-5107) and tolerant of Windows-style backslash separators in user-supplied probe sourceFile (DEBUG-5111).

The gate uses '<2.34.0-dev' (not '<2.34.0') so the dev tracer is not covered by the bug marker — per semver prerelease ordering, 2.34.0-dev < 2.34.0 is true, so '<2.34.0' would incorrectly skip the tests on the tracer that contains the fix. This matches the existing convention in ruby.yml (the DEBUG-4675 entry above and the APMLP-1047 entries around lines 1170/1174/1178/1182/1186/1190 all use '<X.Y.0-dev').

Validation

On commit d094be361 (this PR's tip), the DEBUGGER_PROBES_STATUS scenario ran both tests with the expected behaviour on every supported weblog:

Weblog dev (2.34.0-dev) prod (2.33.0)
rails72 — different_casing passed xfailed — bug (DEBUG-5107)
rails72 — windows_path passed xfailed — bug (DEBUG-5111)
rails80 — different_casing passed xfailed — bug (DEBUG-5107)
rails80 — windows_path passed xfailed — bug (DEBUG-5111)
uds-rails — different_casing passed xfailed — bug (DEBUG-5107)
uds-rails — windows_path passed xfailed — bug (DEBUG-5111)

Other weblogs (rack, sinatra14/22/32/41, rails42/52/61, uds-sinatra) skip via the parent class's '*': irrelevant declaration — unchanged by this PR.

Test plan

Removes the DEBUG-5107 and DEBUG-5111 bug markers for
tests/debugger/test_debugger_probe_status.py::Test_Debugger_Line_Probe_Statuses
::test_probe_status_log_line_with_different_casing and
::test_probe_status_log_line_with_windows_path.

Companion to the dd-trace-rb PR that makes Utils.path_matches_suffix? and
Utils.path_can_match_spec? case-insensitive and tolerant of Windows-style
backslash separators in user-supplied probe source paths.
@github-actions

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

manifests/ruby.yml                                                      @DataDog/ruby-guild @DataDog/asm-ruby

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented May 13, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: d094be3 | Docs | Datadog PR Page | Give us feedback!

p-ddsign added 3 commits May 13, 2026 15:34
Replace the unconditional removal with prerelease-aware version gates,
matching the pattern used in #6918 for DEBUG-4675
and the APMLP-1047 entries above.

`<2.34.0-dev` (not `<2.34.0`) so the dev tracer is not covered by the
bug marker — per semver prerelease ordering, `2.34.0-dev < 2.34.0` is
true, so `<2.34.0` would skip the test on the tracer that contains
the fix.

Companion to DataDog/dd-trace-rb#5754 (merged), which makes
`Utils.path_matches_suffix?` and `Utils.path_can_match_spec?`
case-insensitive (DEBUG-5107) and tolerant of Windows-style backslash
separators in user-supplied probe source paths (DEBUG-5111).
The test name `test_probe_status_log_line_with_different_casing`
makes the manifest key longer than the lint's normalized-form limit.
Switch to the `? key\n: value` explicit-key syntax used by other
long entries in this file (e.g. lines around Test_UserLoginFailureEventV2_Tags_*).

Fixes the `lint / lint` failure on commit 99d2603.
The previous form (`:` alone on its own line, then list indented
below) didn't match the lint's normalized output, which expects the
first list item to start on the same line as the `:`.

Pattern is: `: - declaration: bug (DEBUG-5107)` on one line, followed
by `component_version: '<2.34.0-dev'` indented to align with `declaration`.

Fixes the lint failure on commit 4105b38.
@p-datadog p-datadog changed the title [ruby] Enable probe-status path-matching edge-case tests [ruby] DEBUG-5107 / DEBUG-5111: Enable probe-status path-matching edge-case tests May 13, 2026
@p-datadog
p-datadog marked this pull request as ready for review May 13, 2026 20:20
@p-datadog
p-datadog requested review from a team as code owners May 13, 2026 20:20
@p-datadog
p-datadog merged commit 529f011 into main May 13, 2026
65 checks passed
@p-datadog
p-datadog deleted the enable-debugger-path-matching-edge-cases-ruby branch May 13, 2026 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants