summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* Docs: getopt is deprecated in Python 3.13 (#109438)Hugo van Kemenade2023-09-181-1/+2
|
* Fix a typo in c-analyzer (#109213)DongWoo Son2023-09-181-1/+1
| | | | Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com> Co-authored-by: Dale Collison <92315623+dcollison@users.noreply.github.com>
* Fix extraneous backslashes in hashlib docs (#109468)Anthony Sottile2023-09-181-12/+12
|
* gh-109413: Improve mypy config for libregrtest (#109518)Alex Waygood2023-09-181-23/+9
| | | Improve the mypy config file for libregrtest
* gh-109408: Remove Ubuntu unit tests from Azure Pipelines (#109452)Hugo van Kemenade2023-09-173-54/+8
|
* gh-108511: Add C API functions which do not silently ignore errors (GH-109025)Serhiy Storchaka2023-09-1728-111/+330
| | | | | | | | | Add the following functions: * PyObject_HasAttrWithError() * PyObject_HasAttrStringWithError() * PyMapping_HasKeyWithError() * PyMapping_HasKeyStringWithError()
* gh-108303: Move all certificates to `Lib/test/certdata/` (#109489)Nikita Sobolev2023-09-1641-28/+31
|
* gh-109451: Fix wrong format specifier in logging documentation (GH-109465)AlberLC2023-09-161-1/+1
|
* gh-109414: Add some basic information about venvs in the introduction. ↵Vinay Sajip2023-09-161-0/+19
| | | | | (GH-109440) Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-109474: Update two Unix packaging URLs (#109307)partev2023-09-161-2/+2
| | | | | update packaging URLs fix a broken URL for fedora RPM packaging guide and fix a URL redirect for Slackware packaging guide.
* GH-83417: Allow `venv` to add a `.gitignore` file to environments via a new ↵Brett Cannon2023-09-157-95/+233
| | | | | | | | `scm_ignore_file` parameter (GH-108125) This feature is off by default via code but on by default via the CLI. The `.gitignore` file contains `*` which causes the entire directory to be ignored. Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-106213: Make Emscripten trampolines work with JSPI (GH-106219)Hood Chatham2023-09-1510-30/+183
| | | | | | | | | | | | | | | | | | | | | | | | There is a WIP proposal to enable webassembly stack switching which have been implemented in v8: https://github.com/WebAssembly/js-promise-integration It is not possible to switch stacks that contain JS frames so the Emscripten JS trampolines that allow calling functions with the wrong number of arguments don't work in this case. However, the js-promise-integration proposal requires the [type reflection for Wasm/JS API](https://github.com/WebAssembly/js-types) proposal, which allows us to actually count the number of arguments a function expects. For better compatibility with stack switching, this PR checks if type reflection is available, and if so we use a switch block to decide the appropriate signature. If type reflection is unavailable, we should use the current EMJS trampoline. We cache the function argument counts since when I didn't cache them performance was negatively affected. Co-authored-by: T. Wouters <thomas@python.org> Co-authored-by: Brett Cannon <brett@python.org>
* gh-109096: Deprecate `http.server.CGIHTTPRequestHandler` (#109387)Gregory P. Smith2023-09-155-7/+51
| | | | | Deprecate `http.server.CGIHTTPRequestHandler`. Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
* GH-109373: Store metadata required for pystats comparison in the JSON ↵Michael Droettboom2023-09-151-32/+65
| | | | (GH-109374)
* gh-109350: Fix outdated captured output in unittest.mock documentation (#109353)Egil Martinsson2023-09-152-10/+15
|
* gh-109413: Fix some trivial mypy nitpicks in libregrtest (#109454)Alex Waygood2023-09-154-13/+11
|