Issue #24857: Comparing call_args to a long sequence now correctly returns a
boolean result instead of raising an exception.

Patch by A Kaptur.
diff --git a/NEWS b/NEWS
index 9c0ff3c..5e91ac8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,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 #23004: mock_open() now reads binary data correctly when the type of
   read_data is bytes.  Initial patch by Aaron Hill.
 
diff --git a/mock/mock.py b/mock/mock.py
index 358537d..4846a46 100644
--- a/mock/mock.py
+++ b/mock/mock.py
@@ -2169,8 +2169,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, basestring):
@@ -2181,6 +2180,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/mock/tests/testmock.py b/mock/tests/testmock.py
index d60f579..8ec9a60 100644
--- a/mock/tests/testmock.py
+++ b/mock/tests/testmock.py
@@ -326,6 +326,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()