codekingpro/portable-devtools
114k
1"""Tests for distutils.command.install_scripts."""2 3import os4from distutils.command.install_scripts import install_scripts5from distutils.core import Distribution6from distutils.tests import support7 8from . import test_build_scripts9 10 11class TestInstallScripts(support.TempdirManager):12 def test_default_settings(self):13 dist = Distribution()14 dist.command_obj["build"] = support.DummyCommand(build_scripts="/foo/bar")15 dist.command_obj["install"] = support.DummyCommand(16 install_scripts="/splat/funk",17 force=True,18 skip_build=True,19 )20 cmd = install_scripts(dist)21 assert not cmd.force22 assert not cmd.skip_build23 assert cmd.build_dir is None24 assert cmd.install_dir is None25 26 cmd.finalize_options()27 28 assert cmd.force29 assert cmd.skip_build30 assert cmd.build_dir == "/foo/bar"31 assert cmd.install_dir == "/splat/funk"32 33 def test_installation(self):34 source = self.mkdtemp()35 36 expected = test_build_scripts.TestBuildScripts.write_sample_scripts(source)37 38 target = self.mkdtemp()39 dist = Distribution()40 dist.command_obj["build"] = support.DummyCommand(build_scripts=source)41 dist.command_obj["install"] = support.DummyCommand(42 install_scripts=target,43 force=True,44 skip_build=True,45 )46 cmd = install_scripts(dist)47 cmd.finalize_options()48 cmd.run()49 50 installed = os.listdir(target)51 for name in expected:52 assert name in installed53 