-
-
Notifications
You must be signed in to change notification settings - Fork 32k
Improvements to test.support.interpreters.Interpreter #132775
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
Labels
3.14
bugs and security fixes
stdlib
Python modules in the Lib dir
topic-subinterpreters
type-feature
A feature request or enhancement
Comments
This was referenced Apr 25, 2025
ericsnowcurrently
added a commit
that referenced
this issue
Apr 28, 2025
…h-132974) This change consists of adding tests and moving code around, with some renaming thrown in.
ericsnowcurrently
added a commit
that referenced
this issue
Apr 28, 2025
…eUTF8() (gh-132979) They are derived from the existing `PyModule_GetFilenameObject(). They are used by a later change related to pickle and handling __main__.
ericsnowcurrently
added a commit
that referenced
this issue
Apr 28, 2025
We replace it with _Py_GetMainModule(), and add _Py_CheckMainModule(), but both in the internal-only C-API. We also add _PyImport_GetModulesRef(), which is the equivalent of _PyImport_GetModules(), but which increfs before the lock is released. This is used by a later change related to pickle and handling __main__.
ericsnowcurrently
added a commit
that referenced
this issue
Apr 28, 2025
This is the base for several other XIData wrappers, like pickle and marshal. It is essentially a refactor of the existing bytes XIData code.
This was referenced Apr 28, 2025
ericsnowcurrently
added a commit
that referenced
this issue
Apr 28, 2025
Note that the bulk of this change is tests.
ericsnowcurrently
added a commit
that referenced
this issue
Apr 29, 2025
The function indicates whether or not the function has a return statement. This is used by a later change related treating some functions like scripts.
Could you elaborate what the "minor issues" are? It isn't clear to me why, for example, #132981 is needed, or if it is the right solution to whatever the problem is. |
ericsnowcurrently
added a commit
that referenced
this issue
Apr 30, 2025
This helper is useful in a variety of ways, including in demonstrating how the different counts relate to one another. It will be used in a later change to help identify if a function is "stateless", meaning it doesn't have any free vars or globals. Note that a majority of this change is tests.
ericsnowcurrently
added a commit
that referenced
this issue
Apr 30, 2025
There's some extra complexity due to making sure we we get things right when handling functions and classes defined in the __main__ module. This is also reflected in the tests, including the addition of extra functions in test.support.import_helper.
ericsnowcurrently
added a commit
to ericsnowcurrently/cpython
that referenced
this issue
May 1, 2025
This reverts commit 94b4fcd.
ericsnowcurrently
added a commit
that referenced
this issue
May 1, 2025
ericsnowcurrently
added a commit
to ericsnowcurrently/cpython
that referenced
this issue
May 1, 2025
This reverts commit 811edcf (pythongh-133128).
ericsnowcurrently
added a commit
that referenced
this issue
May 21, 2025
It now supports a "full" fallback to _PyFunction_GetXIData() and then `_PyPickle_GetXIData()`. There's also room for other fallback modes if that later makes sense.
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this issue
May 21, 2025
…-133482) It now supports a "full" fallback to _PyFunction_GetXIData() and then `_PyPickle_GetXIData()`. There's also room for other fallback modes if that later makes sense. (cherry picked from commit 88f8102) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 21, 2025
It now supports a "full" fallback to _PyFunction_GetXIData() and then `_PyPickle_GetXIData()`. There's also room for other fallback modes if that later makes sense. (cherry picked from commit 88f8102, AKA gh-133482) Co-authored-by: Eric Snow <[email protected]>
This was referenced May 21, 2025
ericsnowcurrently
added a commit
that referenced
this issue
May 21, 2025
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this issue
May 21, 2025
…Stateless() (pythongh-134439) (cherry picked from commit a66bae8) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 21, 2025
…yStateless() (gh-134465) (cherry picked from commit a66bae8, AKA gh-134439) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
This change includes some semi-related refactoring of queues and channels.
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this issue
May 22, 2025
…4440) This change includes some semi-related refactoring of queues and channels. (cherry picked from commit d0eedfa) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
This change includes some semi-related refactoring of queues and channels. (cherry picked from commit d0eedfa, gh-134440) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this issue
May 22, 2025
(cherry picked from commit 09e72cf) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
(cherry picked from commit 09e72cf, AKA gh-134511) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
This is mostly a refactor to clean things up a bit, most notably the "XI namespace" code. Making the session opaque requires adding the following internal-only functions: * _PyXI_NewSession() * _PyXI_FreeSession() * _PyXI_GetMainNamespace()
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this issue
May 22, 2025
This is mostly a refactor to clean things up a bit, most notably the "XI namespace" code. Making the session opaque requires adding the following internal-only functions: * _PyXI_NewSession() * _PyXI_FreeSession() * _PyXI_GetMainNamespace() (cherry picked from commit 4a4ac3ab4d2a34af99af9e948be9cd1257ed4186) Co-authored-by: Eric Snow <[email protected]>
This was referenced May 22, 2025
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
This is mostly a refactor to clean things up a bit, most notably the "XI namespace" code. Making the session opaque requires adding the following internal-only functions: * _PyXI_NewSession() * _PyXI_FreeSession() * _PyXI_GetMainNamespace() (cherry picked from commit 4a4ac3a, gh-134452) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this issue
May 22, 2025
(cherry picked from commit ac06b53) Co-authored-by: Eric Snow <[email protected]>
ericsnowcurrently
added a commit
that referenced
this issue
May 22, 2025
(cherry picked from commit ac06b53, AKA gh-134530) Co-authored-by: Eric Snow <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
3.14
bugs and security fixes
stdlib
Python modules in the Lib dir
topic-subinterpreters
type-feature
A feature request or enhancement
Uh oh!
There was an error while loading. Please reload this page.
Interpreter.call()
should be able to support arbitrary callables, full args, and return values.Linked PRs
The text was updated successfully, but these errors were encountered: