summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gh-107265: Remove all ENTER_EXECUTOR when execute _Py_Instrument (gh-108539)Dong-hee Na2023-09-074-32/+59
|
* gh-107211: No longer export internal _PyLong_FromUid() (#109037)Victor Stinner2023-09-071-11/+17
| | | | No longer export _PyLong_FromUid() and _Py_Sigset_Converter() internal C API function.
* gh-109015: Add test.support.socket_helper.tcp_blackhole() (#109016)Victor Stinner2023-09-067-0/+79
| | | | Skip test_asyncio, test_imaplib and test_socket tests if FreeBSD TCP blackhole is enabled (net.inet.tcp.blackhole=2).
* Docs: Fix typo in datetime.tzinfo docstring (#107257)Mikhail Samylov2023-09-061-1/+1
| | | | | Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* GH-108202: Document ``calendar``'s command-line interface (#109020)Adam Turner2023-09-062-1/+144
| | | | Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* GH-104584: Restore frame->stacktop on optimizer error (GH-108953)Brandt Bucher2023-09-062-0/+3
|
* gh-108751: Add copy.replace() function (GH-108752)Serhiy Storchaka2023-09-0619-71/+314
| | | | | | | | | It creates a modified copy of an object by calling the object's __replace__() method. It is a generalization of dataclasses.replace(), named tuple's _replace() method and replace() methods in various classes, and supports all these stdlib classes.
* gh-107732: Mention dir support in importlib.resources docs (#107734)Shahriar Heidrich2023-09-062-5/+14
| | | | | Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* GH-90690: Mention removal of ``PRECALL`` in What's New (#103910)Anthony Shaw2023-09-061-0/+3
| | | | | Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
* gh-106307: Fix PyMapping_GetOptionalItemString() (GH-108797)Serhiy Storchaka2023-09-062-0/+39
| | | | | | The resulting pointer was not set to NULL if the creation of a temporary string object was failed. The tests were also missed due to oversight.
* C API tests: use special markers to test that output parameters were set ↵Serhiy Storchaka2023-09-067-30/+60
| | | | (GH-109014)
* gh-108740: Fix "make regen-all" race condition (#108741)Victor Stinner2023-09-064-10/+38
| | | | | | | | | | | | | | | | | | Fix a race condition in "make regen-all". The deepfreeze.c source and files generated by Argument Clinic are now generated or updated before generating "global objects". Previously, some identifiers may miss depending on the order in which these files were generated. * "make regen-global-objects": Make sure that deepfreeze.c is generated and up to date, and always run "make clinic". * "make clinic" no longer runs generate_global_objects.py script. * "make regen-deepfreeze" now only updates deepfreeze.c (C file). It doesn't build deepfreeze.o (object) anymore. * Remove misleading messages in "make regen-global-objects" and "make clinic". They are now outdated, these commands are now safe to use. * Document generates files in Doc/using/configure.rst. Co-authored-by: Erlend E. Aasland <erlend@python.org>
* gh-108753: Enhance pystats (#108754)Victor Stinner2023-09-0619-183/+402
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Statistics gathering is now off by default. Use the "-X pystats" command line option or set the new PYTHONSTATS environment variable to 1 to turn statistics gathering on at Python startup. Statistics are no longer dumped at exit if statistics gathering was off or statistics have been cleared. Changes: * Add PYTHONSTATS environment variable. * sys._stats_dump() now returns False if statistics are not dumped because they are all equal to zero. * Add PyConfig._pystats member. * Add tests on sys functions and on setting PyConfig._pystats to 1. * Add Include/cpython/pystats.h and Include/internal/pycore_pystats.h header files. * Rename '_py_stats' variable to '_Py_stats'. * Exclude Include/cpython/pystats.h from the Py_LIMITED_API. * Move pystats.h include from object.h to Python.h. * Add _Py_StatsOn() and _Py_StatsOff() functions. Remove '_py_stats_struct' variable from the API: make it static in specialize.c. * Document API in Include/pystats.h and Include/cpython/pystats.h. * Complete pystats documentation in Doc/using/configure.rst. * Don't write "all zeros" stats: if _stats_off() and _stats_clear() or _stats_dump() were called. * _PyEval_Fini() now always call _Py_PrintSpecializationStats() which does nothing if stats are all zeros. Co-authored-by: Michael Droettboom <mdboom@gmail.com>
* gh-108851: Fix tomllib recursion tests (#108853)Victor Stinner2023-09-067-41/+177
| | | | | | | | | | | * Add get_recursion_available() and get_recursion_depth() functions to the test.support module. * Change infinite_recursion() default max_depth from 75 to 100. * Fix test_tomllib recursion tests for WASI buildbots: reduce the recursion limit and compute the maximum nested array/dict depending on the current available recursion limit. * test.pythoninfo logs sys.getrecursionlimit(). * Enhance test_sys tests on sys.getrecursionlimit() and sys.setrecursionlimit().
* gh-91960: Add FreeBSD build and test using Cirrus-CI (#91961)Ed Maste2023-09-062-0/+24
| | | | | | | Cirrus-CI is a hosted CI service that supports FreeBSD, Linux, macOS, and Windows. Add a .cirrus.yml configuration file to provide CI coverage on pull requests for FreeBSD 13.2. Co-authored-by: Victor Stinner <vstinner@python.org>
* gh-109002: Ensure only one wheel for each vendored package (#109003)Łukasz Langa2023-09-061-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | Output with one wheel: ``` ❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py Verifying checksum for /Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl. Expected digest: 7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be Actual digest: 7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be ::notice file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl::Successfully verified the checksum of the pip wheel. ``` Output with two wheels: ``` ❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py ::error file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-22.0.4-py3-none-any.whl::Found more than one wheel for package pip. ::error file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl::Found more than one wheel for package pip. ``` Output without wheels: ``` ❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py ::error file=::Could not find a pip wheel on disk. ```
* gh-91960: Skip test_gdb if gdb cannot retrive Python frames (#108999)Victor Stinner2023-09-062-4/+10
| | | | | | | | | | Skip test_gdb if gdb is unable to retrieve Python frame objects: if a frame is "<optimized out>". When Python is built with "clang -Og", gdb can fail to retrive the 'frame' parameter of _PyEval_EvalFrameDefault(). In this case, tests like py_bt() are likely to fail. Without getting access to Python frames, python-gdb.py is mostly clueless on retrieving the Python traceback. Moreover, test_gdb is no longer skipped on macOS if Python is built with Clang.
* gh-107219: Fix concurrent.futures terminate_broken() (#108974)Victor Stinner2023-09-062-1/+10
| | | | | | | | Fix a race condition in _ExecutorManagerThread.terminate_broken(): ignore the InvalidStateError on future.set_exception(). It can happen if the future is cancelled before the caller. Moreover, test_crash_big_data() now waits explicitly until the executor completes.
* gh-108765: Cleanup #include in Python/*.c files (#108977)Victor Stinner2023-09-0618-48/+57
| | | Mention one symbol imported by each #include.
* gh-108303: Create Lib/test/test_dataclasses/ directory (#108978)Victor Stinner2023-09-067-5/+6
| | | | Move test_dataclasses.py and its "dataclass_*.py" modules into the new Lib/test/test_dataclasses/ subdirectory.
* gh-108983: Add more PEP 526 tests to `test_grammar` (#108984)Nikita Sobolev2023-09-061-0/+11
|
* gh-108991: replace _PyFrame_GetState by two simpler functions (#108992)Irit Katriel2023-09-061-31/+20
|
* gh-106670: Fix Pdb handling of chained Exceptions with no stacks. (#108865)Matthias Bussonnier2023-09-062-30/+108
|
* Fix a typo in umarshal.py (#108803)KH2023-09-061-1/+1
| | | Co-authored-by: Kumar Aditya <kumaraditya@python.org>
* gh-108717: Speedup `os.DirEntry.is_junction` function (#108718)Nikita Sobolev2023-09-062-13/+7
|
* gh-108857: improve markup in inspect.Signature.replace() docs (#108862)nabin20042023-09-061-1/+1
|
* gh-108962: Skip test_tempfile.test_flags() if not supported (#108964)Victor Stinner2023-09-052-1/+20
| | | | Skip test_tempfile.test_flags() if chflags() fails with "OSError: [Errno 45] Operation not supported" (ex: on FreeBSD 13).
* gh-106581: Support multiple uops pushing new values (#108895)Guido van Rossum2023-09-052-17/+83
| | | | Also avoid the need for the awkward .clone() call in the argument to mgr.adjust_inverse() and mgr.adjust().
* gh-108469: Update ast.unparse for unescaped quote support from PEP701 [3.12] ↵Anthony Shaw2023-09-054-28/+31
| | | | | | (#108553) Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
* gh-107755: Document the correct default value of slice step (GH-107756)wim glenn2023-09-051-1/+1
| | | Document the correct default value of slice step.
* gh-108927: Fix test_import + test_importlib + test_unittest problem (#108929)Nikita Sobolev2023-09-051-2/+3
|
* gh-107565: Update Windows build to use OpenSSL 3.0.10 (GH-108928)Zachary Ware2023-09-056-8/+5
| | | Also clean up some intermediate NEWS entries about previous versions.
* gh-108903: Remove unneeded `lambda`s from `asyncio` (GH-108904)Nikita Sobolev2023-09-052-5/+5
|
* gh-108416: Mark slow but not CPU bound test methods with ↵Serhiy Storchaka2023-09-0518-3/+48
| | | | requires_resource('walltime') (GH-108480)
* gh-89392: Use unittest test runner for doctests in test_getopt (GH-108916)Serhiy Storchaka2023-09-051-35/+36
|
* gh-89392: Use normal unittest runner in test_type_cache (GH-108911)Serhiy Storchaka2023-09-051-1/+1
|
* Add missed "f" in an f-string (GH-108906)Serhiy Storchaka2023-09-051-1/+1
|
* GH-103082: Document PEP-669: Low Impact Monitoring for CPython (GH-107772)Mark Shannon2023-09-054-0/+323
|
* gh-108840: Remove unused `TestEnumTypeSubclassing` from `test_enum` (#108841)Nikita Sobolev2023-09-051-2/+0
|
* gh-108294: Add error handling for time.sleep audit event (GH-108363)Petr Viktorin2023-09-053-32/+41
| | | | | I've also cleaned the tests up a bit to make this easier to test.
* Improve the GitHub issue forms (#108881)Alex Waygood2023-09-053-75/+44
|
* GH-108390: Prevent non-local events being set with ↵Mark Shannon2023-09-057-74/+143
| | | | `sys.monitoring.set_local_events()` (GH-108420)
* gh-89392: Remove support of test_main() in libregrtest (GH-108876)Serhiy Storchaka2023-09-053-12/+11
|
* gh-108834: regrtest --fail-rerun exits with code 5 (#108896)Victor Stinner2023-09-052-4/+6
| | | | When the --fail-rerun option is used and a test fails and then pass, regrtest now uses exit code 5 ("rerun) instead of 2 ("bad test").
* gh-106320: Remove private _PyErr_WriteUnraisableMsg() (#108863)Victor Stinner2023-09-0416-77/+86
| | | | | | Move the private _PyErr_WriteUnraisableMsg() functions to the internal C API (pycore_pyerrors.h). Move write_unraisable_exc() from _testcapi to _testinternalcapi.
* gh-108463: Make expressions/statements work as expected in pdb (#108464)Tian Gao2023-09-045-0/+52
|
* Link to PEP sections in What's New in 3.12 (#108878)Hugo van Kemenade2023-09-041-3/+7
|
* CI: Bump GitHub Actions (#108879)Hugo van Kemenade2023-09-046-17/+17
|
* Disable `differing_test_runners` health check (#108886)Nikita Sobolev2023-09-043-2/+9
|
* gh-107902: Don't test setting suid/sgid on systems that don't support them ↵Petr Viktorin2023-09-041-14/+25
| | | | (GH-108368)