summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2015-09-09 20:40:11 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2015-09-09 20:40:11 (GMT)
commit17ebaa93d42b396a6538c8e48dfdae70bac489ee (patch)
tree93fd0c0d1a89bc95b1e47aedc8b77c7e501e1cb8
parent0ae505e7d39726cdc8c279c7cb4908e12a39d998 (diff)
parent29bf4d403dd2cb8875e224f50a4cfeea177d33ae (diff)
downloadcpython-17ebaa93d42b396a6538c8e48dfdae70bac489ee.zip
cpython-17ebaa93d42b396a6538c8e48dfdae70bac489ee.tar.gz
cpython-17ebaa93d42b396a6538c8e48dfdae70bac489ee.tar.bz2
Issue #24857: Comparing call_args to a long sequence now correctly returns a
boolean result instead of raising an exception. Patch by A Kaptur.
-rw-r--r--Lib/unittest/mock.py5
-rw-r--r--Lib/unittest/test/testmock/testmock.py3
-rw-r--r--Misc/NEWS3
3 files changed, 9 insertions, 2 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
index 4c58639..99ce1e2 100644
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -2005,8 +2005,7 @@ class _Call(tuple):
else:
other_args = ()
other_kwargs = value
- else:
- # len 2
+ elif len_other == 2:
# could be (name, args) or (name, kwargs) or (args, kwargs)
first, second = other
if isinstance(first, str):
@@ -2017,6 +2016,8 @@ class _Call(tuple):
other_args, other_kwargs = (), second
else:
other_args, other_kwargs = first, second
+ else:
+ return False
if self_name and other_name != self_name:
return False
diff --git a/Lib/unittest/test/testmock/testmock.py b/Lib/unittest/test/testmock/testmock.py
index 97d844f..2a6069f 100644
--- a/Lib/unittest/test/testmock/testmock.py
+++ b/Lib/unittest/test/testmock/testmock.py
@@ -300,6 +300,9 @@ class MockTest(unittest.TestCase):
self.assertEqual(mock.call_args,
((sentinel.Arg,), {"kw": sentinel.Kwarg}))
+ # Comparing call_args to a long sequence should not raise
+ # an exception. See issue 24857.
+ self.assertFalse(mock.call_args == "a long sequence")
def test_assert_called_with(self):
mock = Mock()
diff --git a/Misc/NEWS b/Misc/NEWS
index c61dc77..5859f45 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -98,6 +98,9 @@ Core and Builtins
Library
-------
+- Issue #24857: Comparing call_args to a long sequence now correctly returns a
+ boolean result instead of raising an exception. Patch by A Kaptur.
+
- Issue #23144: Make sure that HTMLParser.feed() returns all the data, even
when convert_charrefs is True.