code: def test_set_executables(self):
      class MyCCompiler(CCompiler):
          executables = {
              "compiler": "",
              "compiler_cxx": "",
              "linker": "",
          }
  
      compiler = MyCCompiler()
  
      # set executable as list
      compiler.set_executables(
          compiler=["env", "OMPI_MPICC=clang", "mpicc"]
      )
      self.assertEqual(
          compiler.compiler, ["env", "OMPI_MPICC=clang", "mpicc"]
      )
  
      # set executable as string
      compiler.set_executables(
          compiler_cxx="env OMPI_MPICXX=clang++ mpicxx"
      )
      self.assertEqual(
          compiler.compiler_cxx,
          ["env", "OMPI_MPICXX=clang++", "mpicxx"],
      )
  
      # set executable as unicode string
      compiler.set_executables(linker="env OMPI_MPICXX=clang++ mpiCC")
      self.assertEqual(
          compiler.linker, ["env", "OMPI_MPICXX=clang++", "mpiCC"]
      )
  
imports: import os
  import unittest
  from test.test_support import captured_stdout
  from distutils.ccompiler import gen_lib_options, CCompiler, get_default_compiler
  from distutils.sysconfig import customize_compiler
  from distutils import debug
  from distutils.tests import support
label_desc: Use image node_id 1 for calling the CCompilerTestCase obj's underlying member method code with example usage: obj.test_set_executables() without return types