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)
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)
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 _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
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)
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 addCaptureToErr(self, ev, records): return '\n'.join([safe_str(ev), ln('>> begin captured logging <<')] + \ records + \ [ln('>> end captured logging <<')])
def formatLogRecords(self): format = self.handler.format return [safe_str(format(r)) for r in self.handler.buffer]
def addCaptureToErr(self, ev, records): return "\n".join( [safe_str(ev), ln(">> begin captured logging <<")] + records + [ln(">> end captured logging <<")] )