class_docstr: A test runner class that displays results in textual form.
  
  It prints out the names of tests as they are run, errors as they
  occur, and a summary of the results at the end of the test run.
docstr: Run the given test case or test suite.
docstr_tok: ["Run","the","given","test","case","or","test","suite","."]
code: def run(self, test):
      "Run the given test case or test suite."
      result = self._makeResult()
      startTime = time.time()
      test(result)
      stopTime = time.time()
      timeTaken = stopTime - startTime
      result.printErrors()
      self.stream.writeln(result.separator2)
      run = result.testsRun
      self.stream.writeln(
          "Ran %d test%s in %.3fs"
          % (run, run != 1 and "s" or "", timeTaken)
      )
      self.stream.writeln()
      if not result.wasSuccessful():
          self.stream.write("FAILED (")
          failed, errored = map(len, (result.failures, result.errors))
          if failed:
              self.stream.write("failures=%d" % failed)
          if errored:
              if failed:
                  self.stream.write(", ")
              self.stream.write("errors=%d" % errored)
          self.stream.writeln(")")
      else:
          self.stream.writeln("OK")
      return result
  
imports: import unittest
  import doctest
  import sys
  import time
  import timeside.core
label_desc: Use image node_id 3 for calling the TestRunner obj's underlying member method code with example usage: obj.run(test) and returns: result