-
Notifications
You must be signed in to change notification settings - Fork 541
fix(ci_visibility): unblock ddtrace import on Python 3.15 for dd_coverage #18321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
1238661
2b348cd
4bd039c
71ef2d0
9a45161
5bf3054
f44413b
890831b
f95cbf9
5803f8d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -36,7 +36,7 @@ | |
| ASYNC_HEAD_ASSEMBLY = None | ||
|
|
||
| if PY >= (3, 15): | ||
| raise NotImplementedError("This version of CPython is not supported yet") | ||
| pass # AIDEV-TODO: Populate assemblies for 3.15 bytecode (tracked in #17849). | ||
|
|
||
| elif PY >= (3, 14): | ||
| ASYNC_HEAD_ASSEMBLY = Assembly() | ||
|
|
@@ -712,6 +712,10 @@ | |
|
|
||
|
|
||
| def wrap_async(instrs: list[bc.Instr], code: CodeType, lineno: int) -> None: | ||
| if PY >= (3, 15): | ||
| # AIDEV-TODO: Async wrapping not yet implemented for 3.15; no-op until | ||
| # #17849 lands. Remove this guard once the assemblies above are populated. | ||
| return | ||
|
Comment on lines
714
to
+718
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
On Python 3.15 this returns to Useful? React with 👍 / 👎. |
||
| if (bc.CompilerFlags.ASYNC_GENERATOR | bc.CompilerFlags.COROUTINE) & code.co_flags: | ||
| if ASYNC_HEAD_ASSEMBLY is not None: | ||
| instrs[0:0] = ASYNC_HEAD_ASSEMBLY.bind(lineno=lineno) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When
PY >= (3, 15), this leavesINJECTION_ASSEMBLYand_INJECT_HOOK_OPCODESempty, butinject_hook()/inject_hooks()still splice that empty assembly and report success. Callers such as SCA'sInstrumenter.instrument()mark a target instrumented immediately afterinject_hook(...), so on Python 3.15 SCA/debugging probes can be reported as installed while no hook will ever fire. Please gate or fail the injection APIs on unsupported versions instead of silently succeeding.Useful? React with 👍 / 👎.