Beispiel #1
0
    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)
Beispiel #2
0
 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, "*"))
Beispiel #3
0
 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)
Beispiel #9
0
 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')
Beispiel #10
0
 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))))
Beispiel #14
0
 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/>")}\
         )
Beispiel #15
0
 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))
Beispiel #18
0
 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')
Beispiel #19
0
 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(),
     })
Beispiel #20
0
 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)
Beispiel #22
0
    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)
Beispiel #23
0
    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
Beispiel #24
0
    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
Beispiel #25
0
    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)
Beispiel #27
0
 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])
Beispiel #28
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     for listener in self.listeners:
         listener.addFailure(test, err)
Beispiel #29
0
 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])
Beispiel #30
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     if not self.iterations:
         self.stream.write("FAIL\n")
Beispiel #31
0
 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)
Beispiel #33
0
 def addFailure(self, test, err):
     UnitTestResult.addFailure(self, test, err)
     if self.showAll:
         self._errWrite('FAIL\n')
     elif self.dots:
         self._errWrite('F')
Beispiel #34
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     self.issue(test, err)
Beispiel #35
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     self._color_print("FAIL", RED)
Beispiel #36
0
 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')
Beispiel #38
0
 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)
Beispiel #40
0
 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)
Beispiel #41
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     for listener in self.listeners:
         listener.addFailure(test, err)
Beispiel #42
0
 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')
Beispiel #43
0
 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)
Beispiel #46
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     self._color_print("FAIL", RED)
Beispiel #47
0
 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())
Beispiel #48
0
 def addFailure(self, test, err):
     _TestResult.addFailure(self, test, err)
     self.printFail(test, err)
Beispiel #49
0
 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'))
Beispiel #50
0
 def addFailure(self, test, err):
     UnitTestResult.addFailure(self, test, err)
     if self.showAll:
         self._errWrite('FAIL\n')
     elif self.dots:
         self._errWrite('F')
Beispiel #51
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
Beispiel #52
0
 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()
Beispiel #53
0
 def addFailure(self,test,err):
     TestResult.addFailure(self, test, err)
     self.logger.debug("FAIL") 
Beispiel #54
0
 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()
Beispiel #55
0
 def addFailure(self, test, err):
     TestResult.addFailure(self, test, err)
     self.stream.writeln("{FAIL}")