New submission from Michael Foord <mich...@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 <rep...@bugs.python.org> <http://bugs.python.org/issue11763> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com