def printErrors(self):
if self.dots:<EOL><INDENT>self.stream.writeln()<EOL><DEDENT>if not self.args.no_skip_report:<EOL><INDENT>for test, reason in self.skipped:<EOL><INDENT>self.stream.writeln("<STR_LIT>".format(<EOL>self.colors.blue('<STR_LIT>'),<EOL>self.colors.bold(test.dotted_name),<EOL>reason))<EOL><DEDENT><DEDENT>if not self.args.quiet_stdout:<EOL><INDENT>failing_tests = set([x[<NUM_LIT:0>] for x in self.all_errors])<EOL>for test in list(self.stdout_output):<EOL><INDENT>if test not in failing_tests:<EOL><INDENT>self.displayStdout(test)<EOL>self.displayStderr(test)<EOL><DEDENT><DEDENT><DEDENT>for (test, color_func, outcome, err) in self.all_errors:<EOL><INDENT>self.stream.writeln(<EOL>'<STR_LIT:\n>' + color_func(outcome) +<EOL>'<STR_LIT>' + self.colors.bold(test.dotted_name))<EOL>if not self.args.no_tracebacks:<EOL><INDENT>relevant_frames = []<EOL>for i, frame in enumerate(err.traceback_lines):<EOL><INDENT>if sys.version_info[<NUM_LIT:0>] == <NUM_LIT:2>: <EOL><INDENT>try:<EOL><INDENT>'<STR_LIT>'.join([frame]) <EOL><DEDENT>except UnicodeDecodeError:<EOL><INDENT>frame = frame.decode('<STR_LIT:utf-8>')<EOL><DEDENT><DEDENT>debug('<STR_LIT:\n>' + '<STR_LIT:*>' * <NUM_LIT:30> + "<STR_LIT>".format(i) + '<STR_LIT:*>' * <NUM_LIT:30><EOL>+ "<STR_LIT>".format(self.colors.yellow(frame)), level=<NUM_LIT:3>)<EOL>if self.verbose < <NUM_LIT:4>:<EOL><INDENT>if frame.strip() == "<STR_LIT>":<EOL><INDENT>continue<EOL><DEDENT><DEDENT>relevant_frames.append(frame)<EOL><DEDENT>self.stream.write('<STR_LIT>'.join(relevant_frames))<EOL><DEDENT>self.displayStdout(test)<EOL>self.displayStderr(test)<EOL><DEDENT>
Print a list of all tracebacks from errors and failures, as well as
captured stdout (even if the test passed, except with quiet_stdout
option).