def addFailure(self, test, err): self.init_suite(test) self.current_failed = True TestResult.addFailure(self, test, err) error_value = smart_str(err[1]) if not len(error_value): # means it's test function and we have to extract value from traceback error_value = self.find_error_value(err[2]) self_find_first = self.find_first(error_value) self_find_second = self.find_second(error_value) quotes = ["'", '"'] if (self_find_first[0] == self_find_first[-1] and self_find_first[0] in quotes and self_find_second[0] == self_find_second[-1] and self_find_second[0] in quotes): # let's unescape strings to show sexy multiline diff in PyCharm. # By default all caret return chars are escaped by testing framework first = self._unescape(self_find_first) second = self._unescape(self_find_second) else: first = second = "" err = self._exc_info_to_string(err, test) self.messages.testStarted(self.getTestName(test)) self.messages.testFailed(self.getTestName(test), message='Failure', details=err, expected=first, actual=second)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) logger.setLogOff() logger.error("FAIL".center(20, "*")) logger.error("error: %s\ncause: %s" % (err[0].__name__, err[1].message)) logger.error("FAIL".center(20, "*"))
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.showAll: self.stream.writeln("FAIL") elif self.dots: self.printError('FAIL', err, test) self.stream.flush()
def addFailure(self, test, err): location = self.init_suite(test) self.current_failed = True TestResult.addFailure(self, test, err) error_value = smart_str(err[1]) if not len(error_value): # means it's test function and we have to extract value from traceback error_value = self.find_error_value(err[2]) self_find_first = self.find_first(error_value) self_find_second = self.find_second(error_value) quotes = ["'", '"'] if ( self_find_first[0] == self_find_first[-1] and self_find_first[0] in quotes and self_find_second[0] == self_find_second[-1] and self_find_second[0] in quotes ): # let's unescape strings to show sexy multiline diff in PyCharm. # By default all caret return chars are escaped by testing framework first = self._unescape(self_find_first) second = self._unescape(self_find_second) else: first = second = "" err = self._exc_info_to_string(err, test) self.messages.testStarted(self.getTestName(test), location=location) duration = self.__getDuration(test) self.messages.testFailed( self.getTestName(test), message="Failure", details=err, expected=first, actual=second, duration=duration )
def addFailure(self, test, err, *k): TestResult.addFailure(self, test, err) err = self.formatErr(err) self.messages.testFailed(self.getTestName(test), message='Failure', details=err)
def addFailure(self, test, err, *k): TestResult.addFailure(self, test, err) err = self.formatErr(err) self.messages.testFailed(self.getTestName(test), message='Failure', details=err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) exctype, value, dummy_tb = err error_xml = self.xml.createElement('failure') error_xml.setAttribute('type', '%s' % exctype) message_xml = self.xml.createTextNode('%s' % value) error_xml.appendChild(message_xml) self._testcase_xml.appendChild(error_xml)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) exctype, value, dummy_tb = err error_xml = self.xml.createElement('failure') error_xml.setAttribute('type', '%s' % exctype) message_xml = self.xml.createTextNode('%s' % value) error_xml.appendChild(message_xml) self._testcase_xml.appendChild(error_xml)
def addFailure(self, test, err): self.failure_count += 1 TestResult.addFailure(self, test, err) _, _exc_str = self.failures[-1] output = self.complete_output() self.result.append((1, test, output, _exc_str)) sys.stderr.write('Failure ') sys.stderr.write(str(test)) sys.stderr.write('\n')
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if err[0] is KeyboardInterrupt: self.shouldStop = 1 self._lastWas = 'failure' self._errorsAndFailures += '<failure type="%s">' % err[0].__name__ for line in apply(traceback.format_exception, err): for l in string.split(line,"\n")[:-1]: self._errorsAndFailures += "%s" % l self._errorsAndFailures += "</failure>"
def addFailure(self, test, err): """ Public method called if a test failed. @param test Reference to the test object @param err The error traceback """ TestResult.addFailure(self, test, err) tracebackLines = self._exc_info_to_string(err, test) self.parent.write('{0}{1}\n'.format( ResponseUTTestFailed, str((str(test), tracebackLines, test.id()))))
def addFailure(self, test, err): """ Method called if a test failed. @param test Reference to the test object @param err The error traceback """ TestResult.addFailure(self, test, err) tracebackLines = traceback.format_exception(*(err + (10,))) self.parent.write('%s%s\n' % (ResponseUTTestFailed, unicode((unicode(test), tracebackLines))))
def addFailure(self, test, err): """ Method called if a test failed. @param test Reference to the test object @param err The error traceback """ TestResult.addFailure(self, test, err) tracebackLines = traceback.format_exception(*(err + (10,))) self.parent.write('{0}{1}\n'.format(ResponseUTTestFailed, str((str(test), tracebackLines))))
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self.failure_count += 1 self.details.append({"className": '.'.join(test.id().split('.')[:-1]), \ "methodName": test._testMethodName, \ "description": test._testMethodDoc, \ "spendTime": 0, \ "status": self.status[self.lan]["Failure"], \ "log": self._exc_info_to_string(err, test) \ .replace("\n", "<br/>")}\ )
def addFailure(self, test, err): """ Public method called if a test failed. @param test Reference to the test object @param err The error traceback """ TestResult.addFailure(self, test, err) tracebackLines = self._exc_info_to_string(err, test) self.parent.write('{0}{1}\n'.format( ResponseUTTestFailed, str((str(test), tracebackLines, test.id()))))
def addFailure(self, test, err): self.failure_count += 1 TestResult.addFailure(self, test, err) _exc_str = self.failures[-1][1] output = self.complete_output() self.result.append((1, test, output, _exc_str)) if self.verbosity > 1: sys.stderr.write("F ") sys.stderr.write(str(test)) sys.stderr.write("\n") else: sys.stderr.write("F")
def addFailure(self, test, err): time_taken = time.time() - self._start_time TestResult.addFailure(self, test, err) (error, message, tb) = err stackstr = self._generate_stack(tb) message_str = str(message) if message_str.startswith("Failed doctest test for "): self._handle_doctest(time_taken, message_str, stackstr) return self.stream.writeln("%%TEST_FAILED%% time=%.6f testname=%s message=%s location=%s" % (time_taken, self.getDescription(test), message_str.replace('\n', '%BR%'), stackstr))
def addFailure(self, test, err): self.failure_count += 1 TestResult.addFailure(self, test, err) _, _exc_str = self.failures[-1] self.resultSignal.emit((1, str(test))) print("\n<FAILED> {}, reason {}\n".format(test, _exc_str)) self.clearWarnings(test) if self.verbosity > 1: sys.stderr.write('F ') sys.stderr.write(str(test)) sys.stderr.write('\n') else: sys.stderr.write('F')
def addFailure(self, test, err): """ Public method called if a test failed. @param test Reference to the test object @param err The error traceback """ TestResult.addFailure(self, test, err) tracebackLines = self._exc_info_to_string(err, test) self.__dbgClient.sendJsonCommand("ResponseUTTestFailed", { "testname": str(test), "traceback": tracebackLines, "id": test.id(), })
def addFailure(self, test, err): TestResult.addFailure(self,test, err) file_name = getattr(self.stream,"name") if self.showAll: self.stream.writeln("FAIL") elif self.dots: self.stream.write('F') failure = TestResult._exc_info_to_string(self,err,test) log.result("#" * 50) log.result("%s: FAIL" % test._testMethodName) print "%s: FAIL" % test._testMethodName log.result("#" * 50) if "stdout" not in file_name: log.result("\n\n%s"%failure)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) _, _exc_str = self.failures[-1] self._steams_write_doc("Fail", test) logging.warning((self.LANG == "cn" and "测试未通过: {}\n{}" or "Failure: {}\n{}").format(test, _exc_str)) current_id = str(threading.current_thread().ident) self.result_tmp[current_id]["result_code"] = 1 self.result_tmp[current_id]["style"][self.result_tmp[current_id]['tries']] = 1 if current_id not in self.failure_set: self.failure_count += 1 self.failure_set.add(current_id)
def addFailure(self, test, err, *k): # workaround nose bug on python 3 if _is_string(err[1]): err = (err[0], Exception(err[1]), err[2]) TestResult.addFailure(self, test, err) err = self.formatErr(err) if self.getTestName(test) != self.test_name: sys.stderr.write("INTERNAL ERROR: addFailure(%s) outside of test\n" % self.getTestName(test)) sys.stderr.write("Error: %s\n" % err) return self.messages.testFailed(self.getTestName(test), message='Failure', details=err)
def _testrun(self): """ Start a Testrun and populate the Publishers @rtype: C{unittest.TestResult} @return: A TestResult """ testrun_result = TestResult() try: publishers = self._publishers testrun = Testrun(self.is_hw_enabled, self.is_host_enabled, self.is_chroot_enabled) taskrunner = self.taskrunner #FIXME: Cheap hack to make testable testrun.run_test = taskrunner.run testrun_result.addSuccess(TestCase)if testrun.run() else \ testrun_result.addFailure(TestCase, (None, None, None)) except Exception, err: er_type, value, traceback = sys.exc_info() LOG.error(str(value) or "Testrun Error", exc_info=err) publishers.set_exception(value) testrun_result.addError(TestCase, (er_type, value, traceback)) if DEBUG: raise
def _testrun(self): """ Start a Testrun and populate the Publishers @rtype: C{unittest.TestResult} @return: A TestResult """ testrun_result = TestResult() try: publishers = self._publishers testrun = Testrun(self.is_hw_enabled, self.is_host_enabled, self.is_chroot_enabled) taskrunner = self.taskrunner #FIXME: Cheap hack to make testable testrun.run_test = taskrunner.run testrun_result.addSuccess(TestCase)if testrun.run() else \ testrun_result.addFailure(TestCase, (None, None, None)) except Exception, err: er_type, value, traceback = sys.exc_info() LOG.error(str(value) or "Testrun Error", exc_info=err) publishers.set_exception(value) testrun_result.addError(TestCase, (er_type, value, traceback)) if DEBUG: raise
def addFailure(self, test, err, *k): # workaround nose bug on python 3 if _is_string(err[1]): err = (err[0], Exception(err[1]), err[2]) TestResult.addFailure(self, test, err) err = self.formatErr(err) if self.getTestName(test) != self.test_name: sys.stderr.write( "INTERNAL ERROR: addFailure(%s) outside of test\n" % self.getTestName(test)) sys.stderr.write("Error: %s\n" % err) return self.messages.testFailed(self.getTestName(test), message='Failure', details=err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) _, _exc_str = self.failures[-1] self.stderr_steams.write('Fail\t') self.stderr_steams.write(str(test)) doc = test._testMethodDoc if doc: self.stderr_steams.write("\t") self.stderr_steams.write(doc) self.stderr_steams.write('\n') GeneralLogger().get_logger().warning( (self.LANG == "cn" and "测试未通过: {}\n{}" or "Failure: {}\n{}").format(test, _exc_str)) current_id = str(threading.current_thread().ident) self.result_tmp[current_id]["result_code"] = 1 if current_id not in self.failure_set: self.failure_count += 1 self.failure_set.add(current_id)
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 addFailure(self, test, err): TestResult.addFailure(self, test, err) for listener in self.listeners: listener.addFailure(test, err)
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 addFailure(self, test, err): TestResult.addFailure(self, test, err) if not self.iterations: self.stream.write("FAIL\n")
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self._print_color("FAIL", "red")
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self.issue(test, err)
def addFailure(self, test, err): UnitTestResult.addFailure(self, test, err) if self.showAll: self._errWrite('FAIL\n') elif self.dots: self._errWrite('F')
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self.issue(test, err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self._color_print("FAIL", RED)
def addFailure(self, test, err): _TestResult.addFailure(self, test, err) self.printFail(test,err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.showAll: self.stream.writeln(self.fail_string) elif self.dots: self.stream.write('F')
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self.logger.debug("FAIL")
def addFailure(self, test, err): if self._logging: self._writeToStream("\tResult: ") TestResult.addFailure(self, test, err) self._writeToStream("FAIL", eColors.Red)
def addFailure(self, test, err): self.results_log[test.id()][1] = format_exc() self.update_logs(test.id(), self.failed, test.note_log, err) return TestResult.addFailure(self, test, err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) for listener in self.listeners: listener.addFailure(test, err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.showAll: self.stream.write_message("FAIL") elif self.dots: self.stream.write_message('F')
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self.stream.writeln(hilite("FAIL", RED))
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.showAll: self.stream.writeln(self.fail_string) elif self.dots: self.stream.write('F')
def addFailure(self, test, err): if self._logging: self._writeToStream("\tResult: ") TestResult.addFailure(self, test, err) self._writeToStream("FAIL", eColors.Red)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self._color_print("FAIL", RED)
def _fail_into_result(self, result: unittest.TestResult, msg): """Include error with the traceback into `TestResult`""" try: raise RuntimeError(msg) except RuntimeError: result.addFailure(self, sys.exc_info())
def addFailure(self, test, err): _TestResult.addFailure(self, test, err) self.printFail(test, err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.showAll: self.stream.writeln(red_str("FAIL\t")) elif self.dots: self.stream.write(red_str('F'))
def addFailure(self, test, err): UnitTestResult.addFailure(self, test, err) if self.showAll: self._errWrite('FAIL\n') elif self.dots: self._errWrite('F')
def addFailure(self, test, err): TestResult.addFailure(self, test, err)
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.verbose: self.stream.write("FAILED: %s%s" % (test, os.linesep)) self.stream.flush() self.countcall()
def addFailure(self,test,err): TestResult.addFailure(self, test, err) self.logger.debug("FAIL")
def addFailure(self, test, err): TestResult.addFailure(self, test, err) if self.verbose: self.stream.write("FAILED: %s%s" % (test, os.linesep)) self.stream.flush() self.countcall()
def addFailure(self, test, err): TestResult.addFailure(self, test, err) self.stream.writeln("{FAIL}")