Miss Islington (bot)
49e5740135
[3.13] gh-121027: Add a future warning in functools.partial.__get__ (GH-121086) ( #121092 )
...
gh-121027: Add a future warning in functools.partial.__get__ (GH-121086)
(cherry picked from commit db96edd6d1
)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-06-27 12:13:01 +00:00
Miss Islington (bot)
84634254fe
[3.13] gh-121025: Improve partialmethod.__repr__ (GH-121033) ( #121037 )
...
gh-121025: Improve partialmethod.__repr__ (GH-121033)
It no longer contains redundant commas and spaces.
(cherry picked from commit d2646e3f45
)
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-06-26 09:49:42 +00:00
Miss Islington (bot)
c0e9961798
[3.13] gh-119011: `type.__type_params__` now return an empty tuple (GH-119296) ( #119678 )
...
(cherry picked from commit 6b240c2308
)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
2024-05-28 19:09:04 +00:00
Serhiy Storchaka
17a8af9508
gh-118402: Fix inspect.signature() for functools.cmp_to_key() result (GH-118427)
2024-04-30 17:49:28 +03:00
Sam Gross
7ccacb220d
gh-117783: Immortalize objects that use deferred reference counting ( #118112 )
...
Deferred reference counting is not fully implemented yet. As a temporary
measure, we immortalize objects that would use deferred reference
counting to avoid multi-threaded scaling bottlenecks.
This is only performed in the free-threaded build once the first
non-main thread is started. Additionally, some tests, including refleak
tests, suppress this behavior.
2024-04-29 14:36:02 -04:00
CF Bolz-Tereick
5a0209fc23
GH-100242: bring functools.py partial implementation more in line with C code (GH-100244)
...
in partial.__new__, before checking for the existence of the attribute
'func', first check whether the argument is an instance of partial.
2024-04-17 15:34:46 +02:00
Erlend E. Aasland
ca62ffd1a5
gh-116303: Skip tests if C recursion limit is unavailable (GH-117368)
...
The test suite fetches the C recursion limit from the _testcapi
extension module. Test extension modules can be disabled using the
--disable-test-modules configure option.
2024-04-08 14:45:25 +02:00
Victor Stinner
9967b568ed
gh-117008: Fix functools test_recursive_pickle() ( #117009 )
...
Use support.infinite_recursion() in test_recursive_pickle() of
test_functools to prevent a stack overflow on "ARM64 Windows
Non-Debug" buildbot.
Lower Py_C_RECURSION_LIMIT to 1,000 frames on Windows ARM64.
2024-03-23 13:01:20 +01:00
Nikita Sobolev
27df81d564
gh-115264: Fix `test_functools` with `-00` mode ( #115276 )
2024-03-13 09:41:37 +03:00
Furkan Onder
8f5be78bce
gh-72249: Include the module name in the repr of partial object (GH-101910)
...
Co-authored-by: Anilyka Barry <vgr255@live.ca>
2024-02-25 22:55:19 +02:00
Ammar Askar
8b776e0f41
gh-85294: Handle missing arguments to @singledispatchmethod gracefully (GH-21471)
...
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-02-16 23:17:30 +02:00
Mark Shannon
17b73ab99e
GH-113655: Lower the C recursion limit on various platforms (GH-113944)
2024-01-16 09:32:01 +00:00
Serhiy Storchaka
4e5b27e6a3
gh-81682: Fix test failures when CPython is built without docstrings (GH-113410)
2023-12-23 09:56:30 +00:00
Mark Shannon
45e09f921b
GH-112215: Increase C recursion limit for non debug builds (GH-113397)
2023-12-22 14:25:25 +00:00
Nikita Sobolev
baa6dc8e38
gh-90805: Make sure test_functools works with and without _functoolsmodule (GH-108644)
2023-09-11 19:13:37 +03:00
Tyler Smart
9bb576cb07
gh-107995: Fix doctest collection of functools.cached_property objects ( #107996 )
...
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-08-18 15:44:38 +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
Carl Meyer
838406b4fc
gh-106292: restore checking __dict__ in cached_property.__get__ ( #106380 )
...
* gh-106292: restore checking __dict__ in cached_property.__get__
Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2023-07-05 17:01:35 -06:00
Jelle Zijlstra
3fadd7d585
gh-104600: Make function.__type_params__ writable ( #104601 )
2023-05-18 16:45:37 -07:00
Irit Katriel
55c99d97e1
gh-77757: replace exception wrapping by PEP-678 notes in typeobject's __set_name__ ( #103402 )
2023-04-11 11:53:06 +01:00
Carl Meyer
056dfc71dc
gh-87634: remove locking from functools.cached_property (GH-101890)
...
Remove the undocumented locking capabilities of functools.cached_property.
2023-02-22 17:49:22 -08:00
Nikita Sobolev
83cbe84dc2
gh-64373: Convert `_functools` to Argument Clinic ( #96640 )
2022-10-07 10:36:40 -07:00
Jingxuan He
390847922c
Fix misused variable that was preventing permutations of classes from being tested (GH-93935)
2022-07-28 23:42:51 +01:00
Victor Stinner
3ceb4b8d3a
gh-84623: Remove unused imports in tests ( #93772 )
2022-06-13 16:56:03 +02:00
Thaddeus1499
f03d3dd9af
gh-90172: add test for functools.singledispatch on Union types with None type ( #92174 )
...
Signed-off-by: prwatson <prwatson@redhat.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-05-03 13:17:43 -06:00
Christian Heimes
2b16a08bc7
bpo-40280: Detect missing threading on WASM platforms (GH-32352)
...
Co-authored-by: Brett Cannon <brett@python.org>
2022-04-07 09:22:47 +02:00
Shantanu
5a4973e29f
bpo-46998: Allow subclassing Any at runtime (GH-31841)
...
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2022-04-04 19:35:29 -07:00
Russel Webber
0a28118324
bpo-46388: Test NotImplemented code path for functools.total_ordering (GH-30616)
2022-01-15 14:15:32 -08:00
Nikita Sobolev
c5640ef875
bpo-46380: Apply tests to both C and Python version (GH-30606)
2022-01-14 13:13:45 -08:00
Serhiy Storchaka
078abb676c
bpo-46032: Check types in singledispatch's register() at declaration time (GH-30050)
...
The registry() method of functools.singledispatch() functions checks now
the first argument or the first parameter annotation and raises a TypeError if it is
not supported. Previously unsupported "types" were ignored (e.g. typing.List[int])
or caused an error at calling time (e.g. list[int]).
2021-12-25 14:16:14 +02:00
Yurii Karabas
3cb357a2e6
bpo-46014: Add ability to use typing.Union with singledispatch (GH-30017)
2021-12-11 00:27:55 +01:00
Nikita Sobolev
60b5333fa9
bpo-45679: add `tuple` tests with `lru_cache` to `test_functools` (GH-29339)
2021-11-05 14:52:46 -05:00
Alex Waygood
32f55d1a5d
bpo-45678: Add more ``singledispatchmethod`` tests (GH-29412)
...
In order to fix a bug in the 3.9 branch in #29394 , more tests were added to
``test_functools.py`` to ensure that ``singledispatchmethod`` still correctly
wrapped a target method, even if the target method had already been wrapped by
multiple other decorators. This PR brings the new tests into the 3.11 and 3.10
branches as well.
2021-11-05 11:06:18 +01:00
Alex Waygood
5a14929a6e
bpo-45678: Add ``functools.singledispatchmethod`` tests (GH-29328)
2021-11-03 17:12:02 +01:00
Alex Waygood
ad6d162e51
bpo-39679: Add tests for classmethod/staticmethod singledispatchmethods (GH-29034)
...
In Python 3.8 and 3.9, stacking `@functools.singledispatchmethod` on top of
`@classmethod` or `@staticmethod` caused an exception to be raised if the
method was registered using type-annotations rather than
`@method.register(int)`. This was not caught by unit tests, however, as the
tests only tested the `@method.register(int)` way of registering additional
implementations. The bug is no longer present in Python 3.10+, but
`test_functools.py` is still lacking regression tests for these cases. This
commit adds these test cases.
2021-10-19 22:30:27 +02:00
Serhiy Storchaka
2a8127cafe
bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)
2021-08-29 14:04:40 +03:00
Raymond Hettinger
1f7d64608b
bpo-44605: Teach @total_ordering() to work with metaclasses (GH-27633)
2021-08-06 14:33:30 -05:00
Erlend Egeberg Aasland
fbff5387c3
bpo-43988: Use check disallow instantiation helper (GH-26392)
2021-05-27 08:43:52 +02:00
Erlend Egeberg Aasland
9746cda705
bpo-43916: Apply Py_TPFLAGS_DISALLOW_INSTANTIATION to selected types (GH-25748)
...
Apply Py_TPFLAGS_DISALLOW_INSTANTIATION to the following types:
* _dbm.dbm
* _gdbm.gdbm
* _multibytecodec.MultibyteCodec
* _sre..SRE_Scanner
* _thread._localdummy
* _thread.lock
* _winapi.Overlapped
* array.arrayiterator
* functools.KeyWrapper
* functools._lru_list_elem
* pyexpat.xmlparser
* re.Match
* re.Pattern
* unicodedata.UCD
* zlib.Compress
* zlib.Decompress
2021-04-30 16:04:57 +02:00
Pablo Galindo
b0544ba77c
bpo-38605: Revert making 'from __future__ import annotations' the default (GH-25490)
...
This reverts commits 044a1048ca
and 1be456ae9d
, adapting the code to changes that happened after it.
2021-04-21 12:41:19 +01:00
Hai Shi
dd39123970
bpo-40137: Convert _functools module to use PyType_FromModuleAndSpec. (GH-23405)
2020-12-29 04:45:07 -08:00
Batuhan Taskaya
044a1048ca
bpo-38605: Make 'from __future__ import annotations' the default (GH-20434)
...
The hard part was making all the tests pass; there are some subtle issues here, because apparently the future import wasn't tested very thoroughly in previous Python versions.
For example, `inspect.signature()` returned type objects normally (except for forward references), but strings with the future import. We changed it to try and return type objects by calling `typing.get_type_hints()`, but fall back on returning strings if that function fails (which it may do if there are future references in the annotations that require passing in a specific namespace to resolve).
2020-10-06 13:03:02 -07:00
Hai Shi
3ddc634cd5
bpo-40275: Use new test.support helper submodules in tests (GH-21219)
2020-06-30 15:46:06 +02:00
Pablo Galindo
2f172d8f15
bpo-17005: Move topological sort functionality to its own module (GH-20558)
...
The topological sort functionality that was introduced initially in the
functools module has been moved to a new graphlib module to
better accommodate the new tools and keep the original scope of the
functools module.
2020-06-01 00:41:14 +01:00
Hai Shi
e80697d687
bpo-40275: Adding threading_helper submodule in test.support (GH-20263)
2020-05-28 00:10:27 +02:00
Raymond Hettinger
21cdb711e3
bpo-40571: Make lru_cache(maxsize=None) more discoverable (GH-20019)
2020-05-11 17:00:53 -07:00
Dennis Sweeney
1253c3ef70
bpo-40504: Allow weakrefs to lru_cache objects (GH-19938)
2020-05-05 14:14:32 -07:00
Pablo Galindo
99e6c260d6
bpo-17005: Add a class to perform topological sorting to the standard library (GH-11583)
...
Co-Authored-By: Tim Peters <tim.peters@gmail.com>
2020-01-23 15:29:52 +00:00
Manjusaka
051ff526b5
bpo-38565: add new cache_parameters method for lru_cache (GH-16916)
2019-11-11 23:30:18 -08:00
Serhiy Storchaka
142566c028
[3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)
...
Turn deprecation warnings added in 3.8 into TypeError.
2019-06-05 18:22:31 +03:00