in teamcity/nose_report.py [0:0]
def report_fail(self, test, fail_type, err):
# workaround nose bug on python 3
if is_string(err[1]):
err = (err[0], Exception(err[1]), err[2])
test_id = self.get_test_id(test)
details = convert_error_to_string(err)
start_index = details.find(_captured_output_start_marker)
end_index = details.find(_captured_output_end_marker)
if 0 <= start_index < end_index:
# do not log test output twice, see report_finish for actual output handling
details = details[:start_index] + details[end_index + len(_captured_output_end_marker):]
try:
from .jb_local_exc_store import get_exception
error = get_exception()
if isinstance(err[1], AssertionError) and isinstance(error, EqualsAssertionError):
details = convert_error_to_string(err, 1)
self.messages.testFailed(test_id, message=error.msg, details=details, flowId=test_id, comparison_failure=error)
return
except Exception:
pass
self.messages.testFailed(test_id, message=fail_type, details=details, flowId=test_id)