Chris Withers added the comment:
A naive solution is to chat unittest.mock._Call's __getattr__ to be as follows:
def __getattr__(self, attr):
if attr == '__wrapped__':
raise AttributeError('__wrapped__')
if self.name is None:
return _Call(name=attr, from_kall=False)
name = '%s.%s' % (self.name, attr)
return _Call(name=name, parent=self, from_kall=False)
...but I'm not sure that's the right thing to do.
inspect.unwrap is trying to catch this loop, but the implementation fails for
cases where f.__wrapped__ is generative, as in the case of Mock and _Call.
I suspect both modules need a fix, but not sure what best to suggest.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue25532>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com