Serhiy Storchaka
462c1f0403
[3.10] bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005) (GH-28027)
...
(cherry picked from commit 2a8127cafe
)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-09-08 17:08:57 +02:00
Miss Islington (bot)
66dd1a0e64
bpo-44605: Teach @total_ordering() to work with metaclasses (GH-27633) (GH-27640)
2021-08-06 15:11:44 -05:00
Erlend Egeberg Aasland
0a3452e7cf
[3.10] bpo-43988: Add test.support.check_disallow_instantiation() (GH-25757) (GH-26885)
...
(cherry picked from commit 4f725261c6
, fbff5387c3
, and 8cec740820
)
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
Automerge-Triggered-By: GH:vstinner
2021-06-23 16:46:25 -07: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
Raymond Hettinger
b821868e6d
bpo-36772 Allow lru_cache to be used as decorator without making a function call (GH-13048)
2019-05-26 11:27:35 -07:00
Lysandros Nikolaou
d673810b9d
bpo-35252: Remove FIXME from test_functools (GH-10551)
2019-05-19 15:11:20 -07:00
Pablo Galindo
8c77b8cb91
bpo-36540: PEP 570 -- Implementation (GH-12701)
...
This commit contains the implementation of PEP570: Python positional-only parameters.
* Update Grammar/Grammar with new typedarglist and varargslist
* Regenerate grammar files
* Update and regenerate AST related files
* Update code object
* Update marshal.c
* Update compiler and symtable
* Regenerate importlib files
* Update callable objects
* Implement positional-only args logic in ceval.c
* Regenerate frozen data
* Update standard library to account for positional-only args
* Add test file for positional-only args
* Update other test files to account for positional-only args
* Add News entry
* Update inspect module and related tests
2019-04-29 13:36:57 +01:00
Raymond Hettinger
14adbd4598
bpo-36650: Fix handling of empty keyword args in C version of lru_cache. (GH-12881)
2019-04-20 07:20:44 -10:00
Serhiy Storchaka
42a139ed88
bpo-36492: Deprecate passing some arguments as keyword arguments. (GH-12637)
...
Deprecated passing the following arguments as keyword arguments:
- "func" in functools.partialmethod(), weakref.finalize(),
profile.Profile.runcall(), cProfile.Profile.runcall(),
bdb.Bdb.runcall(), trace.Trace.runfunc() and
curses.wrapper().
- "function" in unittest.addModuleCleanup() and
unittest.TestCase.addCleanup().
- "fn" in the submit() method of concurrent.futures.ThreadPoolExecutor
and concurrent.futures.ProcessPoolExecutor.
- "callback" in contextlib.ExitStack.callback(),
contextlib.AsyncExitStack.callback() and
contextlib.AsyncExitStack.push_async_callback().
- "c" and "typeid" in the create() method of multiprocessing.managers.Server
and multiprocessing.managers.SharedMemoryServer.
- "obj" in weakref.finalize().
Also allowed to pass arbitrary keyword arguments (even "self" and "func")
if the above arguments are passed as positional argument.
2019-04-01 09:16:35 +03:00
Raymond Hettinger
d8080c0119
bpo-35780: Fix errors in lru_cache() C code (GH-11623)
2019-01-26 03:02:00 -05:00
madman-bob
e25d5fc18e
bpo-32321: Add pure Python fallback for functools.reduce (GH-8548)
2018-10-25 16:02:10 +02:00
Carl Meyer
d658deac60
bpo-21145: Add cached_property decorator in functools ( #6982 )
...
Robust caching of calculated properties is
harder than it looks at first glance, so add
a solid, well-tested implementation to the
standard library.
2018-08-28 17:11:56 +10:00
INADA Naoki
56d8f57b83
bpo-33967: Fix wrong use of assertRaises (GH-8306)
2018-07-17 13:44:47 +09:00
Zackery Spytz
9e9b2c32a3
bpo-33967: Remove use of deprecated assertRaisesRegexp() (GH-8261)
...
It was added in test_functools at 445f1b3
.
2018-07-12 12:57:05 +09:00
Dong-hee Na
445f1b35ce
bpo-33967: Fix singledispatch raised IndexError when no args (GH-8184)
2018-07-10 16:26:36 +09:00
Ethan Smith
c651275afe
bpo-32380: Create functools.singledispatchmethod ( #6306 )
2018-05-26 13:38:33 -07:00
Mike
53f7a7c281
bpo-32297: Few misspellings found in Python source code comments. ( #4803 )
...
* Fix multiple typos in code comments
* Add spacing in comments (test_logging.py, test_math.py)
* Fix spaces at the beginning of comments in test_logging.py
2017-12-14 13:04:53 +02:00
Łukasz Langa
e56975351b
bpo-32227: functools.singledispatch supports registering via type annotations ( #4733 )
2017-12-11 13:56:31 -08:00
INADA Naoki
9811e80fd0
bpo-31581: Reduce the number of imports for functools (GH-3757)
2017-09-30 16:13:02 +09:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Ville Skyttä
49b2734bf1
Spelling fixes ( #2902 )
2017-08-03 09:00:59 +03:00
Serhiy Storchaka
2e576f5aec
bpo-30144: Import collections ABC from collections.abc rather than collections. ( #1263 )
2017-04-24 09:05:00 +03:00
Michael Seifert
6c3d527468
bpo-29800: Fix crashes in partial.__repr__ if the keys of partial.keywords are not strings ( #649 )
2017-03-15 07:26:33 +02:00
Serhiy Storchaka
9639e4ab6d
bpo-29532: Altering a kwarg dictionary passed to functools.partial() ( #190 )
...
no longer affects a partial object after creation.
2017-02-20 14:04:30 +02:00
Serhiy Storchaka
617c7753ce
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 19:42:20 +02:00
Serhiy Storchaka
42e1ea9a10
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 19:12:21 +02:00
Serhiy Storchaka
67796521dd
Issue #28969 : Fixed race condition in C implementation of functools.lru_cache.
...
KeyError could be raised when cached function with full cache was
simultaneously called from differen threads with the same uncached arguments.
2017-01-12 18:34:33 +02:00
Raymond Hettinger
605a4476f8
Add test for ea064ff3c10f
2017-01-09 07:50:19 -08:00
Raymond Hettinger
ac7c5acf9b
merge
2017-01-08 17:29:21 -08:00
Raymond Hettinger
4ee39141e8
Issue #29203 : functools.lru_cache() now respects PEP 468
2017-01-08 17:28:20 -08:00
Raymond Hettinger
5eed36fab4
Issue #29200 : Fix test to use self.assertEqual instead of py.test style tests
2017-01-07 20:53:09 -08:00
Raymond Hettinger
d191ef25c1
Issue #29200 : Add test for lru cache only calling __hash__ once
2017-01-07 20:44:48 -08:00
Raymond Hettinger
c28dbd0452
merge
2016-12-16 13:59:32 -08:00
Raymond Hettinger
af56e0e70f
Issue #28991 : Fix obscure reentrancy bug in functools.lru_cache().
2016-12-16 13:57:40 -08:00
Xavier de Gaye
7522ef402c
Issue #26939 : Add the support.setswitchinterval() function to fix
...
test_functools hanging on the Android armv7 qemu emulator.
2016-12-08 11:06:56 +01:00
Yury Selivanov
0a66a1cdd6
Merge 3.6 (issue #28653 )
2016-11-09 18:56:26 -05:00
Yury Selivanov
46a02db90b
Issue #28653 : Fix a refleak in functools.lru_cache.
2016-11-09 18:55:45 -05:00
Serhiy Storchaka
e3d504090c
Extend the test to lower pickle protocols.
2016-09-22 11:42:38 +03:00
Serhiy Storchaka
92bb90a9ff
Extend the test to lower pickle protocols.
2016-09-22 11:39:25 +03:00