[New-bugs-announce] [issue11763] assertEqual memory issues with large text inputs

Michael Foord report at bugs.python.org
Mon Apr 4 22:16:04 CEST 2011


New submission from Michael Foord <michael at voidspace.org.uk>:

>>> s = "x" * (2**29)
>>> case.assertEqual(s + "a", s + "b")
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "/home/antoine/cpython/default/Lib/unittest/case.py", line 643,
in assertEqual assertion_func(first, second, msg=msg)
 File "/home/antoine/cpython/default/Lib/unittest/case.py", line 984,
in assertMultiLineEqual secondlines = [second + '\n']
MemoryError

assertEqual delegates to assertMultilineEqual for comparing text which uses difflib for comparisons. This has performance issues (as well as memory issues) for very large inputs, so should fallback to a simple comparison (or simpler diff generation technique) for very large inputs.

----------
assignee: michael.foord
messages: 132965
nosy: ezio.melotti, michael.foord, pitrou
priority: normal
severity: normal
status: open
title: assertEqual memory issues with large text inputs
versions: Python 2.7, Python 3.2, Python 3.3

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue11763>
_______________________________________


More information about the New-bugs-announce mailing list