Only enable pdb post-mortem when not purging temp for debug.

This commit is contained in:
mrg 2019-07-12 10:57:59 -07:00
parent c9c839ca46
commit 80145c0a92
1 changed files with 5 additions and 3 deletions

View File

@ -309,16 +309,18 @@ def header(filename, technology):
def debugTestRunner(post_mortem=None): def debugTestRunner(post_mortem=None):
"""unittest runner doing post mortem debugging on failing tests""" """unittest runner doing post mortem debugging on failing tests"""
if post_mortem is None: if post_mortem is None and not OPTS.purge_temp:
post_mortem = pdb.post_mortem post_mortem = pdb.post_mortem
class DebugTestResult(unittest.TextTestResult): class DebugTestResult(unittest.TextTestResult):
def addError(self, test, err): def addError(self, test, err):
# called before tearDown() # called before tearDown()
traceback.print_exception(*err) traceback.print_exception(*err)
post_mortem(err[2]) if post_mortem:
post_mortem(err[2])
super(DebugTestResult, self).addError(test, err) super(DebugTestResult, self).addError(test, err)
def addFailure(self, test, err): def addFailure(self, test, err):
traceback.print_exception(*err) traceback.print_exception(*err)
post_mortem(err[2]) if post_mortem:
post_mortem(err[2])
super(DebugTestResult, self).addFailure(test, err) super(DebugTestResult, self).addFailure(test, err)
return unittest.TextTestRunner(resultclass=DebugTestResult) return unittest.TextTestRunner(resultclass=DebugTestResult)