]> granicus.if.org Git - python/commitdiff
Issue #24857: Comparing call_args to a long sequence now correctly returns a
authorBerker Peksag <berker.peksag@gmail.com>
Wed, 9 Sep 2015 20:35:25 +0000 (23:35 +0300)
committerBerker Peksag <berker.peksag@gmail.com>
Wed, 9 Sep 2015 20:35:25 +0000 (23:35 +0300)
boolean result instead of raising an exception.

Patch by A Kaptur.

Lib/unittest/mock.py
Lib/unittest/test/testmock/testmock.py
Misc/NEWS

index ec3f2f9e42b4eb40619e6b3542b533b7838c3d9d..573c799ceddf4e9252350220e862d62fa5e5341f 100644 (file)
@@ -1986,8 +1986,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):
@@ -1998,6 +1997,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
index 976c40fc456c026f332f2d5339b071901f653141..cf1673c6caec5d44278d6443ba5258b651f3d1b0 100644 (file)
@@ -291,6 +291,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()
index 79faea9710a076d76cb8c2301beb2256884e3bd4..01913a50860b35c243158d7d4ecbe24db61d5b38 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -84,6 +84,9 @@ Library
 - Issue #24982: shutil.make_archive() with the "zip" format now adds entries
   for directories (including empty directories) in ZIP file.
 
+- 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 #25019: Fixed a crash caused by setting non-string key of expat parser.
   Based on patch by John Leitch.