]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 years agoRemove documentation for non-existing socket class attributes (GH-28029)
Matti Picus [Tue, 7 Sep 2021 18:09:11 +0000 (21:09 +0300)] 
Remove documentation for non-existing socket class attributes (GH-28029)

The functions in question are available on the module-level only.

4 years agobpo-45012: Release GIL around stat in os.scandir (GH-28085)
Stanisław Skonieczny [Tue, 7 Sep 2021 17:55:20 +0000 (19:55 +0200)] 
bpo-45012: Release GIL around stat in os.scandir (GH-28085)

Releasing GIL allows other threads to continue
its work when os.scandir is fetching DirEntry.stat
info from file system.

4 years agoAdd more itertool recipes (GH-28165)
Raymond Hettinger [Tue, 7 Sep 2021 17:29:00 +0000 (12:29 -0500)] 
Add more itertool recipes (GH-28165)

4 years agobpo-38820: Test with OpenSSL 3.0.0 final (GH-28205)
Christian Heimes [Tue, 7 Sep 2021 17:04:55 +0000 (20:04 +0300)] 
bpo-38820: Test with OpenSSL 3.0.0 final (GH-28205)

Signed-off-by: Christian Heimes <christian@python.org>
4 years agobpo-45118: Fix regrtest second summary for re-run tests (GH-28183)
Victor Stinner [Tue, 7 Sep 2021 16:21:00 +0000 (18:21 +0200)] 
bpo-45118: Fix regrtest second summary for re-run tests (GH-28183)

Fix regrtest second summary when using -w/--verbose2 command line
option: lists re-run tests in the second test summary.

4 years agobpo-45104: Clarify when __init__ is called (GH-28210)
Raymond Hettinger [Tue, 7 Sep 2021 16:04:39 +0000 (11:04 -0500)] 
bpo-45104: Clarify when __init__ is called (GH-28210)

4 years agobpo-44348: BaseException deallocator uses trashcan (GH-28190)
Victor Stinner [Tue, 7 Sep 2021 13:42:11 +0000 (15:42 +0200)] 
bpo-44348: BaseException deallocator uses trashcan (GH-28190)

The deallocator function of the BaseException type now uses the
trashcan mecanism to prevent stack overflow. For example, when a
RecursionError instance is raised, it can be linked to another
RecursionError through the __context__ attribute or the __traceback__
attribute, and then a chain of exceptions is created. When the chain
is destroyed, nested deallocator function calls can crash with a
stack overflow if the chain is too long compared to the available
stack memory.

4 years agobpo-42064: Pass module state to trace, progress, and authorizer callbacks (GH-27940)
Erlend Egeberg Aasland [Tue, 7 Sep 2021 13:06:17 +0000 (15:06 +0200)] 
bpo-42064: Pass module state to trace, progress, and authorizer callbacks (GH-27940)

- add print-or-clear traceback helper
- add helpers to clear and visit saved contexts
- modify callbacks to use the new callback_context struct

4 years agobpo-45034: Fix how upper limit is formatted for `struct.pack("H", ...)` (GH-28178)
Nikita Sobolev [Tue, 7 Sep 2021 12:18:46 +0000 (15:18 +0300)] 
bpo-45034: Fix how upper limit is formatted for `struct.pack("H", ...)` (GH-28178)

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
4 years agoRevert "bpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)" (GH...
Pablo Galindo Salgado [Tue, 7 Sep 2021 11:46:25 +0000 (12:46 +0100)] 
Revert "bpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)" (GH-28201)

This reverts commit 4f88161f07538dfb24a43189fd59bf966cb40817.

4 years agobpo-44991: Normalise `sqlite3` callback naming (GH-28088)
Erlend Egeberg Aasland [Tue, 7 Sep 2021 11:43:44 +0000 (13:43 +0200)] 
bpo-44991: Normalise `sqlite3` callback naming (GH-28088)

- all callbacks are now named xxx_callback
- normalise callable naming in set_*() functions
- normalise context argument naming in callbacks

The sqlite code is being "touched" in bpo-42064 (and related issues);
this style change makes it easier to work with and review.

4 years agobpo-44964: Add a note explaining the new semantics of f_last_i in frame objects ...
Pablo Galindo Salgado [Tue, 7 Sep 2021 11:18:54 +0000 (12:18 +0100)] 
bpo-44964: Add a note explaining the new semantics of f_last_i in frame objects (GH-28200)

4 years agobpo-45123: PyAiter_Check and PyObject_GetAiter fix & rename. (GH-28194)
Yury Selivanov [Tue, 7 Sep 2021 10:52:30 +0000 (03:52 -0700)] 
bpo-45123: PyAiter_Check and PyObject_GetAiter fix & rename. (GH-28194)

Fix PyAiter_Check to only check for the `__anext__` presense (not for
`__aiter__`). Rename `PyAiter_Check()` to `PyAIter_Check()`,
`PyObject_GetAiter()` -> `PyObject_GetAIter()`.

Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
4 years agobpo-45124: Remove the bdist_msi command (GH-28195)
Hugo van Kemenade [Tue, 7 Sep 2021 10:34:27 +0000 (13:34 +0300)] 
bpo-45124: Remove the bdist_msi command (GH-28195)

The bdist_msi command, deprecated in Python 3.9, is now removed.
Use bdist_wheel (wheel packages) instead.

4 years agobpo-44963: Implement send() and throw() methods for anext_awaitable objects (GH-27955)
Pablo Galindo Salgado [Tue, 7 Sep 2021 10:30:14 +0000 (11:30 +0100)] 
bpo-44963: Implement send() and throw() methods for anext_awaitable objects (GH-27955)

Co-authored-by: Yury Selivanov <yury@edgedb.com>
4 years agobpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)
Tzu-ping Chung [Tue, 7 Sep 2021 10:27:48 +0000 (18:27 +0800)] 
bpo-45035: Make sysconfig posix_home depend on platlibdir (GH-28011)

