code: def test_home_installation_scheme(self):
      # This ensure two things:
      # - that --home generates the desired set of directory names
      # - test --home is supported on all platforms
      builddir = self.mkdtemp()
      destination = os.path.join(builddir, "installation")
  
      dist = Distribution({"name": "foopkg"})
      # script_name need not exist, it just need to be initialized
      dist.script_name = os.path.join(builddir, "setup.py")
      dist.command_obj["build"] = support.DummyCommand(
          build_base=builddir,
          build_lib=os.path.join(builddir, "lib"),
      )
  
      cmd = install(dist)
      cmd.home = destination
      cmd.ensure_finalized()
  
      self.assertEqual(cmd.install_base, destination)
      self.assertEqual(cmd.install_platbase, destination)
  
      def check_path(got, expected):
          got = os.path.normpath(got)
          expected = os.path.normpath(expected)
          self.assertEqual(got, expected)
  
      libdir = os.path.join(destination, "lib", "python")
      check_path(cmd.install_lib, libdir)
      check_path(cmd.install_platlib, libdir)
      check_path(cmd.install_purelib, libdir)
      check_path(
          cmd.install_headers,
          os.path.join(destination, "include", "python", "foopkg"),
      )
      check_path(cmd.install_scripts, os.path.join(destination, "bin"))
      check_path(cmd.install_data, destination)
  
imports: import os
  import sys
  import unittest
  import site
  from test.test_support import captured_stdout, run_unittest
  from distutils import sysconfig
  from distutils.command.install import install
  from distutils.command import install
  from distutils.command.build_ext import build_ext
  from distutils.command.install import INSTALL_SCHEMES
  from distutils.core import Distribution
  from distutils.errors import DistutilsOptionError
  from distutils.extension import Extension
  from distutils.tests import support
label_desc: Use image node_id 1 for calling the InstallTestCase obj's underlying member method code with example usage: obj.test_home_installation_scheme() without return types