mirror of https://github.com/python/cpython
Issue #28919: Simplify _copy_func_details() in unittest.mock
Patch by Jiajun Huang.
This commit is contained in:
parent
e660327cf1
commit
161a4dd495
|
@ -104,26 +104,16 @@ def _check_signature(func, mock, skipfirst, instance=False):
|
|||
|
||||
|
||||
def _copy_func_details(func, funcopy):
|
||||
funcopy.__name__ = func.__name__
|
||||
funcopy.__doc__ = func.__doc__
|
||||
try:
|
||||
funcopy.__text_signature__ = func.__text_signature__
|
||||
except AttributeError:
|
||||
pass
|
||||
# we explicitly don't copy func.__dict__ into this copy as it would
|
||||
# expose original attributes that should be mocked
|
||||
try:
|
||||
funcopy.__module__ = func.__module__
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
funcopy.__defaults__ = func.__defaults__
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
funcopy.__kwdefaults__ = func.__kwdefaults__
|
||||
except AttributeError:
|
||||
pass
|
||||
for attribute in (
|
||||
'__name__', '__doc__', '__text_signature__',
|
||||
'__module__', '__defaults__', '__kwdefaults__',
|
||||
):
|
||||
try:
|
||||
setattr(funcopy, attribute, getattr(func, attribute))
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
|
||||
def _callable(obj):
|
||||
|
|
Loading…
Reference in New Issue