From 53386d8f206453317110cb0f80d2147eab34c916 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 1 Aug 2012 19:45:34 +0200 Subject: [PATCH] Issue #15463: Write a test for faulthandler truncating the name of functions to 500 characters. --- Lib/test/test_faulthandler.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Lib/test/test_faulthandler.py b/Lib/test/test_faulthandler.py index 8c12b213d0..c186b3472a 100644 --- a/Lib/test/test_faulthandler.py +++ b/Lib/test/test_faulthandler.py @@ -316,6 +316,30 @@ funcA() with temporary_filename() as filename: self.check_dump_traceback(filename) + def test_truncate(self): + maxlen = 500 + func_name = 'x' * (maxlen + 50) + truncated = 'x' * maxlen + '...' + code = """ +import faulthandler + +def {func_name}(): + faulthandler.dump_traceback(all_threads=False) + +{func_name}() +""".strip() + code = code.format( + func_name=func_name, + ) + expected = [ + 'Traceback (most recent call first):', + ' File "", line 4 in %s' % truncated, + ' File "", line 6 in ' + ] + trace, exitcode = self.get_output(code) + self.assertEqual(trace, expected) + self.assertEqual(exitcode, 0) + @unittest.skipIf(not HAVE_THREADS, 'need threads') def check_dump_traceback_threads(self, filename): """ -- 2.40.0