code: def test_run(self):
      pkg_dir, dist = self.create_dist()
      cmd = build_clib(dist)
  
      foo_c = os.path.join(pkg_dir, "foo.c")
      self.write_file(foo_c, "int main(void) { return 1;}\n")
      cmd.libraries = [("foo", {"sources": [foo_c]})]
  
      build_temp = os.path.join(pkg_dir, "build")
      os.mkdir(build_temp)
      cmd.build_temp = build_temp
      cmd.build_clib = build_temp
  
      # before we run the command, we want to make sure
      # all commands are present on the system
      # by creating a compiler and checking its executables
      from distutils.ccompiler import new_compiler
      from distutils.sysconfig import customize_compiler
  
      compiler = new_compiler()
      customize_compiler(compiler)
      for ccmd in compiler.executables.values():
          if ccmd is None:
              continue
          if find_executable(ccmd[0]) is None:
              self.skipTest("The %r command is not found" % ccmd[0])
  
      # this should work
      cmd.run()
  
      # let's check the result
      self.assertIn("libfoo.a", os.listdir(build_temp))
  
file_path: catboost/contrib/tools/python/src/Lib/distutils/tests/test_build_clib.py
imports: import unittest
  import os
  import sys
  from test.test_support import run_unittest
  from distutils.command.build_clib import build_clib
  from distutils.errors import DistutilsSetupError
  from distutils.tests import support
  from distutils.spawn import find_executable
label_desc: Use image node_id 5 for calling the BuildCLibTestCase obj's underlying member method code with example usage: obj.test_run() without return types