/Lib/distutils/tests/test_install.py
http://unladen-swallow.googlecode.com/ · Python · 55 lines · 36 code · 14 blank · 5 comment · 1 complexity · ff65f5ded95f5d40ed324dcde75a9dda MD5 · raw file
- """Tests for distutils.command.install."""
- import os
- import unittest
- from distutils.command.install import install
- from distutils.core import Distribution
- from distutils.tests import support
- class InstallTestCase(support.TempdirManager, unittest.TestCase):
- 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)
- def test_suite():
- return unittest.makeSuite(InstallTestCase)
- if __name__ == "__main__":
- unittest.main(defaultTest="test_suite")