Commit Graph

118391 Commits

Author SHA1 Message Date
Serhiy Storchaka 16c9415fba
gh-107178: Add the C API tests for the Abstract Objects Layer (GH-107179)
Cover all the Mapping Protocol, almost all the Sequence Protocol
(except PySequence_Fast) and a part of the Object Protocol.

Move existing tests to Lib/test/test_capi/test_abstract.py and
Modules/_testcapi/abstract.c.

Add also tests for PyDict C API.
2023-08-07 18:51:43 +03:00
Gertjan van Zwieten 8579327879
gh-107715: Escape class name in regular expression (GH-107716)
This patch escapes the class name before embedding it in the regular expression
for `pat` in `doctest.DocTestFinder._find_lineno`. While class names do not
ordinarily contain special characters, it is possible to encounter these when a
class is created dynamically. Escaping the name will correctly return `None` in
this scenario, rather than potentially matching a different class or raising
`re.error` depending on the symbols used.
2023-08-07 18:24:02 +03:00
Serhiy Storchaka ed64204716
gh-106566: Optimize (?!) in regular expressions (GH-106567) 2023-08-07 18:09:56 +03:00
Serhiy Storchaka 50e3cc9748
gh-100814: Fix exception for invalid callable value of Tkinter image option (GH-107692)
Passing a callable object as an option value to a Tkinter image now raises
the expected TclError instead of an AttributeError.
2023-08-07 17:38:55 +03:00
Erlend E. Aasland 835e388915
gh-95065: Argument Clinic: Pretty-print long C strings in generated code (#107712)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-07 14:33:52 +00:00
Nikita Sobolev 8fcee6b279
gh-107710: Speed up `logging.getHandlerNames` function (#107711) 2023-08-07 14:52:36 +01:00
Alex Waygood c399b5e1a5
gh-107713: Reduce usage of mocks in `test_clinic.py` (#107714) 2023-08-07 14:26:49 +01:00
Erlend E. Aasland 8c9af6b9a0
Docs: Fix more Sphinx annotations in ctypes.rst (#107708) 2023-08-07 15:11:05 +02:00
Alex Waygood 2ac103c346
gh-85160: Reduce memory usage of `singledispatchmethod` (#107706)
A small followup to #107148

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-07 13:46:36 +01:00
Erlend E. Aasland 33cb0b06ef
gh-95065: Add Argument Clinic support for deprecating positional use of parameters (#95151)
It is now possible to deprecate passing parameters positionally with
Argument Clinic, using the new '* [from X.Y]' syntax.
(To be read as "keyword-only from Python version X.Y")

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-08-07 11:28:08 +00:00
Serhiy Storchaka 3c8e8f3cee
gh-104496: Use correct Tcl or Tk version in Tkinter tests (GH-107688)
In future Tcl and Tk versions can be desynchronized.
2023-08-07 14:11:39 +03:00
Tomas R 6925c578a0
gh-107442: Document all valid types for ctypes _as_parameter_ (#107443) 2023-08-07 12:41:39 +02:00
Erlend E. Aasland a6675b1a59
Docs: Argument Clinic: Move the CConverter class to the reference (#107671) 2023-08-07 02:08:34 +02:00
Kamil Turek 4e242d1ffb
Improve cross-references in `runpy` docs (#107673)
- Add links to `__main__` and `sys.path` where appropriate
- Ensure each paragraph never has more than one link to the same thing, to avoid visual clutter from too many links
2023-08-06 21:11:16 +00:00
Alex Waygood ee3bf45e5e
gh-106368: Improve coverage reports for argument clinic (#107693) 2023-08-06 20:40:55 +01:00
Adam Turner 9564e31cbc
Do not use deprecated ``logger.warn()`` in pyspecific (#107694) 2023-08-06 13:58:00 +00:00
Pieter Eendebak 3e334ae259
gh-85160: improve performance of `functools.singledispatchmethod` (#107148)
Co-authored-by: mental <m3nta1@yahoo.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-06 13:37:12 +01:00
Hugo van Kemenade 9641c4d8e2
Docs: skip python-docs-theme 2023.7 to fix mobile menu (#107666) 2023-08-06 13:08:32 +02:00
Erlend E. Aasland 71a7c96ffe
Docs: Fix Sphinx annotations in Doc/library/ctypes.rst (#107672)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-08-06 10:23:50 +02:00
cocoatomo ecb05e0b98
GH-84435: Make pyspecific directives translatable (#19470)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
2023-08-05 23:10:50 -06:00
Alex Waygood 6996b406bc
gh-104683: Improve consistency and test coverage of argument-clinic `__repr__` functions (#107667) 2023-08-05 21:58:38 +01:00
Erlend E. Aasland 4a5b4221e3
Docs: Argument Clinic: Improve 'How to write a custom converter' (#107328)
- Omit unneccesary wording and sentences
- Don't mention implementation details (no digression, explanation)

Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2023-08-05 20:19:37 +00:00
Terry Jan Reedy 9ebc6ecbc3
gh-107662: Switch 'any' and 'anext' in functions.rst (#107663)
Order was reversed in index at top, not in body.
2023-08-05 14:38:20 +00:00
Kumar Aditya 41178e4199
GH-106684: raise `ResourceWarning` when `asyncio.StreamWriter` is not closed (#107650) 2023-08-05 17:48:15 +05:30
Daniele Procida 5e2746d6e2
gh-107432 Fix incorrect indentation in annotations HOWTO (#107445)
gh-107432 Fix incorrect indentation in annotations document

Body text in https://docs.python.org/3/howto/annotations.html was
indented throughout, and was being rendered in blockquote elements.
2023-08-05 14:28:28 +03:00
Guido van Rossum 85e5b1f5b8
gh-106812: Fix two tiny bugs in analysis.py (#107649)
This fixes two tiny defects in analysis.py that I didn't catch on time in #107564:

- `get_var_names` in `check_macro_consistency` should skip `UNUSED` names.
- Fix an occurrence of `is UNUSED` (should be `==`).
2023-08-05 04:50:36 +00:00
Ivin Lee 4e6fac7fcc
gh-106608: make uop trace variable length (#107531)
Executors are now more like tuples.
2023-08-04 21:10:46 -07:00
Brandt Bucher 05a824f294
GH-84436: Skip refcounting for known immortals (GH-107605) 2023-08-04 16:24:50 -07:00
Barney Gale ec0a0d2bd9
GH-70303: Emit FutureWarning when pathlib glob pattern ends with `**` (GH-105413)
In a future Python release, patterns with this ending will match both files
and directories. Users may add a trailing slash to remove the warning.
2023-08-04 23:12:12 +00:00
Alex Waygood 2c25bd82f4
gh-106368: Argument clinic: improve coverage for `self.valid_line()` calls (#107641) 2023-08-04 20:41:04 +01:00
Hugo van Kemenade 904b5319b3
Docs: Only include Plausible for html, not for epub etc (#107637)
Only include Plausible for html, not for epub etc
2023-08-04 21:33:34 +03:00
Erlend E. Aasland 321f0f7932
gh-104683: Argument Clinic: Use CConverter.length_name where possible (#107638)
Also make it a cached property.

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-04 17:49:07 +00:00
Guido van Rossum 400835ea16
gh-106812: Refactor cases_generator to allow uops with array stack effects (#107564)
Introducing a new file, stacking.py, that takes over several responsibilities related to symbolic evaluation of push/pop operations, with more generality.
2023-08-04 09:35:56 -07:00
Alex Waygood 407d7fda94
gh-104146: Argument clinic: remove dead code highlighted by the `vulture` tool (#107632) 2023-08-04 14:56:50 +00:00
Tomas R 09a8cc7984
gh-107600: Docs: Update ctypes.ArgumentError error message (#107601) 2023-08-04 16:34:04 +02:00
Hugo van Kemenade 19f32b24b2
Docs: upgrade to python-docs-theme 2023.7 (#107617) 2023-08-04 14:16:10 +00:00
Alex Waygood 7eba274fb3
gh-104146: Argument clinic: Remove dead code flagged by mypy's `truthy-bool` check (#107627) 2023-08-04 13:28:13 +00:00
Erlend E. Aasland ac7605ed19
gh-107614: Normalise Argument Clinic error messages (#107615)
- always wrap the offending line, token, or name in quotes
- in most cases, put the entire error message on one line

Added tests for uncovered branches that were touched by this PR.

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-04 12:13:10 +00:00
Mark Shannon 2ba7c7f7b1
Add some GC stats to Py_STATS (GH-107581) 2023-08-04 10:34:23 +01:00
Mark Shannon fa45958450
GH-107263: Increase C stack limit for most functions, except `_PyEval_EvalFrameDefault()` (GH-107535)
* Set C recursion limit to 1500, set cost of eval loop to 2 frames, and compiler mutliply to 2.
2023-08-04 10:10:29 +01:00
Erlend E. Aasland 0bd784b355
gh-106368: Increase Argument Clinic test coverage (#107611)
Add tests for directives and destinations
2023-08-04 07:48:32 +00:00
Erlend E. Aasland a443c310ac
gh-107609: Fix duplicate module check in Argument Clinic (#107610)
Also remove duplicate module def from _testcapi.
2023-08-04 07:28:25 +02:00
Brandt Bucher e52e87c349
GH-105481: Mark more files as generated (GH-107598) 2023-08-03 21:37:23 -07:00
Alex Waygood ee78d01a61
gh-104146: Argument clinic: remove unused methods and variables (#107608) 2023-08-04 00:17:17 +00:00
Alex Waygood 9e6590b097
gh-106368: Argument clinic tests: improve error message when `expect_success()` fails (#107606) 2023-08-03 21:26:14 +00:00
Eric Snow 58ef741867
gh-107080: Fix Py_TRACE_REFS Crashes Under Isolated Subinterpreters (gh-107567)
The linked list of objects was a global variable, which broke isolation between interpreters, causing crashes. To solve this, we've moved the linked list to each interpreter.
2023-08-03 19:51:08 +00:00
Tian Gao 14fbd4e6b1
gh-107446: Fix test_inspect.test_class_with_method_from_other_module when ran multiple times (#107451)
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2023-08-03 15:04:03 +00:00
James Hilton-Balfe ed4a978449
gh-107576: Ensure `__orig_bases__` are our own in `get_original_bases` (#107584)
Co-authored-by: Chris Bouchard <chris@upliftinglemma.net>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-03 14:19:24 +00:00
Pablo Galindo Salgado 77e09192b5
gh-107077: Raise SSLCertVerificationError even if the error is set via SSL_ERROR_SYSCALL (#107586)
Co-authored-by: T. Wouters <thomas@python.org>
2023-08-03 12:37:14 +00:00
Erlend E. Aasland a73daf54eb
gh-106368: Increase Argument Clinic test coverage (#107582)
Add tests for DSL parser state machine and docstring formatting
2023-08-03 09:35:26 +00:00