summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/case.py
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2011-04-27 07:20:38 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2011-04-27 07:20:38 (GMT)
commitedd117fd279a8c7339ec2d6d88633218ef9d891e (patch)
tree1f512ccc12aba628fbc5115cc394aabbfc6d6831 /Lib/unittest/case.py
parent40fc59d98b70902f140aaf3c3e4c2b0739a9f1bc (diff)
parent935a5888255b60b77547e7bdf32e03fbe963ef52 (diff)
downloadcpython-edd117fd279a8c7339ec2d6d88633218ef9d891e.zip
cpython-edd117fd279a8c7339ec2d6d88633218ef9d891e.tar.gz
cpython-edd117fd279a8c7339ec2d6d88633218ef9d891e.tar.bz2
#11763: merge with 3.1.
Diffstat (limited to 'Lib/unittest/case.py')
-rw-r--r--Lib/unittest/case.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 01c5a7b..3f2f37d 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -263,6 +263,10 @@ class TestCase(object):
maxDiff = 80*8
+ # If a string is longer than _diffThreshold, use normal comparison instead
+ # of difflib. See #11763.
+ _diffThreshold = 2**16
+
# Attribute used by TestSuite for classSetUp
_classSetupFailed = False
@@ -1048,6 +1052,10 @@ class TestCase(object):
self.assertIsInstance(second, str, 'Second argument is not a string')
if first != second:
+ # don't use difflib if the strings are too long
+ if (len(first) > self._diffThreshold or
+ len(second) > self._diffThreshold):
+ self._baseAssertEqual(first, second, msg)
firstlines = first.splitlines(True)
secondlines = second.splitlines(True)
if len(firstlines) == 1 and first.strip('\r\n') == first: