-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Add Python 3.13 (beta) support #12334
Conversation
@@ -289,7 +289,8 @@ def assert_contains(self, entries: Sequence[Tuple[str, str]]) -> None: | |||
__tracebackhide__ = True | |||
i = 0 | |||
entries = list(entries) | |||
backlocals = sys._getframe(1).f_locals | |||
# Since Python 3.13, f_locals is not a dict, but eval requires a dict. |
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.
@@ -760,6 +761,9 @@ def _makefile( | |||
) -> Path: | |||
items = list(files.items()) | |||
|
|||
if ext is None: |
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.
One remaining failure, on windows:
Probably something in os.path/pathlib changed. |
Seems like its normalized/resolved now, so the env name is no longer correct |
No need to support beta releases of an older version anymore. Ref: 09b2c95
I don't know if the This is ready for review, I'll also backport it for 8.2.1. |
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.
Looks great, thanks for tackling this!
@@ -760,6 +761,9 @@ def _makefile( | |||
) -> Path: | |||
items = list(files.items()) | |||
|
|||
if ext is None: |
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.
Let's leave a note here:
if ext is None: | |
# https://github.com/python/cpython/issues/119113 | |
if ext is None: |
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.
I don't think it's necessary, since I think we better not rely on it and just keep the check.
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.
I don't see what harm a small comment like that could cause either, but OK.
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.
Also in that case, we probably should change the signature as well, so we have the typing match the runtime behavior.
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.
The type is ext: str
which is correct. The callers have some *args, **kwargs
forwarding which is somewhat annoying to type.
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.
Well OK, this is no big deal anyway.
@@ -373,7 +374,10 @@ def test_excinfo_no_sourcecode(): | |||
except ValueError: | |||
excinfo = _pytest._code.ExceptionInfo.from_current() | |||
s = str(excinfo.traceback[-1]) | |||
assert s == " File '<string>':1 in <module>\n ???\n" | |||
# TODO: Since Python 3.13b1 under pytest-xdist, the * is `import |
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.
I think so.
changelog/12334.bugfix.rst
Outdated
@@ -0,0 +1 @@ | |||
Support for Python 3.13 (beta1 at the time of writing). |
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.
I would categorize this as a feature actually.
Fix #12323