summaryrefslogtreecommitdiff
path: root/Lib/unittest/mock.py
diff options
context:
space:
mode:
authorŁukasz Langa <lukasz@langa.pl>2015-04-13 23:12:42 -0700
committerŁukasz Langa <lukasz@langa.pl>2015-04-13 23:12:42 -0700
commita468db9b0bd8d17575923b91db5fbc4a222d4252 (patch)
treece2ee26a354e880ce35c3eabf7c25601823e6080 /Lib/unittest/mock.py
parentcd1aa9158ec89d541ed6309f1766e188778a1499 (diff)
downloadcpython-git-a468db9b0bd8d17575923b91db5fbc4a222d4252.tar.gz
Issue #23310: Fix MagicMock's initializer to work with __methods__.
Behavior equivalent to m.configure_mock(). Patch by Kasia Jachim.
Diffstat (limited to 'Lib/unittest/mock.py')
-rw-r--r--Lib/unittest/mock.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 6a0fd50358..c3ab4e82e8 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -1789,14 +1789,15 @@ def _set_return_value(mock, method, name):
class MagicMixin(object):
def __init__(self, *args, **kw):
+ self._mock_set_magics() # make magic work for kwargs in init
_safe_super(MagicMixin, self).__init__(*args, **kw)
- self._mock_set_magics()
+ self._mock_set_magics() # fix magic broken by upper level init
def _mock_set_magics(self):
these_magics = _magics
- if self._mock_methods is not None:
+ if getattr(self, "_mock_methods", None) is not None:
these_magics = _magics.intersection(self._mock_methods)
remove_magics = set()