[Python-checkins] cpython (merge 3.4 -> 3.5): Issue #24857: Comparing call_args to a long sequence now correctly returns a

berker.peksag python-checkins at python.org
Wed Sep 9 22:40:46 CEST 2015


https://hg.python.org/cpython/rev/df91c1879e56
changeset:   97834:df91c1879e56
branch:      3.5
parent:      97831:321d06b265cf
parent:      97833:83ea55a1204a
user:        Berker Peksag <berker.peksag at gmail.com>
date:        Wed Sep 09 23:39:45 2015 +0300
summary:
  Issue #24857: Comparing call_args to a long sequence now correctly returns a
boolean result instead of raising an exception.

Patch by A Kaptur.

files:
  Lib/unittest/mock.py                   |  5 +++--
  Lib/unittest/test/testmock/testmock.py |  3 +++
  Misc/NEWS                              |  3 +++
  3 files changed, 9 insertions(+), 2 deletions(-)


diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py
--- a/Lib/unittest/mock.py
+++ b/Lib/unittest/mock.py
@@ -2005,8 +2005,7 @@
             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 @@
                     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
--- a/Lib/unittest/test/testmock/testmock.py
+++ b/Lib/unittest/test/testmock/testmock.py
@@ -300,6 +300,9 @@
         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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -14,6 +14,9 @@
 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.
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list