Commit graph

116480 commits

Author SHA1 Message Date
Adam Turner
1e9dfdacef
Docs: use Node.findall to avoid a deprecation warning (#99403) 2023-04-08 10:56:20 +03:00
C.A.M. Gerlach
a34c796238
gh-75729: Fix os.spawn tests not handling spaces on Windows (#99150)
* Quote paths in os.spawn tests on Windows so they work with spaces

* Add NEWS entry for os spawn test fix

* Fix code style to avoid double negative in os.spawn tests

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>

---------

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-04-08 10:37:23 +03:00
Tomáš Hrnčiar
13774969f7
gh-102809: Remove gdbinit mention in Misc/README (#103269) 2023-04-08 00:04:23 -07:00
Russell Keith-Magee
26c65980dc
gh-103329: Add regression test for PropertyMock with side effect (#103358) 2023-04-07 20:09:00 -06:00
Erlend E. Aasland
91794e5873
gh-83004: Harden _socket init (GH-103261)
Automerge-Triggered-By: GH:erlend-aasland
2023-04-07 16:43:44 -07:00
Alex Waygood
644136563d
gh-74690: Document changes made to runtime-checkable protocols in 3.12 (#103348)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-04-07 22:06:37 +01:00
sunmy2019
5d7d86f2fd
gh-103272: regression test for getattr exception in property (#103336) 2023-04-07 12:11:11 -07:00
Michał Górny
a90863c993
gh-100220: Fix error handling in make rules (GH-100328)
Set `SHELL = /bin/sh -e` to ensure that complex recipes fail on the first error rather than incorrectly reporting success.

Co-authored-by: Zachary Ware <zach@python.org>
2023-04-07 13:23:59 -05:00
Tian Gao
2667452945
gh-103225: Fixed zero lineno issue for pdb (#103265)
Co-authored-by: Artem Mukhin <ortem00@gmail.com>
2023-04-07 18:57:46 +01:00
Alex Waygood
800382a2b0
gh-74690: Add more tests for runtime-checkable protocols (#103347) 2023-04-07 18:21:19 +01:00
Alex Waygood
04501ee57e
gh-103193: Celebrate performance improvements to inspect.getattr_static in 'What's New in Python 3.12' (#103349) 2023-04-07 18:14:50 +01:00
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
Nikita Sobolev
059bb04245
gh-102213: Revert "gh-102213: Optimize the performance of __getattr__ (GH-102248)" (GH-103332)
This reverts commit aa0a73d1bc.
2023-04-07 17:22:36 +08: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
Oleg Iarygin
f0424ba4b6
gh-103266: Fix a typo in example code for bisect() function (#103267) 2023-04-06 17:34:19 -07: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
Eric Snow
52e9b389a8
gh-100227: Use an Array for _PyRuntime's Set of Locks During Init (gh-103315)
This cleans things up a bit and simplifies adding new granular global locks.
2023-04-06 12:00:49 -06:00
Jeffrey Newman
23cf1e20a6
gh-99202: Fix extension type from documentation for compiling in C++20 mode (#102518) 2023-04-06 17:59:36 +02: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
Ned Deily
6e3ee049ac
gh-103207: Fix Welcome formatting issues when macOS Installer is run in dark mode. (GH-103303) 2023-04-05 23:42:14 -04: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
Eric Snow
aa5a9b5eb7
gh-101659: Use the Raw Allocator in the _xxinterpchannels Module (gh-103287)
Using the raw allocator for any of the global state makes sense, especially as we move to a per-interpreter obmalloc state (gh-101660).
2023-04-05 15:13:12 -06:00
Alex Waygood
de18267685
gh-74690: Further optimise typing._ProtocolMeta.__instancecheck__ (#103280) 2023-04-05 17:37:36 +01:00
Joshua Root
96e1901a59
gh-99069: Consolidate checks for static_assert (#94766)
Several platforms don't define the static_assert macro despite having
compiler support for the _Static_assert keyword. The macro needs to be
defined since it is used unconditionally in the Python code. So it
should always be safe to define it if undefined and not in C++11 (or
later) mode.

Hence, remove the checks for particular platforms or libc versions,
and just define static_assert anytime it needs to be defined but isn't.
That way, all platforms that need the fix will get it, regardless of
whether someone specifically thought of them.

Also document that certain macOS versions are among the platforms that
need this.

The C2x draft (currently expected to become C23) makes static_assert
a keyword to match C++. So only define the macro for up to C17.

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-04-05 17:09:19 +02:00
Olivier Gayot
fdd0fff277
gh-102899: Fix doc link for getting filesystem error handler (#102901) 2023-04-05 16:54:43 +02: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
Serhiy Storchaka
a28d4edb23
gh-100408: Fix a traceback in multiprocessing example (#100409) 2023-04-05 12:43:26 +01: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
C.A.M. Gerlach
c396b6ddf3
gh-81762: Clarify and simplify description of print's flush param (#103264) 2023-04-05 12:16:36 +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
Nikita Sobolev
119f67de08
gh-103167: Fix -Wstrict-prototypes warnings by using (void) for functions with no args (GH-103168) 2023-04-05 09:22:33 +02: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
Dong-hee Na
a62ff97075
gh-101525: Disable peephole optimization process of BOLT (gh-103187)
Co-authored-by: Dong-hee Na <donghee.na@linecorp.com>
2023-04-05 09:10:45 +09:00
Eric Snow
f513d5c806
gh-102660: Fix is_core_module() (gh-103257)
In gh-102744 we added is_core_module() (in Python/import.c), which relies on get_core_module_dict() (also added in that PR).  The problem is that_PyImport_FixupBuiltin(), which ultimately calls is_core_module(), is called on the builtins module before interp->builtins_copyis set.  Consequently, the builtins module isn't considered a "core" module while it is getting "fixed up" and its module def m_copy erroneously gets set.  Under isolated interpreters this causes problems since sys and builtins are allowed even though they are still single-phase init modules.  (This was discovered while working on gh-101660.)

The solution is to stop relying on get_core_module_dict() in is_core_module().
2023-04-04 17:03:40 -06:00
Tim Burke
bceb9e00ad
Improve some grammar in the socket docs (#103254) 2023-04-04 23:46:46 +01: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
Ned Deily
f184abbdc9
gh-103207: Add instructions to the macOS installer welcome display on how to workaround the macOS 13 Ventura “The installer encountered an error” failure. (GH-103251) 2023-04-04 17:06:00 -04:00
Thomas Wouters
30f82cf6c9 Merge branch 'main' of https://github.com/python/cpython into main 2023-04-04 22:01:07 +02:00
Thomas Wouters
a90f5ca87b Post 3.12.0a7 2023-04-04 22:00:41 +02:00