Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion Lib/test/test_timeit.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,12 @@ def assert_exc_string(self, exc_string, expected_exc_name):
exc_lines = exc_string.splitlines()
self.assertGreater(len(exc_lines), 2)
self.assertStartsWith(exc_lines[0], 'Traceback')
self.assertStartsWith(exc_lines[-1], expected_exc_name)
# Remove ANSI color codes from the last line before checking
import re
last_line = exc_lines[-1]
# Remove ANSI escape sequences
clean_last_line = re.sub(r'\x1b\[[0-9;]*m', '', last_line)
self.assertStartsWith(clean_last_line, expected_exc_name)

def test_print_exc(self):
s = io.StringIO()
Expand Down
5 changes: 3 additions & 2 deletions Lib/timeit.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,16 @@ def print_exc(self, file=None):
The optional file argument directs where the traceback is
sent; it defaults to sys.stderr.
"""
import linecache, traceback
import linecache, traceback, _colorize, sys
if self.src is not None:
linecache.cache[dummy_src_name] = (len(self.src),
None,
self.src.split("\n"),
dummy_src_name)
# else the source is already stored somewhere else

traceback.print_exc(file=file)
traceback.print_exception(sys.exception(), file=file,
colorize=_colorize.can_colorize(file=file))

def timeit(self, number=default_number):
"""Time 'number' executions of the main statement.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Make timeit error traceback can with corlor
Loading