summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* gh-109566: Run GHA and buildbot tests with --fail-rerun (#109567)Victor Stinner2023-09-193-4/+4
|
* Misc itertool recipe improvements, mostly docstrings and comments (gh-109555)Raymond Hettinger2023-09-191-34/+42
|
* gh-109485: Further improve `test_future_stmt` tests (#109486)Nikita Sobolev2023-09-1911-115/+106
| | | | Add assertSyntaxError() which run tests with an additional docstring and without docstring, and checks for the error message.
* gh-109435: Add Doc/library/cmdline.rst (#109436)Victor Stinner2023-09-199-0/+70
| | | Document modules providing a command-line interface (CLI).
* no-issue: Fix typo TestContentTyopeHeader to TestContentTypeHeader (gh-109069)Jenner2023-09-191-1/+1
|
* gh-109125: Run mypy on `Tools/wasm` (#109126)Nikita Sobolev2023-09-195-40/+71
|
* gh-109469: Silence compiler warnings on string comparisons in _testcapi ↵Serhiy Storchaka2023-09-191-1/+2
| | | | (GH-109533)
* gh-109546: Add more tests for formatting floats and fractions (GH-109548)Serhiy Storchaka2023-09-192-2/+35
|
* Fix error handling in _PySys_UpdateConfig() (GH-109524)Serhiy Storchaka2023-09-181-2/+9
|
* gh-102757: fix function signature mismatch for `functools.reduce` between ↵Xuehai Pan2023-09-184-8/+12
| | | | code and documentation (#102759)
* gh-109496: Detect Py_DECREF() after dealloc in debug mode (#109539)Victor Stinner2023-09-184-16/+56
| | | | | | | | | On a Python built in debug mode, Py_DECREF() now calls _Py_NegativeRefcount() if the object is a dangling pointer to deallocated memory: memory filled with 0xDD "dead byte" by the debug hook on memory allocators. The fix is to check the reference count *before* checking for _Py_IsImmortal(). Add test_decref_freed_object() to test_capi.test_misc.
* gh-109508: Fix libregrtest formatting of getcwd() (#109537)Victor Stinner2023-09-181-1/+10
|
* gh-109371: Fix monitoring with instruction events set (gh-109385)Tian Gao2023-09-184-2/+33
|
* gh-108843: fix ast.unparse for f-string with many quotes (#108981)Shantanu2023-09-183-1/+35
|
* gh-108303: Fix and move `badsyntax_pep3120.py` (#109513)Nikita Sobolev2023-09-183-5/+3
| | | Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
* gh-109408: Azure Pipelines: test 3.12 branch (#109453)Hugo van Kemenade2023-09-182-2/+2
|