]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
3 years agogh-83499: Fix closing file descriptors in tempfile (GH-93874)
Serhiy Storchaka [Sun, 26 Jun 2022 07:58:28 +0000 (10:58 +0300)] 
gh-83499: Fix closing file descriptors in tempfile (GH-93874)

3 years agogh-93820: Pickle enum.Flag by name (GH-93891)
Serhiy Storchaka [Sun, 26 Jun 2022 07:54:00 +0000 (10:54 +0300)] 
gh-93820: Pickle enum.Flag by name (GH-93891)

3 years agoRevert "bpo-45162: Revert "Remove many old deprecated unittest features"" (GH-92556)
Serhiy Storchaka [Sun, 26 Jun 2022 07:18:06 +0000 (10:18 +0300)] 
Revert "bpo-45162: Revert "Remove many old deprecated unittest features"" (GH-92556)

This reverts commit b50322d20337ca468f2070eedb051a16ee1eba94.

3 years agogh-93259: Validate arg to ``Distribution.from_name``. (GH-94270)
Jason R. Coombs [Sun, 26 Jun 2022 01:04:28 +0000 (21:04 -0400)] 
gh-93259: Validate arg to ``Distribution.from_name``. (GH-94270)

Syncs with importlib_metadata 4.12.0.

3 years agogh-70474: [doc] fix wording of GET_ANEXT doc (GH-94048)
Irit Katriel [Sat, 25 Jun 2022 22:44:30 +0000 (23:44 +0100)] 
gh-70474: [doc] fix wording of GET_ANEXT doc (GH-94048)

3 years agobpo-39971: Change examples to be runnable (GH-32172)
Stanley [Sat, 25 Jun 2022 20:51:26 +0000 (13:51 -0700)] 
bpo-39971: Change examples to be runnable (GH-32172)

