New submission from R. David Murray <rdmur...@bitdance.com>:

The following code:

  def foo(a, *, b=None):
    pass

  unittest.mock.create_autospec(foo)

fails with this traceback:

    Traceback (most recent call last):
      File "temp.py", line 6, in <module>
        unittest.mock.create_autospec(foo)
      File "/home/rdmurray/python/p33/Lib/unittest/mock.py", line 2026, in 
create_autospec
        mock = _set_signature(mock, spec)
      File "/home/rdmurray/python/p33/Lib/unittest/mock.py", line 162, in 
_set_signature
        result = _getsignature(original, skipfirst, instance)
      File "/home/rdmurray/python/p33/Lib/unittest/mock.py", line 81, in 
_getsignature
        regargs, varargs, varkwargs, defaults = inspect.getargspec(func)
      File "/home/rdmurray/python/p33/Lib/inspect.py", line 808, in getargspec
        raise ValueError("Function has keyword-only arguments or annotations"
    ValueError: Function has keyword-only arguments or annotations, use 
getfullargspec() API which can support them

----------
keywords: easy
messages: 158864
nosy: michael.foord, r.david.murray
priority: normal
severity: normal
status: open
title: Mock cannot autospec functions with keyword-only arguments.
type: enhancement
versions: Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14634>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to