diff options
author | Robert Collins <rbtcollins@hp.com> | 2015-03-06 13:46:35 +1300 |
---|---|---|
committer | Robert Collins <rbtcollins@hp.com> | 2015-03-06 13:46:35 +1300 |
commit | a349eea77b9aacfeda6a5db6008bee7e428054e2 (patch) | |
tree | 7b326d11ce40828920d72a7970ed63f463c9f36a /Lib/unittest/result.py | |
parent | fec8aca3947cf3f9d78244fca1965178e8c5e964 (diff) | |
download | cpython-a349eea77b9aacfeda6a5db6008bee7e428054e2.tar.gz |
Issue #22936: Allow showing local variables in unittest errors.
Diffstat (limited to 'Lib/unittest/result.py')
-rw-r--r-- | Lib/unittest/result.py | 7 |
1 files changed, 5 insertions, 2 deletions
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() |