Bug 1272315: mozunit: log error message with line number only if available; r?glandium
MozReview-Commit-ID: 7Ye9RrKw6cw
--- a/config/mozunit.py
+++ b/config/mozunit.py
@@ -68,24 +68,24 @@ class _MozTestResult(_TestResult):
def addFailure(self, test, err):
_TestResult.addFailure(self, test, err)
self.printFail(test,err)
self.stream.writeln("FAIL: {0}".format(self.getDescription(test)))
self.stream.writeln(self.failures[-1][1])
def printFail(self, test, err):
exctype, value, tb = err
+ message = value.message.split('\n')[0]
# Skip test runner traceback levels
while tb and self._is_relevant_tb_level(tb):
tb = tb.tb_next
- if not tb:
- self.stream.writeln("TEST-UNEXPECTED-FAIL | NO TRACEBACK |")
- _f, _ln, _t = inspect.getframeinfo(tb)[:3]
- self.printStatus('TEST-UNEXPECTED-FAIL', test,
- 'line {0}: {1}'.format(_ln, value.message))
+ if tb:
+ _, ln, _ = inspect.getframeinfo(tb)[:3]
+ message = 'line {0}: {1}'.format(ln, message)
+ self.printStatus("TEST-UNEXPECTED-FAIL", test, message)
class MozTestRunner(_TestRunner):
def _makeResult(self):
return _MozTestResult(self.stream, self.descriptions)
def run(self, test):
result = self._makeResult()
test(result)