summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/mock.py
diff options
context:
space:
mode:
authorŁukasz Langa <lukasz@langa.pl>2015-04-14 07:12:57 (GMT)
committerŁukasz Langa <lukasz@langa.pl>2015-04-14 07:12:57 (GMT)
commit5f6684efe0690c1272b206764301e751e37d9bcf (patch)
treeba6a1f57f1603b2f3af243de631c0abbd0de6a95 /Lib/unittest/mock.py
parent4882cacab6bcaf90ac496fc8878987598e7665c1 (diff)
downloadcpython-5f6684efe0690c1272b206764301e751e37d9bcf.zip
cpython-5f6684efe0690c1272b206764301e751e37d9bcf.tar.gz
cpython-5f6684efe0690c1272b206764301e751e37d9bcf.tar.bz2
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 dcb2d8f..1b1c9f4 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -1771,14 +1771,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()