4 years agoMake sysconfig posix_user not depend on platlibdir (GH-27655)
Tzu-ping Chung [Tue, 7 Sep 2021 09:26:42 +0000 (17:26 +0800)] 
Make sysconfig posix_user not depend on platlibdir (GH-27655)

4 years agoUpdate idlelib/help.html to include idle.rst spelling fix (GH-28191)
Terry Jan Reedy [Tue, 7 Sep 2021 04:04:54 +0000 (00:04 -0400)] 
Update idlelib/help.html to include idle.rst spelling fix (GH-28191)

The idle.rst fix was GH-27903 two weeks ago.

4 years agobpo-34561: Switch to Munro & Wild "powersort" merge strategy. (#28108)
Tim Peters [Mon, 6 Sep 2021 17:54:41 +0000 (12:54 -0500)] 
bpo-34561: Switch to Munro & Wild "powersort" merge strategy. (#28108)

For list.sort(), replace our ad hoc merge ordering strategy with the principled, elegant,
and provably near-optimal one from Munro and Wild's "powersort".

4 years agobpo-45052: Unskips a failing `test_shared_memory_basics` test (GH-28182)
Nikita Sobolev [Mon, 6 Sep 2021 16:55:34 +0000 (19:55 +0300)] 
bpo-45052: Unskips a failing `test_shared_memory_basics` test (GH-28182)

4 years agobpo-42238: [doc] remove unused, and deduplicate, suspicious ignore rules. (GH-28137)
Julien Palard [Mon, 6 Sep 2021 06:50:48 +0000 (08:50 +0200)] 
bpo-42238: [doc] remove unused, and deduplicate, suspicious ignore rules. (GH-28137)

4 years agobpo-44848: Update macOS installer to use SQLite 3.36.0 (GH-27621)
Erlend Egeberg Aasland [Sun, 5 Sep 2021 19:54:39 +0000 (21:54 +0200)] 
bpo-44848: Update macOS installer to use SQLite 3.36.0 (GH-27621)

4 years agoMore useful OrderedDict LRU recipes (GH-28164)
Raymond Hettinger [Sun, 5 Sep 2021 17:37:02 +0000 (12:37 -0500)] 
More useful OrderedDict LRU recipes (GH-28164)

4 years agobpo-41031: Match C and Python code formatting of unprintable exceptions and exception...
Irit Katriel [Sun, 5 Sep 2021 15:54:13 +0000 (16:54 +0100)] 
bpo-41031: Match C and Python code formatting of unprintable exceptions and exceptions in the __main__ module. (GH-28139)

4 years agoExtract visitors from the grammar nodes and call makers in the peg generator (GH...
Pablo Galindo Salgado [Sun, 5 Sep 2021 13:58:52 +0000 (14:58 +0100)] 
Extract visitors from the grammar nodes and call makers in the peg generator (GH-28172)

Simplify the peg generator logic by extracting as much visitors as possible to disentangle the flow and separate concerns.

4 years agobpo-45102: unittest: add tests for skipping and errors in cleanup (GH-28166)
Serhiy Storchaka [Sun, 5 Sep 2021 07:34:14 +0000 (10:34 +0300)] 
bpo-45102: unittest: add tests for skipping and errors in cleanup (GH-28166)

4 years agobpo-44571: Add itertool recipe for a variant of takewhile() (GH-28167)
Raymond Hettinger [Sun, 5 Sep 2021 05:09:26 +0000 (00:09 -0500)] 
bpo-44571:  Add itertool recipe for a variant of takewhile() (GH-28167)

4 years agoRemove unused macros from Modules/_sqlite/microprotocols.h (GH-28171)
Erlend Egeberg Aasland [Sun, 5 Sep 2021 03:59:30 +0000 (05:59 +0200)] 
Remove unused macros from Modules/_sqlite/microprotocols.h (GH-28171)

4 years agobpo-45042: Now test classes decorated with `requires_hashdigest` are not skipped...
Nikita Sobolev [Sat, 4 Sep 2021 20:42:36 +0000 (23:42 +0300)] 
bpo-45042: Now test classes decorated with `requires_hashdigest` are not skipped (GH-28060)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
4 years agoAdd What's New for dataclass keyword-only parameters. (GH-28158)
Eric V. Smith [Sat, 4 Sep 2021 18:58:17 +0000 (14:58 -0400)] 
Add What's New for dataclass keyword-only parameters. (GH-28158)

4 years agobpo-45030: Fix integer overflow in __reduce__ of the range iterator (GH-28000)
Serhiy Storchaka [Sat, 4 Sep 2021 18:02:21 +0000 (21:02 +0300)] 
bpo-45030: Fix integer overflow in __reduce__ of the range iterator (GH-28000)

It happened with fast range iterator  when the calculated stop = start + step * len
was out of the C long range.

4 years agobpo-45097: Add more tests for shutdown_asyncgens() (GH-28154)
Serhiy Storchaka [Sat, 4 Sep 2021 17:55:20 +0000 (20:55 +0300)] 
bpo-45097: Add more tests for shutdown_asyncgens() (GH-28154)

4 years agoCheck that 'configure' is generated by GNU Autoconf 2.69 (GH-28152)
Pablo Galindo Salgado [Sat, 4 Sep 2021 14:20:38 +0000 (15:20 +0100)] 
Check that 'configure' is generated by GNU Autoconf 2.69 (GH-28152)

4 years agoHandle different string hash algorithms correctly (#28147)
Brandt Bucher [Sat, 4 Sep 2021 14:14:27 +0000 (07:14 -0700)] 
Handle different string hash algorithms correctly (#28147)

4 years agobpo-45075: distinguish between frame and FrameSummary in traceback mo… (GH-28112)
Irit Katriel [Fri, 3 Sep 2021 21:39:23 +0000 (22:39 +0100)] 
bpo-45075: distinguish between frame and FrameSummary in traceback mo… (GH-28112)

4 years agobpo-45022: Update libffi to 3.4.2 in Windows build (GH-28146)
Steve Dower [Fri, 3 Sep 2021 18:37:31 +0000 (19:37 +0100)] 
bpo-45022: Update libffi to 3.4.2 in Windows build (GH-28146)

4 years agobpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)
Dong-hee Na [Fri, 3 Sep 2021 16:21:03 +0000 (16:21 +0000)] 
bpo-42255: Deprecate webbrowser.MacOSX from Python 3.11 (GH-27837)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-43950: support positions for dis.Instructions created through dis.Bytecode (GH...
Batuhan Taskaya [Fri, 3 Sep 2021 15:29:09 +0000 (18:29 +0300)] 
bpo-43950: support positions for dis.Instructions created through dis.Bytecode (GH-28142)

4 years agobpo-45094: Add Py_NO_INLINE macro (GH-28140)
Victor Stinner [Fri, 3 Sep 2021 14:44:02 +0000 (16:44 +0200)] 
bpo-45094: Add Py_NO_INLINE macro (GH-28140)

* Rename _Py_NO_INLINE macro to Py_NO_INLINE: make it public and
  document it.
* Sort macros in the C API documentation.

4 years agobpo-34602: Quadruple stack size on macOS when compiling with UBSAN (GH-27309)
Łukasz Langa [Fri, 3 Sep 2021 07:32:19 +0000 (09:32 +0200)] 
bpo-34602: Quadruple stack size on macOS when compiling with UBSAN (GH-27309)

4 years agobpo-45083: Include the exception class qualname when formatting an exception (GH...
Irit Katriel [Fri, 3 Sep 2021 07:30:17 +0000 (08:30 +0100)] 
bpo-45083: Include the exception class qualname when formatting an exception (GH-28119)

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
4 years agobpo-45082: Cleanup ctypes.c_buffer alias (GH-28129)
Victor Stinner [Thu, 2 Sep 2021 17:02:03 +0000 (19:02 +0200)] 
bpo-45082: Cleanup ctypes.c_buffer alias (GH-28129)

* Remove commented deprecation of ctypes.c_buffer.
* Remove references to ctypes.c_string which doesn't exist.
* Remove StringTestCase: it only had skipped test methods.

4 years agobpo-45081: Fix __init__ method generation when inheriting from Protocol (GH-28121)
Yurii Karabas [Thu, 2 Sep 2021 16:17:13 +0000 (19:17 +0300)] 
bpo-45081: Fix __init__ method generation when inheriting from Protocol (GH-28121)

Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
4 years ago[doc] Reword sentinel object summary in dataclasses (GH-27792)
Ville Korhonen [Thu, 2 Sep 2021 16:03:22 +0000 (16:03 +0000)] 
[doc] Reword sentinel object summary in dataclasses (GH-27792)

This sentinel value (`MISSING`) is also used as default value for the `kw_only` parameter introduced in Python 3.10. It's cleaner to simply omit the usage here.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-40360: [doc] Rephrase deprecation note about lib2to3 (GH-28122)
Łukasz Langa [Thu, 2 Sep 2021 15:12:49 +0000 (17:12 +0200)] 
bpo-40360: [doc] Rephrase deprecation note about lib2to3 (GH-28122)

4 years agobpo-43613: Faster implementation of gzip.compress and gzip.decompress (GH-27941)
Ruben Vorderman [Thu, 2 Sep 2021 15:02:59 +0000 (17:02 +0200)] 
bpo-43613: Faster implementation of gzip.compress and gzip.decompress (GH-27941)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years ago[doc] Link to deprecation policy PEP from the DeprecationWarning documentation (GH...
Łukasz Langa [Thu, 2 Sep 2021 14:44:50 +0000 (16:44 +0200)] 
[doc] Link to deprecation policy PEP from the DeprecationWarning documentation (GH-28123)

4 years agobpo-45056: Remove trailing unused constants from co_consts (GH-28109)
Inada Naoki [Thu, 2 Sep 2021 11:02:06 +0000 (20:02 +0900)] 
bpo-45056: Remove trailing unused constants from co_consts (GH-28109)

4 years agobpo-37330: open() no longer accept 'U' in file mode (GH-28118)
Victor Stinner [Thu, 2 Sep 2021 10:58:00 +0000 (12:58 +0200)] 
bpo-37330: open() no longer accept 'U' in file mode (GH-28118)

open(), io.open(), codecs.open() and fileinput.FileInput no longer
accept "U" ("universal newline") in the file mode. This flag was
deprecated since Python 3.3.

4 years agobpo-45085: Remove the binhex module (GH-28117)
Victor Stinner [Thu, 2 Sep 2021 10:10:08 +0000 (12:10 +0200)] 
bpo-45085: Remove the binhex module (GH-28117)

The binhex module, deprecated in Python 3.9, is now removed. The
following binascii functions, deprecated in Python 3.9, are now also
removed:

* a2b_hqx(), b2a_hqx();
* rlecode_hqx(), rledecode_hqx().

The binascii.crc_hqx() function remains available.

4 years agobpo-40360: Deprecate the lib2to3 package (GH-28116)
Victor Stinner [Thu, 2 Sep 2021 09:46:47 +0000 (11:46 +0200)] 
bpo-40360: Deprecate the lib2to3 package (GH-28116)

4 years agobpo-44895: libregrtest: refleak check clears types later (GH-28113)
Victor Stinner [Wed, 1 Sep 2021 15:45:27 +0000 (17:45 +0200)] 
bpo-44895: libregrtest: refleak check clears types later (GH-28113)

libregrtest now clears the type cache later to reduce the risk of
false alarm when checking for reference leaks. Previously, the type
cache was cleared too early and libregrtest raised a false alarm
about reference leaks under very specific conditions.

Move also support.gc_collect() outside clear/cleanup functions to
make the garbage collection more explicit.

Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
4 years agobpo-31299: make it possible to filter out frames from tracebacks (GH-28067)
Irit Katriel [Tue, 31 Aug 2021 20:42:08 +0000 (21:42 +0100)] 
bpo-31299: make it possible to filter out frames from tracebacks (GH-28067)

4 years agobpo-45059: Add module cleanup to IDLE test_macosx (GH-28102)
Terry Jan Reedy [Tue, 31 Aug 2021 18:59:35 +0000 (14:59 -0400)] 
bpo-45059: Add module cleanup to IDLE test_macosx (GH-28102)

4 years agobpo-45057: Simplify RegressionTestResult (GH-28081)
Serhiy Storchaka [Tue, 31 Aug 2021 17:45:09 +0000 (20:45 +0300)] 
bpo-45057: Simplify RegressionTestResult (GH-28081)

Remove code which duplicates the functionality of TextTestResult.

4 years agobpo-45039: Consistently use ADDOP_LOAD_CONST in compiler rather than ADDOP_O(c, LOAD_...
Irit Katriel [Tue, 31 Aug 2021 17:41:20 +0000 (18:41 +0100)] 
bpo-45039: Consistently use ADDOP_LOAD_CONST in compiler rather than ADDOP_O(c, LOAD_CONST,...) (GH-28015)

4 years agobpo-45059: Fix IDLE test typo: using "==" instead of "=" (GH-28086)
Serhiy Storchaka [Tue, 31 Aug 2021 17:32:01 +0000 (20:32 +0300)] 
bpo-45059: Fix IDLE test typo: using "==" instead of "=" (GH-28086)

4 years agobpo-37596: Clean up the set/frozenset marshalling code (GH-28068)
Brandt Bucher [Tue, 31 Aug 2021 16:18:33 +0000 (09:18 -0700)] 
bpo-37596: Clean up the set/frozenset marshalling code (GH-28068)

4 years agobpo-45061: Detect Py_DECREF(Py_True) bug (GH-28089)
Victor Stinner [Tue, 31 Aug 2021 16:05:15 +0000 (18:05 +0200)] 
bpo-45061: Detect Py_DECREF(Py_True) bug (GH-28089)

Add a deallocator to the bool type to detect refcount bugs in C
extensions which call Py_DECREF(Py_True) or Py_DECREF(Py_False) by
mistake.

4 years agobpo-44135: [docs] Fix inline markup (GH-28095)
Ken Jin [Tue, 31 Aug 2021 16:01:17 +0000 (00:01 +0800)] 
bpo-44135: [docs] Fix inline markup (GH-28095)

4 years agobpo-45061: Enhance faulthandler traceback wit no Python frame (GH-28090)
Victor Stinner [Tue, 31 Aug 2021 15:34:29 +0000 (17:34 +0200)] 
bpo-45061: Enhance faulthandler traceback wit no Python frame (GH-28090)

Fix indentation of <no Python frame> message in a faulthandler
traceback or a Fatal Python error traceback. Example:

Current thread 0x00007f03896fb740 (most recent call first):
  Garbage-collecting
  <no Python frame>

4 years agobpo-45060: Get rid of few uses of the equality operators with None (GH-28087)
Serhiy Storchaka [Tue, 31 Aug 2021 13:59:52 +0000 (16:59 +0300)] 
bpo-45060: Get rid of few uses of the equality operators with None (GH-28087)

4 years agobpo-44135: Refine explanation of how passing tuples to issubclass() behaves (GH-26193)
Zack Kneupper [Tue, 31 Aug 2021 13:39:19 +0000 (09:39 -0400)] 
bpo-44135: Refine explanation of how passing tuples to issubclass() behaves (GH-26193)

Co-authored-by: Zachary Kneupper <zachary.kneupper@gmail.com>
4 years agobpo-42064: Offset arguments for PyObject_Vectorcall in the _sqlite module (GH-27931)
Petr Viktorin [Tue, 31 Aug 2021 12:34:44 +0000 (14:34 +0200)] 
bpo-42064: Offset arguments for PyObject_Vectorcall in the _sqlite module (GH-27931)

This allows e.g. methods to be called efficiently by providing
space for a "self" argument; see PY_VECTORCALL_ARGUMENTS_OFFSET docs.

4 years agobpo-44991: Make GIL handling more explicit in `sqlite3` callbacks (GH-27934)
Erlend Egeberg Aasland [Tue, 31 Aug 2021 12:18:43 +0000 (14:18 +0200)] 
bpo-44991: Make GIL handling more explicit in `sqlite3` callbacks (GH-27934)

- acquire the GIL at the very start[1]
- release the GIL at the very end

[1] The trace callback performs a sanity check before acquiring the GIL

Automerge-Triggered-By: GH:encukou
4 years agobpo-44925: [docs] Fix confusing deprecation notice for typing.IO (GH-28004)
DonnaDia [Tue, 31 Aug 2021 09:44:27 +0000 (12:44 +0300)] 
bpo-44925: [docs] Fix confusing deprecation notice for typing.IO (GH-28004)

4 years agobpo-39218: Improve accuracy of variance calculation (GH-27960)
Raymond Hettinger [Tue, 31 Aug 2021 01:57:30 +0000 (20:57 -0500)] 
bpo-39218: Improve accuracy of variance calculation (GH-27960)

4 years agobpo-45019: Add a tool to generate list of modules to include for frozen modules ...
Eric Snow [Mon, 30 Aug 2021 23:25:11 +0000 (17:25 -0600)] 
bpo-45019: Add a tool to generate list of modules to include for frozen modules (gh-27980)

Frozen modules must be added to several files in order to work properly. Before this change this had to be done manually. Here we add a tool to generate the relevant lines in those files instead. This helps us avoid mistakes and omissions.

https://bugs.python.org/issue45019

4 years agobpo-44756: Remove misleading NEWS entries of a change that was reverted before releas...
Łukasz Langa [Mon, 30 Aug 2021 21:54:47 +0000 (23:54 +0200)] 
bpo-44756: Remove misleading NEWS entries of a change that was reverted before release (GH-28075)

4 years agobpo-45041: Increase coverage for sqlite3.Cursor.executescript() (GH-28074)
Erlend Egeberg Aasland [Mon, 30 Aug 2021 21:14:27 +0000 (23:14 +0200)] 
bpo-45041: Increase coverage for sqlite3.Cursor.executescript() (GH-28074)

4 years agobpo-16379: expose SQLite error codes and error names in `sqlite3` (GH-27786)
Erlend Egeberg Aasland [Mon, 30 Aug 2021 18:32:21 +0000 (20:32 +0200)] 
bpo-16379: expose SQLite error codes and error names in `sqlite3` (GH-27786)

4 years agobpo-43398: Add test for defect connection factories (GH-27966)
Erlend Egeberg Aasland [Mon, 30 Aug 2021 17:49:34 +0000 (19:49 +0200)] 
bpo-43398: Add test for defect connection factories (GH-27966)

4 years agobpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)
Serhiy Storchaka [Mon, 30 Aug 2021 16:25:59 +0000 (19:25 +0300)] 
bpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs.

4 years agobpo-41620: TestCase.run() now always return a TestResult instance (GH-28030)
Serhiy Storchaka [Mon, 30 Aug 2021 13:16:25 +0000 (16:16 +0300)] 
bpo-41620: TestCase.run() now always return a TestResult instance (GH-28030)

Previously it returned None if the test class or method was
decorated with a skipping decorator.

Co-authored-by: Iman Tabrizian <iman.tabrizian@gmail.com>
4 years agobpo-45007: Update multissl to openssl 1.1.1l as well (GH-28044)
Łukasz Langa [Mon, 30 Aug 2021 12:24:51 +0000 (14:24 +0200)] 
bpo-45007: Update multissl to openssl 1.1.1l as well (GH-28044)

This was missed while upgrading CI.

4 years agobpo-45045: Optimize mapping patterns of structural pattern matching (GH-28043)
Dong-hee Na [Mon, 30 Aug 2021 10:02:32 +0000 (10:02 +0000)] 
bpo-45045: Optimize mapping patterns of structural pattern matching (GH-28043)

4 years agobpo 45007: Update macOS installer builds to use OpenSSL 1.1.1l. (GH-28051)
Ned Deily [Mon, 30 Aug 2021 07:10:21 +0000 (03:10 -0400)] 
bpo 45007: Update macOS installer builds to use OpenSSL 1.1.1l. (GH-28051)

4 years agobpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries when built...
Tobias Bergkvist [Mon, 30 Aug 2021 06:55:47 +0000 (08:55 +0200)] 
bpo-44689: ctypes.util.find_library() now finds macOS 11+ system libraries when built on older macOS systems (#27251)

Previously, when built on older macOS systems, `find_library` was not able to find macOS system libraries when running on Big Sur due to changes in how system libraries are stored.

4 years agobpo-45007: Update to OpenSSL 1.1.1l in Windows build and CI (GH-28009)
Steve Dower [Sun, 29 Aug 2021 14:18:57 +0000 (15:18 +0100)] 
bpo-45007: Update to OpenSSL 1.1.1l in Windows build and CI (GH-28009)

4 years agobpo-43124: Fix smtplib multiple CRLF injection (GH-25987)
Miguel Brito [Sun, 29 Aug 2021 14:10:50 +0000 (15:10 +0100)] 
bpo-43124: Fix smtplib multiple CRLF injection (GH-25987)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-44394: Update libexpat copy to 2.4.1 (GH-26945)
Victor Stinner [Sun, 29 Aug 2021 14:08:24 +0000 (16:08 +0200)] 
bpo-44394: Update libexpat copy to 2.4.1 (GH-26945)

Update the vendored copy of libexpat to 2.4.1 (from 2.2.8) to get the
fix for the CVE-2013-0340 "Billion Laughs" vulnerability. This copy
is most used on Windows and macOS.

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-42278: Use tempfile.TemporaryDirectory rather than tempfile.mktemp in pydoc ...
E-Paine [Sun, 29 Aug 2021 11:07:51 +0000 (12:07 +0100)] 
bpo-42278: Use tempfile.TemporaryDirectory rather than tempfile.mktemp in pydoc (GH-23200)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)
Serhiy Storchaka [Sun, 29 Aug 2021 11:04:40 +0000 (14:04 +0300)] 
bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)

4 years agobpo-25130: Make SQLite tests more compatible with PyPy (GH-28021)
Serhiy Storchaka [Sun, 29 Aug 2021 10:07:40 +0000 (13:07 +0300)] 
bpo-25130: Make SQLite tests more compatible with PyPy (GH-28021)

4 years agobpo-25130: Make unit-test about restricting the maximum number of nested blocks cpyth...
Carl Friedrich Bolz-Tereick [Sat, 28 Aug 2021 18:33:50 +0000 (20:33 +0200)] 
bpo-25130: Make unit-test about restricting the maximum number of nested blocks cpython-only (GH-28002)

PyPy and potentially other implementations have different or no
contraints on the number of blocks that can be statically nested. move
the test that checks for this behaviour into a unit test and mark it as
CPython-only.

4 years agobpo-44962: Fix a race in WeakKeyDict, WeakValueDict and WeakSet when two threads...
Thomas Grainger [Sat, 28 Aug 2021 17:07:37 +0000 (18:07 +0100)] 
bpo-44962: Fix a race in WeakKeyDict, WeakValueDict and WeakSet when two threads attempt to commit the last pending removal (GH-27921)

Fixes:
Traceback (most recent call last):
  File "/home/graingert/projects/asyncio-demo/demo.py", line 36, in <module>
    sys.exit(main())
  File "/home/graingert/projects/asyncio-demo/demo.py", line 30, in main
    test_all_tasks_threading()
  File "/home/graingert/projects/asyncio-demo/demo.py", line 24, in test_all_tasks_threading
    results.append(f.result())
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 438, in result
    return self.__get_result()
  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 390, in __get_result
    raise self._exception
  File "/usr/lib/python3.10/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.10/asyncio/runners.py", line 47, in run
    _cancel_all_tasks(loop)
  File "/usr/lib/python3.10/asyncio/runners.py", line 56, in _cancel_all_tasks
    to_cancel = tasks.all_tasks(loop)
  File "/usr/lib/python3.10/asyncio/tasks.py", line 53, in all_tasks
    tasks = list(_all_tasks)
  File "/usr/lib/python3.10/_weakrefset.py", line 60, in __iter__
    with _IterationGuard(self):
  File "/usr/lib/python3.10/_weakrefset.py", line 33, in __exit__
    w._commit_removals()
  File "/usr/lib/python3.10/_weakrefset.py", line 57, in _commit_removals
    discard(l.pop())
IndexError: pop from empty list

Also fixes:
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x00007fe76e8d8180; dead>
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x00007fe76e8d81a0; dead>
Exception ignored in: weakref callback <function WeakKeyDictionary.__init__.<locals>.remove at 0x00007fe82245d2e0>
Traceback (most recent call last):
  File "/usr/lib/pypy3/lib-python/3/weakref.py", line 390, in remove
    del self.data[k]
KeyError: <weakref at 0x000056548f1e24a0; dead>

See: https://github.com/agronholm/anyio/issues/362#issuecomment-904424310
See also: https://bugs.python.org/issue29519

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agoFix typo in a comment in Modules/_ssl.c: s/validata/validate/ (GH-27993)
Adam Dangoor [Fri, 27 Aug 2021 11:38:24 +0000 (12:38 +0100)] 
Fix typo in a comment in Modules/_ssl.c: s/validata/validate/ (GH-27993)

4 years agoRefine specialization stats (GH-27992)
Mark Shannon [Fri, 27 Aug 2021 11:01:22 +0000 (12:01 +0100)] 
Refine specialization stats (GH-27992)

4 years agobpo-44997: macOS does not support loadable SQLite extensions (GH-27979)
Erlend Egeberg Aasland [Fri, 27 Aug 2021 10:59:07 +0000 (12:59 +0200)] 
bpo-44997: macOS does not support loadable SQLite extensions (GH-27979)

Authored-by: Ronald Oussoren <ronaldoussoren@mac.com>
4 years agobpo-45018: Fix rangeiter_reduce in rangeobject.c (GH-27938)
chilaxan [Fri, 27 Aug 2021 10:27:19 +0000 (06:27 -0400)] 
bpo-45018: Fix rangeiter_reduce in rangeobject.c (GH-27938)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agoUpdate ACKS (GH-27988)
Soumendra Ganguly [Fri, 27 Aug 2021 09:35:07 +0000 (04:35 -0500)] 
Update ACKS (GH-27988)

4 years agobpo-44945: Specialize BINARY_ADD (GH-27967)
Mark Shannon [Fri, 27 Aug 2021 08:21:01 +0000 (09:21 +0100)] 
bpo-44945: Specialize BINARY_ADD (GH-27967)

4 years agobpo-41818: ++ termios versionadded markers. (GH-27987)
Gregory P. Smith [Fri, 27 Aug 2021 03:29:27 +0000 (20:29 -0700)] 
bpo-41818: ++ termios versionadded markers. (GH-27987)

overlooked in https://github.com/python/cpython/pull/23686

4 years agobpo-41818: Add termios.tcgetwinsize(), termios.tcsetwinsize(). (GH-23686)
Soumendra Ganguly [Fri, 27 Aug 2021 02:56:26 +0000 (21:56 -0500)] 
bpo-41818: Add termios.tcgetwinsize(), termios.tcsetwinsize(). (GH-23686)

* Add termios.tcgetwinsize(), termios.tcsetwinsize(). Update docs.
* Add TIOCGSIZE support to termios.tcgetwinsize()
* Add TIOCSSIZE support to termios.tcsetwinsize()

Authored-by: Soumendra Ganguly <soumendraganguly@gmail.com>
* termios.tcgetwinsize() and termios.tcsetwinsize() should return/accept two-item tuples instead of lists.
* Refactor tcsetwinsize to share common code and accept any two item sequence, with overflow checking.

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
4 years agobpo-45022: Pin current libffi build to fixed version in preparation for upcoming...
Steve Dower [Thu, 26 Aug 2021 23:57:00 +0000 (00:57 +0100)] 
bpo-45022: Pin current libffi build to fixed version in preparation for upcoming update (GH-27982)

Also improve the build script for libffi, which is not used as part of the regular build.

4 years agobpo-40635: Fix getfqdn() docstring and docs (GH-27971)
andrei kulakov [Thu, 26 Aug 2021 18:40:28 +0000 (14:40 -0400)] 
bpo-40635: Fix getfqdn() docstring and docs (GH-27971)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-45010: Remove support of special method __div__ in unittest.mock (GH-27965)
Serhiy Storchaka [Thu, 26 Aug 2021 18:19:47 +0000 (21:19 +0300)] 
bpo-45010: Remove support of special method __div__ in unittest.mock (GH-27965)

4 years agobpo-45001: Make email date parsing more robust against malformed input (GH-27946)
wouter bolsterlee [Thu, 26 Aug 2021 14:49:03 +0000 (14:49 +0000)] 
bpo-45001: Make email date parsing more robust against malformed input (GH-27946)

Various date parsing utilities in the email module, such as
email.utils.parsedate(), are supposed to gracefully handle invalid
input, typically by raising an appropriate exception or by returning
None.

The internal email._parseaddr._parsedate_tz() helper used by some of
these date parsing routines tries to be robust against malformed input,
but unfortunately it can still crash ungracefully when a non-empty but
whitespace-only input is passed. This manifests as an unexpected
IndexError.

In practice, this can happen when parsing an email with only a newline
inside a ‘Date:’ header, which unfortunately happens occasionally in the
real world.

Here's a minimal example:

    $ python
    Python 3.9.6 (default, Jun 30 2021, 10:22:16)
    [GCC 11.1.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import email.utils
    >>> email.utils.parsedate('foo')
    >>> email.utils.parsedate(' ')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3.9/email/_parseaddr.py", line 176, in parsedate
        t = parsedate_tz(data)
      File "/usr/lib/python3.9/email/_parseaddr.py", line 50, in parsedate_tz
        res = _parsedate_tz(data)
      File "/usr/lib/python3.9/email/_parseaddr.py", line 72, in _parsedate_tz
        if data[0].endswith(',') or data[0].lower() in _daynames:
    IndexError: list index out of range

The fix is rather straight-forward: guard against empty lists, after
splitting on whitespace, but before accessing the first element.

4 years agobpo-45011: Fix test_asyncio without C module _asyncio (GH-27968)
Serhiy Storchaka [Thu, 26 Aug 2021 12:48:24 +0000 (15:48 +0300)] 
bpo-45011: Fix test_asyncio without C module _asyncio (GH-27968)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
4 years agobpo-44967: pydoc: return non-zero exit code when query is not found (GH-27868)
Gregory Anders [Thu, 26 Aug 2021 12:22:02 +0000 (06:22 -0600)] 
bpo-44967: pydoc: return non-zero exit code when query is not found (GH-27868)