3 years agogh-90016: Reword sqlite3 adapter/converter docs (#93095)
Erlend Egeberg Aasland [Sat, 25 Jun 2022 20:06:06 +0000 (22:06 +0200)] 
gh-90016: Reword sqlite3 adapter/converter docs (#93095)

Also add adapters and converter recipes.

Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com
3 years agogh-77560: Report possible errors in restoring builtins at finalization (GH-94255)
Serhiy Storchaka [Sat, 25 Jun 2022 16:02:09 +0000 (19:02 +0300)] 
gh-77560: Report possible errors in restoring builtins at finalization (GH-94255)

Seems in the past the copy of builtins was not made in some scenarios,
and the error was silenced. Write it now to stderr, so we have a chance
to see it.

3 years agogh-94245: Test pickling and copying of typing.Tuple[()] (GH-94259)
Serhiy Storchaka [Sat, 25 Jun 2022 15:46:33 +0000 (18:46 +0300)] 
gh-94245: Test pickling and copying of typing.Tuple[()] (GH-94259)

3 years agogh-94207: Fix struct module leak (GH-94239)
Mark Dickinson [Sat, 25 Jun 2022 14:11:58 +0000 (15:11 +0100)] 
gh-94207: Fix struct module leak (GH-94239)

Make _struct.Struct a GC type

This fixes a memory leak in the _struct module, where as soon
as a Struct object is stored in the cache, there's a cycle from
the _struct module to the cache to Struct objects to the Struct
type back to the module. If _struct.Struct is not gc-tracked, that
cycle is never collected.

This PR makes _struct.Struct GC-tracked, and adds a regression test.

3 years agogh-94199: Remove ssl.match_hostname() function (#94224)
Victor Stinner [Sat, 25 Jun 2022 10:54:11 +0000 (12:54 +0200)] 
gh-94199: Remove ssl.match_hostname() function (#94224)

3 years agogh-70441: Fix test_tarfile on systems w/o bz2 (gh-2962) (#94258)
Christian Heimes [Sat, 25 Jun 2022 10:53:37 +0000 (12:53 +0200)] 
gh-70441: Fix test_tarfile on systems w/o bz2 (gh-2962) (#94258)

3 years agobpo-26253: Add compressionlevel to tarfile stream (GH-2962)
Yaron de Leeuw [Sat, 25 Jun 2022 08:43:54 +0000 (11:43 +0300)] 
bpo-26253: Add compressionlevel to tarfile stream (GH-2962)

`tarfile` already accepts a compressionlevel argument for creating
files. This patch adds the same for stream-based tarfile usage.
The default is 9, the value that was previously hard-coded.

3 years agobpo-46642: Explicitly disallow subclassing of instaces of TypeVar, ParamSpec, etc...
Gregory Beauregard [Sat, 25 Jun 2022 06:35:33 +0000 (01:35 -0500)] 
bpo-46642: Explicitly disallow subclassing of instaces of TypeVar, ParamSpec, etc (GH-31148)

The existing test covering this case passed only incidentally. We
explicitly disallow doing this and add a proper error message.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
3 years agogh-85308: Add argparse tests for reading non-ASCII arguments from file (GH-94160)
Serhiy Storchaka [Fri, 24 Jun 2022 20:09:13 +0000 (23:09 +0300)] 
gh-85308: Add argparse tests for reading non-ASCII arguments from file (GH-94160)

3 years agogh-94217: Skip import tests when _testcapi is a builtin (GH-94218)
Christian Heimes [Fri, 24 Jun 2022 18:28:04 +0000 (20:28 +0200)] 
gh-94217: Skip import tests when _testcapi is a builtin (GH-94218)

3 years agogh-93382: Sync up `co_code` changes with 3.11 (GH-94227)
Ken Jin [Fri, 24 Jun 2022 17:55:18 +0000 (01:55 +0800)] 
gh-93382: Sync up `co_code` changes with 3.11 (GH-94227)

Sync up co_code changes with 3.11 commit 852b4d4bcd12b0b6839a015a262ce976b134f6f3.

3 years agoDocs: Remove `Provides [...]` from `multiprocessing.shared_memory` description (...
Oleg Iarygin [Fri, 24 Jun 2022 17:08:45 +0000 (20:08 +0300)] 
Docs: Remove `Provides [...]` from `multiprocessing.shared_memory` description (#92761)

3 years agoIDLE: replace if statement with expression (#94228)
Terry Jan Reedy [Fri, 24 Jun 2022 16:59:49 +0000 (12:59 -0400)] 
IDLE: replace if statement with expression (#94228)

3 years agogh-94172: urllib.request avoids deprecated check_hostname (#94193)
Victor Stinner [Fri, 24 Jun 2022 15:45:28 +0000 (17:45 +0200)] 
gh-94172: urllib.request avoids deprecated check_hostname (#94193)

The urllib.request no longer uses the deprecated check_hostname
parameter of the http.client module.

Add private http.client._create_https_context() helper to http.client,
used by urllib.request.

Remove the now redundant check on check_hostname and verify_mode in
http.client: the SSLContext.check_hostname setter already implements
the check.

3 years agogh-84461: Build Emscripten with WASM BigInt support (#94219)
Christian Heimes [Fri, 24 Jun 2022 15:03:42 +0000 (17:03 +0200)] 
gh-84461: Build Emscripten with WASM BigInt support (#94219)

3 years agogh-94205: Ensures all required DLLs are copied on Windows for underpth tests (GH...
Steve Dower [Fri, 24 Jun 2022 10:48:53 +0000 (11:48 +0100)] 
gh-94205: Ensures all required DLLs are copied on Windows for underpth tests (GH-94206)

3 years agogh-84461: Fix ctypes and test_ctypes on Emscripten (#94142)
Christian Heimes [Fri, 24 Jun 2022 10:40:43 +0000 (12:40 +0200)] 
gh-84461: Fix ctypes and test_ctypes on Emscripten (#94142)

- c_longlong and c_longdouble need experimental WASM bigint.
- Skip tests that need threading
- Define ``CTYPES_MAX_ARGCOUNT`` for Emscripten. libffi-emscripten 2022-06-23 supports up to 1000 args.

3 years agogh-93692: remove "build finished successfully" message from setup.py (#93693)
Erlend Egeberg Aasland [Fri, 24 Jun 2022 10:36:59 +0000 (12:36 +0200)] 
gh-93692: remove "build finished successfully" message from setup.py (#93693)

The message was only emitted when the build succeeded _and_ there were
missing modules.

3 years agogh-94196: Remove gzip.GzipFile.filename attribute (#94197)
Victor Stinner [Fri, 24 Jun 2022 09:59:32 +0000 (11:59 +0200)] 
gh-94196: Remove gzip.GzipFile.filename attribute (#94197)

gzip: Remove the filename attribute of gzip.GzipFile,
deprecated since Python 2.6, use the name attribute instead. In write
mode, the filename attribute added '.gz' file extension if it was not
present.

3 years agogh-94199: Remove ssl.RAND_pseudo_bytes() function (#94202)
Victor Stinner [Fri, 24 Jun 2022 09:05:53 +0000 (11:05 +0200)] 
gh-94199: Remove ssl.RAND_pseudo_bytes() function (#94202)

Remove the ssl.RAND_pseudo_bytes() function, deprecated in Python
3.6: use os.urandom() or ssl.RAND_bytes() instead.

3 years agogh-94169: Remove deprecated io.OpenWrapper (#94170)
Victor Stinner [Fri, 24 Jun 2022 06:46:53 +0000 (08:46 +0200)] 
gh-94169: Remove deprecated io.OpenWrapper (#94170)

Remove io.OpenWrapper and _pyio.OpenWrapper, deprecated in Python
3.10: just use :func:`open` instead. The open() (io.open()) function
is a built-in function. Since Python 3.10, _pyio.open() is also a
static method.

3 years agoAdd more tests for throwing into yield from (GH-94097)
Brandt Bucher [Thu, 23 Jun 2022 23:48:28 +0000 (16:48 -0700)] 
Add more tests for throwing into yield from (GH-94097)

3 years agoAdd ABI dump script (#94135)
Pablo Galindo Salgado [Thu, 23 Jun 2022 21:52:43 +0000 (22:52 +0100)] 
Add ABI dump script (#94135)

3 years ago[Enum] Remove automatic docstring generation (GH-94188)
Sam Ezeh [Thu, 23 Jun 2022 20:35:37 +0000 (21:35 +0100)] 
[Enum] Remove automatic docstring generation (GH-94188)

3 years agogh-91219: Add an index_pages default list and parameter to SimpleHTTPRequestHandler...
Myron Walker [Thu, 23 Jun 2022 20:30:44 +0000 (16:30 -0400)] 
gh-91219: Add an index_pages default list and parameter to SimpleHTTPRequestHandler (GH-31985)

* Add an index_pages default list to SimpleHTTPRequestHandler and an
optional constructor parameter that allows the default indexes pages
list to be overridden.  This makes it easy to set a new index page name
without having to override send_head.

3 years agogh-93771: Clarify how deepfreeze.py is run (#94150)
Guido van Rossum [Thu, 23 Jun 2022 16:31:39 +0000 (10:31 -0600)] 
gh-93771: Clarify how deepfreeze.py is run (#94150)

3 years agogh-92858: Improve error message for some suites with syntax error before ':' (#92894)
wookie184 [Thu, 23 Jun 2022 16:31:09 +0000 (17:31 +0100)] 
gh-92858: Improve error message for some suites with syntax error before ':' (#92894)

3 years ago[Enum] fix typo (GH-94158)
Ethan Furman [Thu, 23 Jun 2022 14:48:25 +0000 (07:48 -0700)] 
[Enum] fix typo (GH-94158)

3 years agoGH-91742: Fix pdb crash after jump (GH-94171)
Kumar Aditya [Thu, 23 Jun 2022 14:19:13 +0000 (19:49 +0530)] 
GH-91742: Fix pdb crash after jump  (GH-94171)

3 years agogh-89121: Keep the number of pending SQLite statements to a minimum (#30379)
Erlend Egeberg Aasland [Thu, 23 Jun 2022 10:14:05 +0000 (12:14 +0200)] 
gh-89121: Keep the number of pending SQLite statements to a minimum (#30379)

Make sure statements that have run to completion or errored are
reset and cleared off the cursor for all paths in execute() and
executemany().

3 years agogh-86404: [doc] Fix missing backtick and double target name. (#94120)
Julien Palard [Thu, 23 Jun 2022 07:12:18 +0000 (09:12 +0200)] 
gh-86404: [doc] Fix missing backtick and double target name. (#94120)

3 years agogh-84461: Fix test_sqlite for Emscripten/WASI (#94125)
Christian Heimes [Thu, 23 Jun 2022 06:31:55 +0000 (08:31 +0200)] 
gh-84461: Fix test_sqlite for Emscripten/WASI (#94125)

3 years agogh-91456: [Enum] Deprecate default auto() behavior with mixed value types (GH-91457)
Oscar R [Thu, 23 Jun 2022 06:20:24 +0000 (02:20 -0400)] 
gh-91456: [Enum] Deprecate default auto() behavior with mixed value types (GH-91457)

When used with plain Enum, auto() returns the last numeric value assigned, skipping any incompatible member values (such as strings); starting in 3.13 the default auto() for plain Enums will require all the values to be of compatible types, and will return a new value that is 1 higher than any existing value.

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
3 years agoCloses gh-94152: Update pyvideo.org URL (GH-94075)
partev [Thu, 23 Jun 2022 03:35:02 +0000 (23:35 -0400)] 
Closes gh-94152: Update pyvideo.org URL (GH-94075)

The URL is now https://pyvideo.org, which uses HTTPS and avoids a redirect.

3 years agogh-85308: argparse: Use filesystem encoding for arguments file (GH-93277)
Inada Naoki [Thu, 23 Jun 2022 03:09:57 +0000 (12:09 +0900)] 
gh-85308: argparse: Use filesystem encoding for arguments file (GH-93277)

3 years agogh-84623: Remove unused imports in idlelib (#94143)
Victor Stinner [Wed, 22 Jun 2022 22:09:48 +0000 (00:09 +0200)] 
gh-84623: Remove unused imports in idlelib (#94143)

Remove commented code in test_debugger_r.py.

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
3 years agoAdd ABI dump Makefile target (#94136)
Pablo Galindo Salgado [Wed, 22 Jun 2022 21:22:27 +0000 (22:22 +0100)] 
Add ABI dump Makefile target (#94136)

3 years agogh-84623: Move imports in doctests (#94133)
Victor Stinner [Wed, 22 Jun 2022 20:24:45 +0000 (22:24 +0200)] 
gh-84623: Move imports in doctests (#94133)

Move imports in doctests to prevent false alarms in pyflakes.

3 years agogh-54781: Move Lib/tkinter/test/test_ttk/ to Lib/test/test_ttk/ (#94070)
Victor Stinner [Wed, 22 Jun 2022 20:23:37 +0000 (22:23 +0200)] 
gh-54781: Move Lib/tkinter/test/test_ttk/ to Lib/test/test_ttk/ (#94070)

* Move Lib/tkinter/test/test_tkinter/ to Lib/test/test_tkinter/.
* Move Lib/tkinter/test/test_ttk/ to Lib/test/test_ttk/.
* Add Lib/test/test_ttk/__init__.py based on test_ttk_guionly.py.
* Add Lib/test/test_tkinter/__init__.py
* Remove old Lib/test/test_tk.py.
* Remove old Lib/test/test_ttk_guionly.py.
* Add __main__ sub-modules.
* Update imports and update references to rename files.

3 years agogh-84623: Remove unused imports (#94132)
Victor Stinner [Wed, 22 Jun 2022 17:14:27 +0000 (19:14 +0200)] 
gh-84623: Remove unused imports (#94132)

3 years agogh-94114: Remove obsolete reference to python.org mirrors (GH-94115)
partev [Wed, 22 Jun 2022 16:55:06 +0000 (12:55 -0400)] 
gh-94114: Remove obsolete reference to python.org mirrors (GH-94115)

* gh-94114

3 years agogh-91172: Create a workflow for verifying bundled pip and setuptools (GH-31885)
Illia Volochii [Wed, 22 Jun 2022 13:32:22 +0000 (16:32 +0300)] 
gh-91172: Create a workflow for verifying bundled pip and setuptools (GH-31885)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
3 years agogh-93951: In test_bdb.StateTestCase.test_skip, avoid including auxiliary importers...
Jason R. Coombs [Wed, 22 Jun 2022 12:05:45 +0000 (08:05 -0400)] 
gh-93951: In test_bdb.StateTestCase.test_skip, avoid including auxiliary importers. (GH-93962)

Co-authored-by: Brett Cannon <brett@python.org>
3 years agoFix typo in _io.TextIOWrapper Clinic input (#94037)
fikotta [Wed, 22 Jun 2022 12:02:14 +0000 (14:02 +0200)] 
Fix typo in _io.TextIOWrapper Clinic input (#94037)

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
3 years agogh-94101 Disallow instantiation of SSLSession objects (GH-94102)
chgnrdv [Wed, 22 Jun 2022 10:10:22 +0000 (13:10 +0300)] 
gh-94101 Disallow instantiation of SSLSession objects (GH-94102)

Fixes #94101

Automerge-Triggered-By: GH:tiran
3 years agogh-74696: Do not change the current working directory in shutil.make_archive() if...
Serhiy Storchaka [Wed, 22 Jun 2022 08:47:25 +0000 (11:47 +0300)] 
gh-74696: Do not change the current working directory in shutil.make_archive() if possible (GH-93160)

It is no longer changed when create a zip or tar archive.

It is still changed for custom archivers registered with shutil.register_archive_format()
if root_dir is not None.

Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
3 years agoStats: Add summary of top instructions for misses and deferred specialization. (GH...
Mark Shannon [Wed, 22 Jun 2022 07:50:02 +0000 (08:50 +0100)] 
Stats: Add summary of top instructions for misses and deferred specialization. (GH-94072)

3 years agogh-88123: Implement new Enum __contains__ (GH-93298)
Carl Bordum Hansen [Wed, 22 Jun 2022 07:04:04 +0000 (09:04 +0200)] 
gh-88123: Implement new Enum __contains__ (GH-93298)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
3 years agobpo-30535: [doc] state that sys.meta_path is not empty by default (GH-94098)
Irit Katriel [Tue, 21 Jun 2022 22:03:08 +0000 (23:03 +0100)] 
bpo-30535: [doc] state that sys.meta_path is not empty by default (GH-94098)

Co-authored-by: Windson yang <wiwindson@outlook.com>
3 years agogh-89336: Remove configparser APIs that were deprecated for 3.12 (#92503)
Gregory P. Smith [Tue, 21 Jun 2022 21:31:25 +0000 (14:31 -0700)] 
gh-89336: Remove configparser APIs that were deprecated for 3.12 (#92503)

https://github.com/python/cpython/issue/89336: Remove configparser 3.12 deprecations.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
3 years agogh-87389: Fix an open redirection vulnerability in http.server. (#93879)
Gregory P. Smith [Tue, 21 Jun 2022 20:16:57 +0000 (13:16 -0700)] 
gh-87389: Fix an open redirection vulnerability in http.server. (#93879)

Fix an open redirection vulnerability in the `http.server` module when
an URI path starts with `//` that could produce a 301 Location header
with a misleading target.  Vulnerability discovered, and logic fix
proposed, by Hamza Avvan (@hamzaavvan).

Test and comments authored by Gregory P. Smith [Google].

3 years agoDOC: correct bytesarray -> bytearray in comments (GH-92410)
Thomas A Caswell [Tue, 21 Jun 2022 20:04:03 +0000 (16:04 -0400)] 
DOC: correct bytesarray -> bytearray in comments (GH-92410)

3 years agogh-82927: Update files related to HTML entities. (GH-92504)
Ezio Melotti [Tue, 21 Jun 2022 20:03:12 +0000 (22:03 +0200)] 
gh-82927: Update files related to HTML entities. (GH-92504)

3 years agogh-93021: Fix __text_signature__ for __get__ (GH-93023)
Jelle Zijlstra [Tue, 21 Jun 2022 19:45:38 +0000 (12:45 -0700)] 
gh-93021: Fix __text_signature__ for __get__ (GH-93023)

Because of the way wrap_descr_get is written, the second argument
to __get__ methods implemented through the wrapper is always
optional.

3 years agoTutorial: specify match cases don't fall through (GH-93615)
max [Tue, 21 Jun 2022 19:44:09 +0000 (21:44 +0200)] 
Tutorial: specify match cases don't fall through (GH-93615)

3 years agogh-93240: clarify wording in IO tutorial (GH-93276)
paulreece [Tue, 21 Jun 2022 19:40:11 +0000 (15:40 -0400)] 
gh-93240: clarify wording in IO tutorial (GH-93276)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
3 years agoMinor optimization for Fractions.limit_denominator (GH-93730)
Mark Dickinson [Tue, 21 Jun 2022 19:36:35 +0000 (20:36 +0100)] 
Minor optimization for Fractions.limit_denominator (GH-93730)

When we construct the upper and lower candidates in limit_denominator,
the numerator and denominator are already relatively prime (and the
denominator positive) by construction, so there's no need to go through
the usual normalisation in the constructor. This saves a couple of
potentially expensive gcd calls.

Suggested by Michael Scott Asato Cuthbert in GH-93477.

3 years agogh-93675: Fix typos in `Doc/` (GH-93676)
luzpaz [Tue, 21 Jun 2022 19:10:45 +0000 (15:10 -0400)] 
gh-93675: Fix typos in `Doc/` (GH-93676)

Closes #93675

3 years agogh-93851: Fix all broken links in Doc/ (GH-93853)
Oleg Iarygin [Tue, 21 Jun 2022 18:55:18 +0000 (21:55 +0300)] 
gh-93851: Fix all broken links in Doc/ (GH-93853)

3 years agoCloses gh-94038: Update Release Schedule in README.rst from PEP 664 to PEP 693 (GH...
MilanJuhas [Tue, 21 Jun 2022 18:08:21 +0000 (20:08 +0200)] 
Closes gh-94038: Update Release Schedule in README.rst from PEP 664 to PEP 693 (GH-94046)

3 years agogh-94068: Remove HVSOCKET_CONTAINER_PASSTHRU constant because it has been removed...
Steve Dower [Tue, 21 Jun 2022 17:27:21 +0000 (18:27 +0100)] 
gh-94068: Remove HVSOCKET_CONTAINER_PASSTHRU constant because it has been removed from Windows (GH-94069)

Fixes #94068

Automerge-Triggered-By: GH:zware
3 years agogh-86986: Drop compatibility support for Sphinx 2 (GH-93737)
Adam Turner [Tue, 21 Jun 2022 15:04:46 +0000 (16:04 +0100)] 
gh-86986: Drop compatibility support for Sphinx 2 (GH-93737)

* Revert "bpo-42843: Keep Sphinx 1.8 and Sphinx 2 compatibility (GH-24282)"

This reverts commit 5c1f15b4b1024cbf0acc85832f0c623d1a4605fd

* Revert "bpo-42579: Make workaround for various versions of Sphinx more robust (GH-23662)"

This reverts commit b63a620014b67a6e63d10783149c41baaf59def8.

3 years agoGH-93841: Allow stats to be turned on and off, cleared and dumped at runtime. (GH...
Mark Shannon [Tue, 21 Jun 2022 14:40:54 +0000 (15:40 +0100)] 
GH-93841: Allow stats to be turned on and off, cleared and dumped at runtime. (GH-93843)

3 years agogh-74953: _PyThread_cond_after() uses _PyTime_t (#94056)
Victor Stinner [Tue, 21 Jun 2022 13:45:49 +0000 (15:45 +0200)] 
gh-74953: _PyThread_cond_after() uses _PyTime_t (#94056)

pthread _PyThread_cond_after() implementation now uses the _PyTime_t
type to handle properly overflow: clamp to the maximum value.

Remove MICROSECONDS_TO_TIMESPEC() function.

3 years agogh-54781: Move Lib/lib2to3/tests/ to Lib/test/test_lib2to3/ (#94049)
Victor Stinner [Tue, 21 Jun 2022 13:21:22 +0000 (15:21 +0200)] 
gh-54781: Move Lib/lib2to3/tests/ to Lib/test/test_lib2to3/ (#94049)

* Move Lib/lib2to3/tests/ to Lib/test/test_lib2to3/.
* Remove Lib/test/test_lib2to3.py.
* Update imports.
* all_project_files(): use different paths and sort files
  to make the tests more reproducible.
* Update references to tests.

3 years agogh-93839: Use load_package_tests() for testmock (GH-94055)
Christian Heimes [Tue, 21 Jun 2022 12:51:39 +0000 (14:51 +0200)] 
gh-93839: Use load_package_tests() for testmock (GH-94055)

Fixes failing tests on WebAssembly platforms.

Automerge-Triggered-By: GH:tiran
3 years agogh-94052: Don't re-run failed tests with --python option (#94054)
Christian Heimes [Tue, 21 Jun 2022 12:42:32 +0000 (14:42 +0200)] 
gh-94052: Don't re-run failed tests with --python option (#94054)

3 years agogh-94028: Clear and reset sqlite3 statements properly in cursor iternext (GH-94042)
Erlend Egeberg Aasland [Tue, 21 Jun 2022 11:30:29 +0000 (13:30 +0200)] 
gh-94028: Clear and reset sqlite3 statements properly in cursor iternext (GH-94042)

3 years agoGH-91432: Specialize FOR_ITER (GH-91713)
Dennis Sweeney [Tue, 21 Jun 2022 10:19:26 +0000 (06:19 -0400)] 
GH-91432: Specialize FOR_ITER (GH-91713)

* Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations.

* Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints.

3 years agogh-93839: Move Lib/unttest/test/ to Lib/test/test_unittest/ (#94043)
Victor Stinner [Tue, 21 Jun 2022 08:27:59 +0000 (10:27 +0200)] 
gh-93839: Move Lib/unttest/test/ to Lib/test/test_unittest/ (#94043)

* Move Lib/unittest/test/ to Lib/test/test_unittest/
* Remove Lib/test/test_unittest.py
* Replace unittest.test with test.test_unittest
* Remove unittest.load_tests()
* Rewrite unittest __init__.py and __main__.py
* Update build system, CODEOWNERS, and wasm_assets.py

3 years agogh-93839: Move Lib/ctypes/test/ to Lib/test/test_ctypes/ (#94041)
Victor Stinner [Tue, 21 Jun 2022 08:24:33 +0000 (10:24 +0200)] 
gh-93839: Move Lib/ctypes/test/ to Lib/test/test_ctypes/ (#94041)

* Move Lib/ctypes/test/ to Lib/test/test_ctypes/
* Remove Lib/test/test_ctypes.py
* Update imports and build system.

3 years agoGH-93678: refactor compiler so that optimizer does not need the assembler and compile...
Irit Katriel [Tue, 21 Jun 2022 08:22:17 +0000 (09:22 +0100)] 
GH-93678: refactor compiler so that optimizer does not need the assembler and compiler structs (GH-93842)

3 years agogh-94021: Address unreachable code warning in specialize code (GH-94022)
Christian Heimes [Tue, 21 Jun 2022 06:34:11 +0000 (08:34 +0200)] 
gh-94021: Address unreachable code warning in specialize code (GH-94022)

3 years agoGH-93249: relax overly strict assertion on bounds->ar_start (GH-93961)
Irit Katriel [Mon, 20 Jun 2022 16:13:39 +0000 (17:13 +0100)] 
GH-93249: relax overly strict assertion on bounds->ar_start (GH-93961)

3 years agogh-93937: PyOS_StdioReadline() uses PyConfig.legacy_windows_stdio (#94024)
Victor Stinner [Mon, 20 Jun 2022 14:10:47 +0000 (16:10 +0200)] 
gh-93937: PyOS_StdioReadline() uses PyConfig.legacy_windows_stdio (#94024)

On Windows, PyOS_StdioReadline() now gets
PyConfig.legacy_windows_stdio from _PyOS_ReadlineTState, rather than
using the deprecated global Py_LegacyWindowsStdioFlag variable.

Fix also a compiler warning in Py_SetStandardStreamEncoding().

3 years agogh-87347: Add parenthesis around macro arguments (#93915)
Victor Stinner [Mon, 20 Jun 2022 14:04:52 +0000 (16:04 +0200)] 
gh-87347: Add parenthesis around macro arguments (#93915)

Add unit test on Py_MEMBER_SIZE() and some other macros.

3 years agogh-90539: doc: Expand on what should not go into CFLAGS, LDFLAGS (#92754)
Matthias Köppe [Mon, 20 Jun 2022 13:58:02 +0000 (09:58 -0400)] 
gh-90539: doc: Expand on what should not go into CFLAGS, LDFLAGS (#92754)

3 years agoGH-93516: Speedup line number checks when tracing. (GH-93763)
Mark Shannon [Mon, 20 Jun 2022 12:00:42 +0000 (13:00 +0100)] 
GH-93516: Speedup line number checks when tracing. (GH-93763)

* Use a lookup table to reduce overhead of getting line numbers during tracing.

3 years agoGH-93897: Store frame size in code object and de-opt if insufficient space on thread...
Mark Shannon [Mon, 20 Jun 2022 11:59:25 +0000 (12:59 +0100)] 
GH-93897: Store frame size in code object and de-opt if insufficient space on thread frame stack. (GH-93908)

3 years agogh-84461: Silence some compiler warnings on WASM (GH-93978)
Christian Heimes [Mon, 20 Jun 2022 11:34:40 +0000 (13:34 +0200)] 
gh-84461: Silence some compiler warnings on WASM (GH-93978)

3 years agogh-79009: sqlite3.iterdump now correctly handles tables with autoincrement (#9621)
itssme [Sun, 19 Jun 2022 22:59:24 +0000 (00:59 +0200)] 
gh-79009: sqlite3.iterdump now correctly handles tables with autoincrement (#9621)

Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
3 years agogh-61162: Clarify sqlite3 connection context manager docs (GH-93890)
Erlend Egeberg Aasland [Sun, 19 Jun 2022 20:17:43 +0000 (22:17 +0200)] 
gh-61162: Clarify sqlite3 connection context manager docs (GH-93890)

Explicitly note that transactions are only closed if there is an open
transation at `__exit__`, and that transactions are not implicitly
opened during `__enter__`.

Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Automerge-Triggered-By: GH:erlend-aasland
3 years agogh-93925: Improve clarity of sqlite3 commit/rollback, and close docs (#93926)
Erlend Egeberg Aasland [Sun, 19 Jun 2022 19:17:28 +0000 (21:17 +0200)] 
gh-93925: Improve clarity of sqlite3 commit/rollback, and close docs (#93926)

Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
3 years agogh-84461: Skip test_unwritable_directory again on Emscripten (GH-94007)
Christian Heimes [Sun, 19 Jun 2022 18:18:57 +0000 (20:18 +0200)] 
gh-84461: Skip test_unwritable_directory again on Emscripten (GH-94007)

GH-93992 removed geteuid() and enabled the test again on Emscripten.

3 years agogh-84461: Fix Emscripten umask and permission issues (GH-94002)
Christian Heimes [Sun, 19 Jun 2022 16:28:55 +0000 (18:28 +0200)] 
gh-84461: Fix Emscripten umask and permission issues (GH-94002)

- Emscripten's default umask is too strict, see
  https://github.com/emscripten-core/emscripten/issues/17269
- getuid/getgid and geteuid/getegid are stubs that always return 0
  (root). Disable effective uid/gid syscalls and fix tests that use
  chmod() current user.
- Cannot drop X bit from directory.

3 years agogh-93991: Use boolean instead of 0/1 for condition check (GH-93992)
Lei Zhang [Sun, 19 Jun 2022 14:12:59 +0000 (07:12 -0700)] 
gh-93991: Use boolean instead of 0/1 for condition check (GH-93992)

# gh-93991: Use boolean instead of 0/1 for condition check

3 years agogh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938)
Victor Stinner [Sun, 19 Jun 2022 10:02:33 +0000 (12:02 +0200)] 
gh-93937, C API: Move PyFrame_GetBack() to Python.h (#93938)

Move the follow functions and type from frameobject.h to pyframe.h,
so the standard <Python.h> provide frame getter functions:

* PyFrame_Check()
* PyFrame_GetBack()
* PyFrame_GetBuiltins()
* PyFrame_GetGenerator()
* PyFrame_GetGlobals()
* PyFrame_GetLasti()
* PyFrame_GetLocals()
* PyFrame_Type

Remove #include "frameobject.h" from many C files. It's no longer
needed.

3 years agogh-74953: Reformat PyThread_acquire_lock_timed() (#93947)
Victor Stinner [Sun, 19 Jun 2022 09:50:21 +0000 (11:50 +0200)] 
gh-74953: Reformat PyThread_acquire_lock_timed() (#93947)

Reformat the pthread implementation of PyThread_acquire_lock_timed()
using a mutex and a conditioinal variable.

* Add goto to avoid multiple indentation levels and exit quickly
* Use "while(1)" and make the control flow more obvious.
* PEP 7: Add braces around if blocks.

3 years agogh-93761: Fix test_logging test_config_queue_handler() race condition (#93952)
Victor Stinner [Sun, 19 Jun 2022 09:49:35 +0000 (11:49 +0200)] 
gh-93761: Fix test_logging test_config_queue_handler() race condition (#93952)

Fix a race condition in test_config_queue_handler() of test_logging.

3 years agoWhat's new in 3.10: fix link to issue (#93968)
Hugo van Kemenade [Sun, 19 Jun 2022 09:04:26 +0000 (12:04 +0300)] 
What's new in 3.10: fix link to issue (#93968)

* What's new in 3.10: fix link to issue

* What's new in 3.10: fix link to GH issue

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
3 years agoGH-93990: fix refcounting bug in `add_subclass` in `typeobject.c` (GH-93989)
Kumar Aditya [Sun, 19 Jun 2022 06:06:37 +0000 (11:36 +0530)] 
GH-93990: fix refcounting bug in `add_subclass` in `typeobject.c` (GH-93989)

3 years agogh-93975: Nicer error reporting in test_venv (GH-93959)
Jason R. Coombs [Sat, 18 Jun 2022 20:47:27 +0000 (16:47 -0400)] 
gh-93975: Nicer error reporting in test_venv (GH-93959)

- gh-93957: Provide nicer error reporting from subprocesses in test_venv.EnsurePipTest.test_with_pip.
- Update changelog

This change does three things:

1. Extract a function for trapping output in subprocesses.
2. Emit both stdout and stderr when encountering an error.
3. Apply the change to `ensurepip._uninstall` check.

3 years agogh-91387: Fix tarfile test on WASI (GH-93984)
Christian Heimes [Sat, 18 Jun 2022 17:55:48 +0000 (19:55 +0200)] 
gh-91387: Fix tarfile test on WASI (GH-93984)

WASI's rmdir() syscall does not like the trailing slash.

3 years agogh-93955: Use unbound methods for slot `__getattr__` and `__getattribute__` (GH-93956)
Ken Jin [Sat, 18 Jun 2022 14:42:42 +0000 (22:42 +0800)] 
gh-93955: Use unbound methods for slot `__getattr__` and `__getattribute__` (GH-93956)