code: def run():
      result = None
      return_code = exit_code.success
  
      warnings.filterwarnings(
          "ignore",
          "Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.",
      )
  
      if len(sys.argv) == 1:
          result = pyclustering_tests().run()
  
      elif len(sys.argv) == 2:
          if sys.argv[1] == "--integration":
              result = pyclustering_integration_tests().run()
  
          elif sys.argv[1] == "--unit":
              result = pyclustering_unit_tests().run()
  
          elif sys.argv[1] == "test":
              result = pyclustering_tests().run()
  
          else:
              print(
                  "Unknown type of test is specified '"
                  + str(sys.argv[1])
                  + "'."
              )
              return_code = exit_code.error_unknown_type_test
  
      else:
          print(
              "Too many arguments '" + str(len(sys.argv)) + "' is used."
          )
          return_code = exit_code.error_too_many_arguments
  
      # Get execution result
      if result is not None:
          if result.wasSuccessful() is False:
              return_code = exit_code.error_failure
  
      exit(return_code)
  
imports: import enum
  import sys
  import unittest
  import warnings
  import matplotlib
  from pyclustering.tests.suite_holder import suite_holder
  from pyclustering import __PYCLUSTERING_ROOT_DIRECTORY__
label_desc: Use image node_id 1 for calling the tests_runner obj's underlying member method code with example usage: obj.run() without return types