Visitar URL original
gh-96127: Fix `inspect.signature` call on mocks (#96335) · testing-cabal/mock@ee9744d · GitHub
Skip to content

Commit ee9744d

Browse files
sobolevncjw296
authored andcommitted
gh-96127: Fix inspect.signature call on mocks (#96335)
Backports: 9e7d7266ecdcccc02385fe4ccb094f3444102e26 Signed-off-by: Chris Withers <chris@simplistix.co.uk>
1 parent 5219601 commit ee9744d

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
``inspect.signature`` was raising ``TypeError`` on call with mock objects.
2+
Now it correctly returns ``(*args, **kwargs)`` as infered signature.

‎mock/mock.py‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2258,7 +2258,15 @@ def __init__(self, *args, **kwargs):
22582258
code_mock = NonCallableMock(spec_set=_CODE_ATTRS)
22592259
code_mock.__dict__["_spec_class"] = CodeType
22602260
code_mock.__dict__["_spec_signature"] = _CODE_SIG
2261-
code_mock.co_flags = inspect.CO_COROUTINE
2261+
code_mock.co_flags = (
2262+
inspect.CO_COROUTINE
2263+
+ inspect.CO_VARARGS
2264+
+ inspect.CO_VARKEYWORDS
2265+
)
2266+
code_mock.co_argcount = 0
2267+
code_mock.co_varnames = ('args', 'kwargs')
2268+
code_mock.co_posonlyargcount = 0
2269+
code_mock.co_kwonlyargcount = 0
22622270
self.__dict__['__code__'] = code_mock
22632271
self.__dict__['__name__'] = 'AsyncMock'
22642272
self.__dict__['__defaults__'] = tuple()

0 commit comments

Comments
 (0)