docs: def print_summary(self, result, time_taken):
          """
          Prints the test summary, how many tests failed, how long it took, etc
  
          :param result: result class to use to print summary
          :param time_taken: the time all tests took to run
          """
          if hasattr(result, "separator2"):
              self.stream.writeln(result.separator2)
  
          self.stream.writeln("Ran {number_of_tests} test{s} in {time:.3f}s\n".format(
              number_of_tests=result.testsRun, s="s" if result.testsRun != 1 else "", time=time_taken
          ))
  
          info = []
          if not result.wasSuccessful():
              self.stream.write("FAILED")
  
              if result.failures:
                  info.append("failures={}".format(len(result.failures)))
              if result.errors:
                  info.append("errors={}".format(len(result.errors)))
          else:
              self.stream.write("OK")
  
          if result.skipped:
              info.append("skipped={}".format(len(result.skipped)))
          if result.expectedFailures:
              info.append("expected failures={}".format(len(result.expectedFailures)))
          if result.unexpectedSuccesses:
              info.append("unexpected successes={}".format(len(result.unexpectedSuccesses)))
  
          if info:
              self.stream.writeln(" ({})".format(", ".join(info)))
          else:
              self.stream.write("\n")