From a349eea77b9aacfeda6a5db6008bee7e428054e2 Mon Sep 17 00:00:00 2001 From: Robert Collins Date: Fri, 6 Mar 2015 13:46:35 +1300 Subject: Issue #22936: Allow showing local variables in unittest errors. --- Lib/unittest/result.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'Lib/unittest/result.py') diff --git a/Lib/unittest/result.py b/Lib/unittest/result.py index 8e0a64322b..a18f11bf5d 100644 --- a/Lib/unittest/result.py +++ b/Lib/unittest/result.py @@ -45,6 +45,7 @@ class TestResult(object): self.unexpectedSuccesses = [] self.shouldStop = False self.buffer = False + self.tb_locals = False self._stdout_buffer = None self._stderr_buffer = None self._original_stdout = sys.stdout @@ -179,9 +180,11 @@ class TestResult(object): if exctype is test.failureException: # Skip assert*() traceback levels length = self._count_relevant_tb_levels(tb) - msgLines = traceback.format_exception(exctype, value, tb, length) else: - msgLines = traceback.format_exception(exctype, value, tb) + length = None + tb_e = traceback.TracebackException( + exctype, value, tb, limit=length, capture_locals=self.tb_locals) + msgLines = list(tb_e.format()) if self.buffer: output = sys.stdout.getvalue() -- cgit v1.2.1