summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-109164: Replace `getopt` with `argparse` in pdb (#109165)Tian Gao2023-09-222-18/+27
| | | | Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Victor Stinner <vstinner@python.org>
* ACKS: Fix ordering; Correct Itamar Oren's surname; Add Adam Turner (#109737)Adam Turner2023-09-221-3/+3
|
* gh-109723: Disable Py_BUILD_CORE in _testcapi (#109727)Victor Stinner2023-09-228-101/+114
| | | | | | | | | | | | | | | | | | Make sure that the internal C API is not tested by mistake by _testcapi. Undefine Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE macros in Modules/_testcapi/parts.h: move code from _testcapimodule.c. heaptype_relative.c and vectorcall_limited.c are using the limited C API which is incompatible with the internal C API. Move test_long_numbits() from _testcapi to _testinternalcapi since it uses the internal C API "pycore_long.h". Fix Modules/_testcapi/pyatomic.c: don't include Python.h directly, just include _testcapi/parts.h. Ajust "make check-c-globals" for these changes.
* GH-109190: Copyedit 3.12 What's New: asyncio (#109661)Adam Turner2023-09-221-4/+4
| | | | | Co-authored-by: Łukasz Langa <lukasz@langa.pl> Co-authored-by: Itamar Oren <itamarost@gmail.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* GH-109190: Copyedit 3.12 What's New: PEP 669 (#109658)Adam Turner2023-09-221-3/+5
| | | | Co-authored-by: Łukasz Langa <lukasz@langa.pl> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-109709: Fix asyncio test_stdin_broken_pipe() (#109710)Victor Stinner2023-09-222-16/+50
| | | | | | Replace harcoded sleep of 500 ms with synchronization using a pipe. Fix also Process._feed_stdin(): catch also BrokenPipeError on stdin.write(input), not only on stdin.drain().
* Remove outdated docstring from the `quantify` itertools recipe (#109726)Łukasz Langa2023-09-221-1/+0
|
* GH-109190: Copyedit 3.12 What's New: Other Language Changes (#109660)Adam Turner2023-09-221-8/+8
|
* gh-105829: Fix concurrent.futures.ProcessPoolExecutor deadlock (#108513)elfstrom2023-09-223-4/+87
| | | | | | | | This fixes issue #105829, https://github.com/python/cpython/issues/105829 Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com> Co-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Chris Withers <chris@withers.org> Co-authored-by: Thomas Moreau <thomas.moreau.2010@gmail.com>
* GH-109190: Copyedit 3.12 What's New: PEP 684 (#109657)Adam Turner2023-09-221-4/+4
|
* GH-109190: Copyedit 3.12 What's New: bytecode (LOAD_METHOD) (#109665)Adam Turner2023-09-221-2/+2
| | | bytecode: suppress reference to removed LOAD_METHOD
* gh-106584: Fix exit code for unittest in Python 3.12 (#106588)EliseevEgor2023-09-225-12/+18
| | | | | Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com> Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
* GH-109190: Copyedit 3.12 What's New: calendar (#109662)Adam Turner2023-09-221-1/+2
| | | | Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* GH-109190: Copyedit 3.12 What's New: tokenize (#109663)Adam Turner2023-09-221-2/+2
|
* GH-109190: Copyedit 3.12 What's New: Consistently show module names (#109664)Adam Turner2023-09-221-20/+20
| | | Consistently show module names
* gh-109566: Fix typo in PCbuild/rt.bat (#109701)Victor Stinner2023-09-221-1/+1
|
* gh-109702: Increase concurrent_futures deadlock timeout (#109703)Victor Stinner2023-09-221-1/+1
| | | | Replace SHORT_TIMEOUT with LONG_TIMEOUT in test_deadlock of test_concurrent_futures.
* gh-108996: fix and enable test_msvcrt (#109226)AN Long2023-09-224-18/+120
| | | | | | * Add _testconsole.flush_console_input_buffer() function. * test_kbhit(), test_getwch() and test_getwche() now call flush_console_input_buffer(). * Don't override sys.stdin anymore (not needed).
* gh-104469: Disallow using Py_LIMITED_API with Py_BUILD_CORE (#109690)Victor Stinner2023-09-212-2/+11
| | | | Fix make check-c-globals: complete USE_LIMITED_C_API list of the c-analyzer.
* gh-108948: Skip test_tarfile.test_modes() on EFTYPE error (#109697)Victor Stinner2023-09-211-8/+21
| | | | On FreeBSD, regular users cannot set the sticky bit. Skip the test if chmod() fails with EFTYPE error.
* gh-109582: test_fork_signal_handling should wait for event (#109605)Davide Rizzo2023-09-211-2/+11
| | | | | | Sometimes the child_handled event was missing because either the child quits before it gets a chance to handle the signal, or the parent asserts before the event notification is delivered via IPC. Synchronize explicitly to avoid this.
* gh-109693: Remove pycore_atomic_funcs.h (#109694)Sam Gross2023-09-216-116/+3
| | | _PyUnicode_FromId() now uses pyatomic.h functions instead.
* gh-108303: Update test_fractions for new Lib/test/mathdata/ (#109686)Victor Stinner2023-09-211-1/+1
|
* GH-109190: Copyedit 3.12 What's New: PEP 701 (#109655)Adam Turner2023-09-211-15/+17
|
* GH-109190: Copyedit 3.12 What's New: Improved Error Messages (#109654)Adam Turner2023-09-211-6/+5
|
* gh-108303: Move all math files to `Lib/test/mathdata/` (#109512)Nikita Sobolev2023-09-218-4/+6
|
* GH-109190: Copyedit 3.12 What's New: Typing PEPs (#109659)Adam Turner2023-09-211-4/+6
|
* GH-109190: Copyedit 3.12 What's New: PEP 709 (#109656)Adam Turner2023-09-211-7/+5
|
* gh-74481: Add missing debug function docs and constants to msvcrt (GH-109650)AN Long2023-09-213-13/+107
|
* gh-109613: _pystat_fromstructstat() checks for exceptions (#109618)Victor Stinner2023-09-212-49/+76
| | | | | | | | | | | | | Fix os.stat() and os.DirEntry.stat(): check for exceptions. Previously, on Python built in debug mode, these functions could trigger a fatal Python error (and abort the process) when a function succeeded with an exception set. _pystat_fromstructstat() now exits immediately if an exception is raised, rather only checking for exceptions at the end. It fix following fatal error in fill_time(): Fatal Python error: _Py_CheckSlotResult: Slot * of type int succeeded with an exception set
* gh-109625: Move _ready_to_import() from test_import to support.import_helper ↵Nikita Sobolev2023-09-213-34/+35
| | | | (#109626)
* GH-109209: Bump the minimum Sphinx version to 4.2 (#109210)Adam Turner2023-09-214-8/+7
|
* gh-109627: duplicated smalll exit blocks need to be assigned jump target ↵Irit Katriel2023-09-203-5/+28
| | | | labels (#109630)
* gh-109408: Move Windows builds from Azure Pipelines PR to GitHub Actions ↵Hugo van Kemenade2023-09-202-31/+20
| | | | (#109569)
* Fix typos in docs and comments (#109619)Heinz-Alexander Fuetterer2023-09-2014-15/+15
|
* gh-109390: add dump_symtable utility under #if 0 (#109391)Carl Meyer2023-09-201-1/+110
| | | Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* gh-109054: Document configure variables (#109224)Victor Stinner2023-09-202-0/+151
|
* gh-108973: Fix asyncio test_subprocess_consistent_callbacks() (#109431)Victor Stinner2023-09-204-19/+67
| | | | | | | | | | | | | SubprocessProtocol process_exited() method can be called before pipe_data_received() and pipe_connection_lost() methods. Document it and adapt the test for that. Revert commit 282edd7b2a74c4dfe1bfe3c5b1d30f9c21d554d6. _child_watcher_callback() calls immediately _process_exited(): don't add an additional delay with call_soon(). The reverted change didn't make _process_exited() more determistic: it can still be called before pipe_connection_lost() for example. Co-authored-by: Davide Rizzo <sorcio@gmail.com>
* gh-109559: Update unicodedata checksums for 15.1.0. (#109597)Benjamin Peterson2023-09-201-2/+2
| | | Update unicodedata checksums for 15.1.0.
* fixes gh-109559: Update `unicodedata` for Unicode 15.1.0 (GH-109560)James Gerity2023-09-209-18507/+18925
| | | | | --------- Co-authored-by: Benjamin Peterson <benjamin@python.org>
* gh-109543: Remove unnecessary hasattr check (#109544)Jelle Zijlstra2023-09-203-2/+14
| | | | Also added a new test case covering the scenario I thought this might be about.
* gh-103053: Skip test_freeze_simple_script() on PGO build (#109591)Victor Stinner2023-09-205-10/+36
| | | | | | | | | | Skip test_freeze_simple_script() of test_tools.test_freeze if Python is built with "./configure --enable-optimizations", which means with Profile Guided Optimization (PGO): it just makes the test too slow. The freeze tool is tested by many other CIs with other (faster) compiler flags. test.pythoninfo now gets also get_build_info() of test.libregrtests.utils.
* gh-90108: Disable LTO on _freeze_module and _testembed (#109581)Victor Stinner2023-09-201-2/+2
| | | | | | LTO optimization is nice to make Python faster, but _freeze_module and _testembed performance is not important. Using LTO to build these two programs make a whole Python build way slower, especially combined with a sanitizer (like ASAN).
* gh-109109: Expose retrieving certificate chains in SSL module (#109113)Mateusz Nowak2023-09-203-4/+63
| | | | | Adds APIs to get the TLS certificate chains, verified or full unverified, from SSLSocket and SSLObject. Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
* gh-109033: Return filename with os.utime errors (#109034)Ronan Pigott2023-09-193-7/+11
| | | | | | | The filename was previously intentionally omitted from exception because "it might confuse the user". Uncaught exceptions are not generally a replacement for user-facing error messages, so obscuring this information only has the effect of making the programmer's life more difficult.
* gh-76785: Use Pending Calls When Releasing Cross-Interpreter Data (gh-109556)Eric Snow2023-09-197-67/+98
| | | This fixes some crashes in the _xxinterpchannels module, due to a race between interpreters.
* gh-109580: Skip test_perf_profiler on ASAN build (#109584)Victor Stinner2023-09-192-1/+8
| | | | Skip test_perf_profiler if Python is built with ASAN, MSAN or UBSAN sanitizer. Python does crash randomly in this test on such build.
* gh-108724: Fix _PySemaphore compile error on WASM (gh-109583)Sam Gross2023-09-191-1/+2
| | | Some WASM platforms have POSIX semaphores, but not sem_timedwait.
* gh-108724: Add PyMutex and _PyParkingLot APIs (gh-109344)Sam Gross2023-09-1929-21/+1665
| | | | | | | | | | | | | | | | | | | | | | | | | | PyMutex is a one byte lock with fast, inlineable lock and unlock functions for the common uncontended case. The design is based on WebKit's WTF::Lock. PyMutex is built using the _PyParkingLot APIs, which provides a cross-platform futex-like API (based on WebKit's WTF::ParkingLot). This internal API will be used for building other synchronization primitives used to implement PEP 703, such as one-time initialization and events. This also includes tests and a mini benchmark in Tools/lockbench/lockbench.py to compare with the existing PyThread_type_lock. Uncontended acquisition + release: * Linux (x86-64): PyMutex: 11 ns, PyThread_type_lock: 44 ns * macOS (arm64): PyMutex: 13 ns, PyThread_type_lock: 18 ns * Windows (x86-64): PyMutex: 13 ns, PyThread_type_lock: 38 ns PR Overview: The primary purpose of this PR is to implement PyMutex, but there are a number of support pieces (described below). * PyMutex: A 1-byte lock that doesn't require memory allocation to initialize and is generally faster than the existing PyThread_type_lock. The API is internal only for now. * _PyParking_Lot: A futex-like API based on the API of the same name in WebKit. Used to implement PyMutex. * _PyRawMutex: A word sized lock used to implement _PyParking_Lot. * PyEvent: A one time event. This was used a bunch in the "nogil" fork and is useful for testing the PyMutex implementation, so I've included it as part of the PR. * pycore_llist.h: Defines common operations on doubly-linked list. Not strictly necessary (could do the list operations manually), but they come up frequently in the "nogil" fork. ( Similar to https://man.freebsd.org/cgi/man.cgi?queue) --------- Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* gh-109496: Skip test_capi.test_decref_freed_object() on ASAN (#109573)Victor Stinner2023-09-191-0/+2
| | | | Skip test_decref_freed_object() of test_capi.test_misc if Python is built with ASAN, MSAN or UBSAN sanitizers.