| Viewing file:  __init__.py (1.45 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
"""Test suite for distutils.
 
 Tests for the command classes in the distutils.command package are
 included in distutils.tests as well, instead of using a separate
 distutils.command.tests package, since command identification is done
 by import rather than matching pre-defined names.
 """
 
 import shutil
 from collections.abc import Sequence
 
 
 def missing_compiler_executable(cmd_names: Sequence[str] = []):  # pragma: no cover
 """Check if the compiler components used to build the interpreter exist.
 
 Check for the existence of the compiler executables whose names are listed
 in 'cmd_names' or all the compiler executables when 'cmd_names' is empty
 and return the first missing executable or None when none is found
 missing.
 
 """
 from distutils import ccompiler, errors, sysconfig
 
 compiler = ccompiler.new_compiler()
 sysconfig.customize_compiler(compiler)
 if compiler.compiler_type == "msvc":
 # MSVC has no executables, so check whether initialization succeeds
 try:
 compiler.initialize()
 except errors.DistutilsPlatformError:
 return "msvc"
 for name in compiler.executables:
 if cmd_names and name not in cmd_names:
 continue
 cmd = getattr(compiler, name)
 if cmd_names:
 assert cmd is not None, f"the '{name}' executable is not configured"
 elif not cmd:
 continue
 if shutil.which(cmd[0]) is None:
 return cmd[0]
 
 |