code: def test_srcdir(self):
      # See Issues #15322, #15364.
      srcdir = sysconfig.get_config_var("srcdir")
  
      self.assertTrue(os.path.isabs(srcdir), srcdir)
      self.assertTrue(os.path.isdir(srcdir), srcdir)
  
      if sysconfig._PYTHON_BUILD:
          # The python executable has not been installed so srcdir
          # should be a full source checkout.
          Python_h = os.path.join(srcdir, "Include", "Python.h")
          self.assertTrue(os.path.exists(Python_h), Python_h)
          # <srcdir>/PC/pyconfig.h.in always exists even if unused
          pyconfig_h = os.path.join(srcdir, "PC", "pyconfig.h.in")
          self.assertTrue(os.path.exists(pyconfig_h), pyconfig_h)
          pyconfig_h_in = os.path.join(srcdir, "pyconfig.h.in")
          self.assertTrue(os.path.exists(pyconfig_h_in), pyconfig_h_in)
          if os.name == "nt":
              # <executable dir>/pyconfig.h exists on Windows in a build tree
              pyconfig_h = os.path.join(
                  sys.executable, "..", "pyconfig.h"
              )
              self.assertTrue(os.path.exists(pyconfig_h), pyconfig_h)
      elif os.name == "posix":
          makefile_dir = os.path.dirname(
              sysconfig.get_makefile_filename()
          )
          # Issue #19340: srcdir has been realpath'ed already
          makefile_dir = os.path.realpath(makefile_dir)
          self.assertEqual(makefile_dir, srcdir)
  
imports: import unittest
  import sys
  import os
  import subprocess
  import shutil
  from copy import copy
  from test.support import captured_stdout, PythonSymlink, requires_subprocess, is_wasi
  from test.support.import_helper import import_module
  from test.support.os_helper import TESTFN, unlink, skip_unless_symlink, change_cwd
  import sysconfig
  from sysconfig import get_paths, get_platform, get_config_vars, get_path, get_path_names, _INSTALL_SCHEMES, get_default_scheme, get_scheme_names, get_config_var, _expand_vars, _get_preferred_schemes
  from sysconfig.__main__ import _main, _parse_makefile
  import _imp
  import _osx_support
  import _sysconfig
label_desc: Use image node_id 25 for calling the TestSysConfig obj's underlying member method code with example usage: obj.test_srcdir() without return types