def METHOD_NAME(self, test):
    # Show the test result line.
    test_name = test.getFullName()
    print('%s: %s (%d of %d)' % (test.result.code.name, test_name,
                                 self.completed, self.num_tests))
    # Show the test failure output, if requested.
    if (test.isFailure() and self.opts.showOutput) or \
       self.opts.showAllOutput:
        if test.isFailure():
            print("%s TEST '%s' FAILED %s" % ('*'*20, test.getFullName(),
                                              '*'*20))
        out = test.result.output
        # Encode/decode so that, when using Python 3.6.5 in Windows 10,
        # print(out) doesn't raise UnicodeEncodeError if out contains
        # special characters.  However, Python 2 might try to decode
        # as part of the encode call if out is already encoded, so skip
        # encoding if it raises UnicodeDecodeError.
        if sys.stdout.encoding:
            try:
                out = out.encode(encoding=sys.stdout.encoding,
                                 errors="replace")
            except UnicodeDecodeError:
                pass
            # Python 2 can raise UnicodeDecodeError here too in cases
            # where the stdout encoding is ASCII. Ignore decode errors
            # in this case.
            out = out.decode(encoding=sys.stdout.encoding, errors="ignore")
        print(out)
        print("*" * 20)
    # Report test metrics, if present.
    if test.result.metrics:
        print("%s TEST '%s' RESULTS %s" % ('*'*10, test.getFullName(),
                                           '*'*10))
        items = sorted(test.result.metrics.items())
        for metric_name, value in items:
            print('%s: %s ' % (metric_name, value.format()))
        print("*" * 10)
    # Report micro-tests, if present
    if test.result.microResults:
        items = sorted(test.result.microResults.items())
        for micro_test_name, micro_test in items:
            print("%s MICRO-TEST: %s" %
                     ('*'*3, micro_test_name))
            if micro_test.metrics:
                sorted_metrics = sorted(micro_test.metrics.items())
                for metric_name, value in sorted_metrics:
                    print('    %s:  %s ' % (metric_name, value.format()))
    # Ensure the output is flushed.
    sys.stdout.flush()