AN Long
4dc339b4d6
GH-88013: Fix TypeError raised by ntpath.realpath in some cases (GH-102813)
2023-04-07 12:56:00 +01:00
Nikita Sobolev
995386071f
bpo-46523: fix tests rerun when `setUp[Class|Module]` fails ( #30895 )
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-04-07 12:43:41 +02:00
Dong-hee Na
efb0a2cf3a
gh-103256: Fix hmac algorithm to support fallback implementation (gh-103286)
...
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-04-07 10:51:29 +09:00
AGZain
a653c32d08
gh-93121: fix test_mailbox where some test cases were accidentally dropped ( #93242 )
2023-04-06 23:19:11 +01:00
Brett Cannon
5d08c3ff7d
GH-102700: allow built-in modules to be submodules (GH-103162)
2023-04-06 14:19:54 -07:00
Alex Waygood
dca7d174f1
gh-103193: Speedup and inline `inspect._is_type` ( #103321 )
...
Improve performance of `inspect.getattr_static`
2023-04-06 21:49:24 +01:00
Alex Waygood
affedee8bf
gh-103193: Use LBYL idioms rather than EAFP in `inspect.getattr_static` ( #103318 )
2023-04-06 20:17:53 +01:00
Ijtaba Hussain
1724553e6e
gh-103186: assert in tests that UnsafeMailcapInput warnings are provided ( #103217 )
2023-04-06 19:13:33 +01:00
Irit Katriel
52bc2e7b9d
gh-48330: assert warning is emitted on unittest.TestResult with no addDuration ( #103309 )
2023-04-06 14:05:23 +01:00
Irit Katriel
482b6eeadc
gh-102799: use sys.exception() instead of sys.exc_info() in tests ( #103293 )
2023-04-06 11:08:25 +01:00
Ethan Furman
a44568b80d
[Enum] unchain exception property.__get__ (GH-103305)
2023-04-05 21:30:11 -07:00
Eric Snow
03089fdccc
gh-101659: Add _Py_AtExit() (gh-103298)
...
The function is like Py_AtExit() but for a single interpreter. This is a companion to the atexit module's register() function, taking a C callback instead of a Python one.
We also update the _xxinterpchannels module to use _Py_AtExit(), which is the motivating case. (This is inspired by pain points felt while working on gh-101660.)
2023-04-05 18:42:02 -06:00
Ethan Furman
4ec8dd10bd
gh-93910: [Enum] remove member.member deprecation (GH-103236)
...
i.e. Color.RED.BLUE is now officially supported.
2023-04-05 17:33:52 -07:00
Brandt Bucher
b4978ff872
GH-88691: Shrink the CALL caches (GH-103230)
2023-04-05 14:15:49 -07:00
Alex Waygood
de18267685
gh-74690: Further optimise `typing._ProtocolMeta.__instancecheck__` ( #103280 )
2023-04-05 17:37:36 +01:00
Irit Katriel
5e7c468fc4
gh-89058: remove skip from test_no_hang_on_context_chain_cycle2 ( #102903 )
2023-04-05 15:52:38 +01:00
Yeojin Kim
8f70b16e33
gh-86094: Add support for Unicode Path Extra Field in ZipFile (gh-102566)
2023-04-05 20:54:48 +09:00
Alex Waygood
3246688918
gh-74690: typing: Call `_get_protocol_attrs` and `_callable_members_only` at protocol class creation time, not during `isinstance()` checks ( #103160 )
2023-04-05 12:19:03 +01:00
Alex Waygood
47753ecde2
gh-74690: typing: Simplify and optimise `_ProtocolMeta.__instancecheck__` ( #103159 )
2023-04-05 10:07:30 +01:00
Alex Waygood
264c00a1c5
gh-103193: Micro-optimise helper functions for `inspect.getattr_static` ( #103195 )
2023-04-05 08:27:01 +01:00
Michael Handler
1a8f862e32
gh-66897: Upgrade HTTP CONNECT to protocol HTTP/1.1 ( #8305 )
...
* bpo-22708: Upgrade HTTP CONNECT to protocol HTTP/1.1 (GH-NNNN)
Use protocol HTTP/1.1 when sending HTTP CONNECT tunnelling requests;
generate Host: headers if one is not already provided (required by
HTTP/1.1), convert IDN domains to punycode in HTTP CONNECT requests.
* Refactor tests to pass under -bb (fix ByteWarnings); missed some lines >80.
* Use consistent 'tunnelling' spelling in Lib/http/client.py
* Lib/test/test_httplib: Remove remnant of obsoleted test.
* Use dict.copy() not copy.copy()
* fix version changed
* Update Lib/http/client.py
Co-authored-by: bgehman <bgehman@users.noreply.github.com>
* Switch to for/else: syntax, as suggested
* Don't use for: else:
* Sure, fine, w/e
* Oops
* 1nm to the left
---------
Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: bgehman <bgehman@users.noreply.github.com>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
2023-04-04 21:55:24 -07:00
Charles Machalow
935aa45235
GH-75586: Make shutil.which() on Windows more consistent with the OS (GH-103179)
2023-04-04 23:24:13 +01:00
Thomas Wouters
30f82cf6c9
Merge branch 'main' of https://github.com/python/cpython into main
2023-04-04 22:01:07 +02:00
Steve Dower
fd1947ecfb
bpo-44844: Enable detection of Microsoft Edge browser in webbrowser module (GH-29908)
2023-04-04 17:00:03 +01:00
Thomas Wouters
b861ba4a82
Python 3.12.0a7
2023-04-04 17:52:42 +02:00
Erlend E. Aasland
c00dcf0e38
gh-103092: Isolate `_pickle` module ( #102982 )
...
Co-authored-by: Mohamed Koubaa <koubaa.m@gmail.com>
Co-authored-by: Kumar Aditya <59607654+kumaraditya303@users.noreply.github.com>
2023-04-04 15:38:54 +05:30
Ethan Furman
810d365b5e
gh-103056: [Enum] use staticmethod decorator for _gnv_ (GH-103231)
...
_gnv_ --> _generate_next_value_
2023-04-03 17:47:40 -07:00
Ethan Furman
5ffc1e5a21
gh-98298, gh-74730: [Enum] update docs (GH-103163)
...
fix FlagBoundary statements
add warning about reloading modules and enum identity
2023-04-03 14:57:42 -07:00
Sadra Barikbin
d3a7732dd5
gh-103215: Remove redundant if stmt from `enum.EnumType._find_data_type_` (GH-103222)
2023-04-03 14:51:43 -07:00
Barney Gale
11c302055a
GH-76846, GH-85281: Call `__new__()` and `__init__()` on pathlib subclasses (GH-102789)
...
Fix an issue where `__new__()` and `__init__()` were not called on subclasses of `pathlib.PurePath` and `Path` in some circumstances.
Paths are now normalized on-demand. This speeds up path construction, `p.joinpath(q)`, and `p / q`.
Co-authored-by: Steve Dower <steve.dower@microsoft.com>
2023-04-03 19:57:11 +01:00
Nikita Sobolev
2a721258a1
gh-101865: Deprecate `co_lnotab` from code objects as per PEP 626 ( #101866 )
...
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
2023-04-03 17:35:04 +02:00
Shantanu
385b5d6e09
gh-102038: Skip a sometimes unnecessary stat in site.py ( #102039 )
2023-04-02 15:47:31 -07:00
Charlie Zhao
32937d6aa4
gh-103109: Document ignore_warnings() test support helper ( #103110 )
...
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2023-04-03 00:18:25 +02:00
Giampaolo Rodola
6883007a86
bpo-4080: unittest durations ( #12271 )
2023-04-03 00:12:51 +02:00
Alex Waygood
6d59c9e32e
gh-102433: Use `inspect.getattr_static` in `typing._ProtocolMeta.__instancecheck__` ( #103034 )
2023-04-02 14:22:19 +01:00
Partha P. Mukherjee
d828b35785
GH-102456: Fix docstring and getopt options for base64 (gh-102457)
2023-04-02 14:05:50 +09:00
Alex Waygood
361a3eaf1b
gh-74690: Micro-optimise `typing._get_protocol_attrs` ( #103152 )
...
Improve performance of `isinstance()` checks against runtime-checkable protocols
2023-03-31 21:54:50 +01:00
Ethan Furman
2a4d8c0a9e
gh-102549: [Enum] fail enum creation when data type raises in __init__ (GH-103149)
2023-03-31 13:52:31 -07:00
Eric Snow
dfc4c95762
gh-101659: Clean Up the General Import Tests for Subinterpreters (gh-103151)
...
This involves 3 changes: some general cleanup, checks to match the kind of module, and switch from testing against sys to _imp.
This is a precursor to gh-103150, though the changes are meant to stand on their own.
2023-03-31 12:18:33 -06:00
Alex Waygood
9048d73f7a
gh-74690: typing: Don't unnecessarily call `_get_protocol_attrs` twice in `_ProtocolMeta.__instancecheck__` ( #103141 )
...
Speed up `isinstance()` calls against runtime-checkable protocols
2023-03-31 18:37:24 +01:00
James De Bias
b0422e140d
gh-102871: Remove obsolete browsers from webbrowser ( #102872 )
2023-03-31 11:02:47 -04:00
Irit Katriel
44bd3fe570
gh-102799: use exception instance instead of sys.exc_info() ( #102885 )
2023-03-31 11:23:02 +01:00
Jeong, YunWon
21e9de3bf0
gh-103085: Fix python locale.getencoding not to emit deprecation warning (gh-103086)
2023-03-31 01:23:43 +09:00
Brandt Bucher
121057aa36
GH-89987: Shrink the BINARY_SUBSCR caches (GH-103022)
2023-03-29 15:53:30 -07:00
Bernhard Wagner
d052a383f1
gh-103112: Add http.client.HTTPResponse.read docstring and fix pydoc output ( #103113 )
...
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Éric <merwok@netwok.org>
2023-03-29 15:21:56 -04:00
gaogaotiantian
e375bff037
gh-103068: Check condition expression of breakpoints for pdb ( #103069 )
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Artem Mukhin <ortem00@gmail.com>
2023-03-29 12:09:12 +02:00
Nikita Sobolev
60bdc16b45
gh-103054: typing: Improve `Callable` type substitution tests ( #103055 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Eclips4 <80244920+Eclips4@users.noreply.github.com>
2023-03-28 20:04:26 -07:00
Ethan Furman
f4ed2c6ae5
gh-102558: [Enum] better handling of non-Enum EnumType classes (GH-103060)
2023-03-27 16:26:16 -07:00
Ethan Furman
b838d80085
gh-103056: [Enum] ensure final _generate_next_value_ is a staticmethod (GH-103062)
2023-03-27 16:25:19 -07:00
Oleg Iarygin
56d055a0d8
gh-74468: [tarfile] Fix incorrect name attribute of ExFileObject (GH-102424)
...
Co-authored-by: Simeon Visser <svisser@users.noreply.github.com>
2023-03-27 16:21:07 -07:00
gaogaotiantian
34eb6f7276
gh-103046: Display current line correctly for `dis.disco()` with CACHE entries ( #103047 )
2023-03-27 23:22:06 +01:00
gaogaotiantian
3606753246
gh-103023: Add SyntaxError check in pdb's `display` command ( #103024 )
...
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
2023-03-27 22:37:22 +02:00
Matthias Görgens
30a306c2ad
Fix typo in _swappedbytes_ in ctypes comment ( #102773 )
...
It's a minor typo, but it makes for a misleading comment. Let's fix it.
2023-03-25 16:38:24 -07:00
Shantanu
718e86671f
gh-98886: Fix issues with dataclass fields with special underscore names ( #102032 )
...
This commit prefixes `__dataclass` to several things in the locals dict:
- Names like `_dflt_` (which cause trouble, see first test)
- Names like `_type_` (not known to be able to cause trouble)
- `_return_type` (not known to able to cause trouble)
- `_HAS_DEFAULT_FACTORY` (which causes trouble, see second test)
In addition, this removes `MISSING` from the locals dict. As far as I can tell, this wasn't needed even in the initial implementation of dataclasses.py (and tests on that version passed with it removed). This makes me wary :-)
This is basically a continuation of #96151 , where fixing this was welcomed in https://github.com/python/cpython/pull/98143#issuecomment-1280306360
2023-03-25 14:40:11 -07:00
Nikita Sobolev
8ec6486462
gh-103027: Update `dataclass.make_dataclass` docstring (gh-103028)
...
* gh-103027: Update `dataclass.make_dataclass` docstring
2023-03-25 15:36:38 -04:00
Raymond Hettinger
1fd603fad2
GH-102833: Mention the key function in the docstrings (GH-103009)
2023-03-25 02:19:20 -05:00
JakobDev
64cb1a4f0f
gh-100131: Add optional delete parameter to tempfile.TemporaryDirectory() ( #100132 )
...
Add optional delete parameter to tempfile.TemporaryDirectory().
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-03-24 14:52:06 -07:00
gaogaotiantian
ded9a7fc19
gh-102980: Add tests for pdf's display, alias and where commands ( #102981 )
2023-03-24 20:50:06 +00:00
David Benjamin
acfe02f3b0
gh-100372: Use BIO_eof to detect EOF for SSL_FILETYPE_ASN1 (GH-100373)
...
In PEM, we need to parse until error and then suppress `PEM_R_NO_START_LINE`, because PEM allows arbitrary leading and trailing data. DER, however, does not. Parsing until error and suppressing `ASN1_R_HEADER_TOO_LONG` doesn't quite work because that error also covers some cases that should be rejected.
Instead, check `BIO_eof` early and stop the loop that way.
Automerge-Triggered-By: GH:Yhg1s
2023-03-24 06:04:30 -07:00
MonadChains
413b7db8a4
gh-94684: uuid: support bytes in the name argument to uuid3/5 ( #94709 )
...
RFC 4122 does not specify that name should be a string, so for completness the functions should also support a name given as a raw byte sequence.
2023-03-23 17:42:43 -06:00
Brandt Bucher
0444ae2487
GH-100982: Break up COMPARE_AND_BRANCH (GH-102801)
2023-03-23 15:25:09 -07:00
Dong-hee Na
bd063756b3
gh-102558: [Enum] fix AttributeError during member repr() (GH-102601)
2023-03-23 13:30:18 -07:00
Raymond Hettinger
4695709143
Move binomialvariate() to a section for discrete distributions (GH-102955)
2023-03-23 12:10:12 -05:00
AN Long
bf42eb8722
gh-102943: Stop checking localized error text in socket tests on Windows (GH-102944)
2023-03-23 16:34:48 +00:00
Nikita Sobolev
adb0621652
gh-88965: typing: fix type substitution of a list of types after initial `ParamSpec` substitution ( #102808 )
...
Previously, this used to fail:
```py
from typing import *
T = TypeVar("T")
P = ParamSpec("P")
class X(Generic[P]):
f: Callable[P, int]
Y = X[[int, T]]
Z = Y[str]
```
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-23 16:26:11 +00:00
Alex Waygood
baf4eb083c
gh-102947: Improve traceback when calling `fields()` on a non-dataclass ( #102948 )
2023-03-23 14:17:54 +00:00
Irit Katriel
3468c768ce
gh-102859: Remove JUMP_IF_FALSE_OR_POP and JUMP_IF_TRUE_OR_POP ( #102870 )
2023-03-22 18:10:48 +00:00
Kristján Valur Jónsson
04adf2df39
gh-102780: Fix uncancel() call in asyncio timeouts ( #102815 )
...
Also use `raise TimeOut from <CancelledError instance>` so that the CancelledError is set
in the `__cause__` field rather than in the `__context__` field.
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-22 10:52:10 -07:00
Stanislav Zmiev
713df2c534
GH-89727: Fix pathlib.Path.walk RecursionError on deep trees (GH-100282)
...
Use a stack to implement `pathlib.Path.walk()` iteratively instead of recursively to avoid hitting recursion limits on deeply nested trees.
Co-authored-by: Barney Gale <barney.gale@gmail.com>
Co-authored-by: Brett Cannon <brett@python.org>
2023-03-22 14:45:25 +00:00
Benjamin Fogle
af9c34f6ef
gh-96931: Fix incorrect results in ssl.SSLSocket.shared_ciphers ( #96932 )
2023-03-22 15:08:41 +01:00
Erlend E. Aasland
61405da9a5
gh-101947: Remove size check from sqlite3 serialize test ( #102914 )
...
The size of the returned data is too implementation specific.
2023-03-22 14:05:08 +01:00
Icelain
3d7eb66c96
gh-101313: Add -h and --help arguments to the webbrowser module (gh-101374)
2023-03-22 21:19:52 +09:00
David Benjamin
420bbb783b
GH-95494: Fix transport EOF handling in OpenSSL 3.0 (GH-95495)
...
GH-25309 enabled SSL_OP_IGNORE_UNEXPECTED_EOF by default, with a comment
that it restores OpenSSL 1.1.1 behavior, but this wasn't quite right.
That option causes OpenSSL to treat transport EOF as the same as
close_notify (i.e. SSL_ERROR_ZERO_RETURN), whereas Python actually has
distinct SSLEOFError and SSLZeroReturnError exceptions. (The latter is
usually mapped to a zero return from read.) In OpenSSL 1.1.1, the ssl
module would raise them for transport EOF and close_notify,
respectively. In OpenSSL 3.0, both act like close_notify.
Fix this by, instead, just detecting SSL_R_UNEXPECTED_EOF_WHILE_READING
and mapping that to the other exception type.
There doesn't seem to have been any unit test of this error, so fill in
the missing one. This had to be done with the BIO path because it's
actually slightly tricky to simulate a transport EOF with Python's fd
based APIs. (If you instruct the server to close the socket, it gets
confused, probably because the server's SSL object is still referencing
the now dead fd?)
2023-03-22 13:16:26 +01:00
Irit Katriel
76350e85eb
gh-102406: replace exception chaining by PEP-678 notes in codecs ( #102407 )
2023-03-21 21:36:31 +00:00
wim glenn
4bb1dd3c5c
gh-102876: remove superfluous parens from itertools.batched recipe (GH-102877)
...
remove superfluous parens from itertools.batched recipe
2023-03-21 12:06:18 -05:00
Irit Katriel
7f760c2fca
gh-102828: emit deprecation warning for onerror arg to shutil.rmtree ( #102850 )
2023-03-21 11:08:46 +00:00
Irit Katriel
868490e327
gh-102799: Let pydoc use the exception instead of sys.exc_info ( #102830 )
2023-03-21 11:07:03 +00:00
Irit Katriel
5c471f3f2a
gh-102755: PyErr_DisplayException only in ABI >= 3.12. Tests cover PyErr_Display as well (GH-102849)
2023-03-21 10:36:18 +01:00
Alan Williams
5e6661bce9
gh-72346: Added isdst deprecation warning to email.utils.localtime (GH-91450)
2023-03-19 19:20:20 -05:00
Irit Katriel
40d4f15793
gh-102828: fix test failure (add missing skip instructions) ( #102835 )
2023-03-20 00:03:55 +00:00
Pieter Eendebak
382ee2f0f2
gh-102491: Remove IronPython version check in sys_version ( #102492 )
2023-03-19 15:52:47 -07:00
JosephSBoyle
699cb20ae6
gh-102810: Add docstrings to the public-facing methods of `asyncio.Timeout` ( #102811 )
...
Co-authored-by: Guido van Rossum <gvanrossum@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-19 20:06:09 +00:00
Irit Katriel
d51a6dc28e
gh-102828: add onexc arg to shutil.rmtree. Deprecate onerror. ( #102829 )
2023-03-19 18:33:51 +00:00
Irit Katriel
4d1f033986
gh-102778: revert changes to idlelib ( #102825 )
2023-03-19 12:19:59 -04:00
Irit Katriel
e1e9bab006
gh-102778: Add sys.last_exc, deprecate sys.last_type, sys.last_value,sys.last_traceback ( #102779 )
2023-03-18 11:47:11 +00:00
Irit Katriel
b3cc11a08e
gh-102799: remove unnecessary calls to sys.exc_info() in tests ( #102800 )
2023-03-18 07:19:38 +00:00
Inada Naoki
65fb7c4055
gh-102701: Fix overflow in dictobject.c (GH-102750)
2023-03-17 22:39:09 +09:00
Kumar Aditya
4f5774f648
GH-78530: add support for generators in `asyncio.wait` ( #102761 )
2023-03-17 06:58:43 +05:30
Irit Katriel
3f9285a8c5
gh-102755: Add PyErr_DisplayException(exc) ( #102756 )
2023-03-16 22:18:04 +00:00
Steve Dower
0f175766e2
gh-99726: Improves correctness of stat results for Windows, and uses faster API when available (GH-102149)
...
This deprecates `st_ctime` fields on Windows, with the intent to change them to contain the correct value in 3.14. For now, they should keep returning the creation time as they always have.
2023-03-16 17:27:21 +00:00
Kumar Aditya
adaed17341
GH-102748: remove legacy support for generator based coroutines from `asyncio.iscoroutine` ( #102749 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-16 20:28:10 +05:30
Nikita Sobolev
fbe82fdd77
gh-102721: Improve coverage of `_collections_abc._CallableGenericAlias` ( #102722 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-16 14:47:30 +00:00
Nikita Sobolev
a297d59609
Add comments to `{typing,_collections_abc}._type_repr` about each other ( #102752 )
...
Remove `if` condition in `_collections_abc._type_repr` that's no longer needed, bringing it in sync with `typing._type_repr`.
2023-03-16 13:05:38 +00:00
Irit Katriel
51d693c584
gh-102594: PyErr_SetObject adds note to exception raised on normalization error ( #102675 )
2023-03-16 10:16:01 +00:00
yonatanp
2dc94634b5
gh-94440: Fix issue of ProcessPoolExecutor shutdown hanging ( #94468 )
...
Fix an issue of concurrent.futures ProcessPoolExecutor shutdown hanging.
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-15 21:44:52 -07:00
Kumar Aditya
a44553ea9f
GH-100112: avoid using iterable coroutines in asyncio internally ( #100128 )
2023-03-16 09:20:43 +05:30
Jamoo721
1c9f3391b9
gh-102690: Use Edge as fallback in webbrowser instead of IE ( #102691 )
2023-03-15 22:52:11 -04:00
Martin Breuss
00d1ef73d6
Fix typo in code comment ( #102726 )
2023-03-15 19:18:18 +00:00
Nikita Sobolev
2b5781d659
gh-102615: Use `list` instead of `tuple` in `repr` of paramspec ( #102637 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-03-15 09:33:41 +00:00
Andre Hora
5e0865f22e
gh-101377: improving test_locale_calendar_formatweekday of calendar ( #101378 )
...
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-03-14 22:36:31 -04:00