diff options
author | Nikita Sobolev <mail@sobolevn.me> | 2024-06-19 20:35:11 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-19 20:35:11 (GMT) |
commit | 1e4815692f6c8a37a3974d0d7d2025494d026d76 (patch) | |
tree | 4d539071e6d30dbf6e60ad286b8cc9b57fc6134d /Lib/unittest | |
parent | ed5ae6c4d76feaff06c2104c8ff864553b000253 (diff) | |
download | cpython-1e4815692f6c8a37a3974d0d7d2025494d026d76.zip cpython-1e4815692f6c8a37a3974d0d7d2025494d026d76.tar.gz cpython-1e4815692f6c8a37a3974d0d7d2025494d026d76.tar.bz2 |
gh-120732: Fix `name` passing to `Mock`, when using kwargs to `create_autospec` (#120737)
Diffstat (limited to 'Lib/unittest')
-rw-r--r-- | Lib/unittest/mock.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py index 08975e0..d50535d 100644 --- a/Lib/unittest/mock.py +++ b/Lib/unittest/mock.py @@ -2755,6 +2755,12 @@ def create_autospec(spec, spec_set=False, instance=False, _parent=None, if not unsafe: _check_spec_arg_typos(kwargs) + _name = kwargs.pop('name', _name) + _new_name = _name + if _parent is None: + # for a top level object no _new_name should be set + _new_name = '' + _kwargs.update(kwargs) Klass = MagicMock @@ -2772,13 +2778,6 @@ def create_autospec(spec, spec_set=False, instance=False, _parent=None, elif is_type and instance and not _instance_callable(spec): Klass = NonCallableMagicMock - _name = _kwargs.pop('name', _name) - - _new_name = _name - if _parent is None: - # for a top level object no _new_name should be set - _new_name = '' - mock = Klass(parent=_parent, _new_parent=_parent, _new_name=_new_name, name=_name, **_kwargs) |