code: def __rerun(self, output):
      failures = Runner.__get_failures(output)
      if len(failures) == 0:
          return EExitCode.failure_tests_not_found, None
  
      logging.info("Rerun failed tests: '%s'" % failures)
  
      argument = "--gtest_filter="
      for fail in failures:
          argument += ":" + fail
  
      result = subprocess.run(
          [self.__executable, argument],
          stdout=subprocess.PIPE,
          stderr=subprocess.STDOUT,
      )
      output = result.stdout.decode("utf-8")
      print(output)
  
      return result.returncode, output
  
file_path: pyclustering/ccore/tst/ut-runner.py
imports: import argparse
  import enum
  import logging
  import os.path
  import re
  import signal
  import subprocess
label_desc: Use image node_id 3 for calling the Runner obj's underlying member method code with example usage: obj.__rerun(output) and returns: result,  output, EExitCode,  None