示例#1
0
 def addCaptureToErr(self, ev):
     lines = []
     for (filename, description) in self._filenames_to_description.iteritems():
         lines.append(ln('>> begin ''{0}'' <<'.format(description)))
         with open(filename, 'r') as fp:
             lines += [safe_str(fp.read())]
         lines.append(ln('>> end ''{0}'' <<'.format(description)))
     lines.append(safe_str(ev))
     return '\n'.join(lines)
示例#2
0
def addCaptureToErr(self, ev, records):
    result = patcher.original(self).addCaptureToErr(ev, records)
    ev = safe_str(ev)
    added_lines = result[len(ev):].split('\n')
    added_lines[1] = color.green(added_lines[1], bold=True)
    added_lines[-1] = color.green(added_lines[-1], bold=True)
    return ev + '\n'.join(added_lines)
示例#3
0
    def formatFailure(self, test, err):
        # Show output
        ec, ev, tb = err
        captured = self.stream_capturer.get_buffer().decode("utf-8", "replace")
        if captured.strip():
            ev = safe_str(ev)
            out = [ev, ">> begin captured subprocess output <<", captured, ">> end captured subprocess output <<"]
            return ec, "\n".join(out), tb

        return err
示例#4
0
 def _dump_logs(self, ev, test):
     ret = ev
     if isinstance(test.test, functional.FunctionalTest):
         dump = test.test.dump_logs()
         if dump:
             ret = '\n'.join([safe_str(ev),
                             ln('>> begin captured glance logging <<')] +
                             [dump] +
                             [ln('>> end captured glance logging <<')])
     return ret
示例#5
0
    def formatFailure(self, test, err):
        # Show output
        ec, ev, tb = err
        captured = self.stream_capturer.get_buffer().decode('utf-8', 'replace')
        if captured.strip():
            ev = safe_str(ev)
            out = [ev, '>> begin captured subprocess output <<',
                    captured,
                    '>> end captured subprocess output <<']
            return ec, '\n'.join(out), tb

        return err
示例#6
0
文件: iptest.py 项目: Cadair/ipython
    def formatFailure(self, test, err):
        # Show output
        ec, ev, tb = err
        captured = self.stream_capturer.get_buffer().decode('utf-8', 'replace')
        if captured.strip():
            ev = safe_str(ev)
            out = [ev, '>> begin captured subprocess output <<',
                    captured,
                    '>> end captured subprocess output <<']
            return ec, '\n'.join(out), tb

        return err
    def stopTest(self, test):
        """Called after each test is run. DO NOT return a value unless
        you want to stop other plugins from seeing that the test has stopped.

        :param test: the test case
        :type test: :class:`nose.case.Test`
        """
        test.capturedOutput = self.buffer
        test.capturedLogging = self.formatLogRecords()

        if test.capturedOutput:
            try:
                self.service.post_log(safe_str(test.capturedOutput))
            except Exception:
                log.exception(
                    "Unexpected error during sending capturedOutput.")

        if test.capturedLogging:
            for x in test.capturedLogging:
                try:
                    self.service.post_log(safe_str(x))
                except Exception:
                    log.exception(
                        "Unexpected error during sending capturedLogging.")

        if test.errors:
            try:
                self.service.post_log(safe_str(test.errors[0]))
                self.service.post_log(safe_str(test.errors[1]),
                                      loglevel="ERROR")
            except Exception:
                log.exception("Unexpected error during sending errors.")

        if sys.version_info.major == 2:
            self._stop_test_2(test)
        elif sys.version_info.major == 3:
            self._stop_test_3(test)
示例#8
0
    def formatFailure(self, test, err):
        # Show output
        ec, ev, tb = err
        captured = self.stream_capturer.get_buffer().decode("utf-8", "replace")
        if captured.strip():
            ev = safe_str(ev)
            out = [
                ev,
                ">> begin captured subprocess output <<",
                captured,
                ">> end captured subprocess output <<",
            ]
            return ec, "\n".join(out), tb

        return err
示例#9
0
 def addCaptureToErr(self, ev, records):
     return '\n'.join([safe_str(ev), ln('>> begin captured logging <<')] + \
                       records + \
                       [ln('>> end captured logging <<')])
示例#10
0
 def formatLogRecords(self):
     format = self.handler.format
     return [safe_str(format(r)) for r in self.handler.buffer]
示例#11
0
 def addCaptureToErr(self, ev, records):
     return '\n'.join([safe_str(ev), ln('>> begin captured logging <<')] + \
                       records + \
                       [ln('>> end captured logging <<')])
示例#12
0
 def formatLogRecords(self):
     format = self.handler.format
     return [safe_str(format(r)) for r in self.handler.buffer]
示例#13
0
 def addCaptureToErr(self, ev, records):
     return "\n".join(
         [safe_str(ev), ln(">> begin captured logging <<")] + records + [ln(">> end captured logging <<")]
     )