Issue 8351. Suppress large diffs in unittest.TestCase.assertSequenceEqual.
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 5c434d9..7608e30 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -13,7 +13,7 @@
 )
 
 __unittest = True
-
+TRUNCATED_DIFF = '\n[diff truncated...]'
 
 class SkipTest(Exception):
     """
@@ -589,7 +589,8 @@
     failUnlessRaises = _deprecate(assertRaises)
     failIf = _deprecate(assertFalse)
 
-    def assertSequenceEqual(self, seq1, seq2, msg=None, seq_type=None):
+    def assertSequenceEqual(self, seq1, seq2, msg=None, seq_type=None,
+                            max_diff=80*8):
         """An equality assertion for ordered sequences (like lists and tuples).
 
         For the purposes of this function, a valid ordered sequence type is one
@@ -602,6 +603,7 @@
                     datatype should be enforced.
             msg: Optional message to use on failure instead of a list of
                     differences.
+            max_diff: Maximum size off the diff, larger diffs are not shown
         """
         if seq_type is not None:
             seq_type_name = seq_type.__name__
@@ -684,9 +686,14 @@
                 except (TypeError, IndexError, NotImplementedError):
                     differing += ('Unable to index element %d '
                                   'of second %s\n' % (len1, seq_type_name))
-        standardMsg = differing + '\n' + '\n'.join(
+        standardMsg = differing
+        diffMsg = '\n' + '\n'.join(
             difflib.ndiff(pprint.pformat(seq1).splitlines(),
                           pprint.pformat(seq2).splitlines()))
+        if max_diff is None or len(diffMsg) <= max_diff:
+            standardMsg += diffMsg
+        else:
+            standardMsg += diffMsg[:max_diff] + TRUNCATED_DIFF
         msg = self._formatMessage(msg, standardMsg)
         self.fail(msg)