Issue #24857: Comparing call_args to a long sequence now correctly returns a

boolean result instead of raising an exception.

Patch by A Kaptur.
This commit is contained in:
Berker Peksag 2015-09-09 23:35:25 +03:00
parent d1a98587fe
commit 3fc536f1c9
3 changed files with 9 additions and 2 deletions

View File

@ -1986,8 +1986,7 @@ class _Call(tuple):
else: else:
other_args = () other_args = ()
other_kwargs = value other_kwargs = value
else: elif len_other == 2:
# len 2
# could be (name, args) or (name, kwargs) or (args, kwargs) # could be (name, args) or (name, kwargs) or (args, kwargs)
first, second = other first, second = other
if isinstance(first, str): if isinstance(first, str):
@ -1998,6 +1997,8 @@ class _Call(tuple):
other_args, other_kwargs = (), second other_args, other_kwargs = (), second
else: else:
other_args, other_kwargs = first, second other_args, other_kwargs = first, second
else:
return False
if self_name and other_name != self_name: if self_name and other_name != self_name:
return False return False

View File

@ -291,6 +291,9 @@ class MockTest(unittest.TestCase):
self.assertEqual(mock.call_args, self.assertEqual(mock.call_args,
((sentinel.Arg,), {"kw": sentinel.Kwarg})) ((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): def test_assert_called_with(self):
mock = Mock() mock = Mock()

View File

@ -84,6 +84,9 @@ Library
- Issue #24982: shutil.make_archive() with the "zip" format now adds entries - Issue #24982: shutil.make_archive() with the "zip" format now adds entries
for directories (including empty directories) in ZIP file. 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. - Issue #25019: Fixed a crash caused by setting non-string key of expat parser.
Based on patch by John Leitch. Based on patch by John Leitch.