diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-07-03 15:11:32 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-03 15:11:32 -0400 |
commit | 5f151cbbcd6c65f7f48082bfaf36db3a55df936e (patch) | |
tree | eb721c8957ee48c5149af6742a27a449fb618027 /setuptools/_distutils/tests/test_install_scripts.py | |
parent | a9eb9e73def8ca6c469e59f1b008746e368ad4c1 (diff) | |
parent | a877dab0bddaeb5503d871794ca06f1c81d805b8 (diff) | |
download | external_python_setuptools-5f151cbbcd6c65f7f48082bfaf36db3a55df936e.tar.gz external_python_setuptools-5f151cbbcd6c65f7f48082bfaf36db3a55df936e.tar.bz2 external_python_setuptools-5f151cbbcd6c65f7f48082bfaf36db3a55df936e.zip |
Merge branch 'master' into 2020-06-11-raise-from
Diffstat (limited to 'setuptools/_distutils/tests/test_install_scripts.py')
-rw-r--r-- | setuptools/_distutils/tests/test_install_scripts.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/setuptools/_distutils/tests/test_install_scripts.py b/setuptools/_distutils/tests/test_install_scripts.py new file mode 100644 index 00000000..1f7b1038 --- /dev/null +++ b/setuptools/_distutils/tests/test_install_scripts.py @@ -0,0 +1,82 @@ +"""Tests for distutils.command.install_scripts.""" + +import os +import unittest + +from distutils.command.install_scripts import install_scripts +from distutils.core import Distribution + +from distutils.tests import support +from test.support import run_unittest + + +class InstallScriptsTestCase(support.TempdirManager, + support.LoggingSilencer, + unittest.TestCase): + + def test_default_settings(self): + dist = Distribution() + dist.command_obj["build"] = support.DummyCommand( + build_scripts="/foo/bar") + dist.command_obj["install"] = support.DummyCommand( + install_scripts="/splat/funk", + force=1, + skip_build=1, + ) + cmd = install_scripts(dist) + self.assertFalse(cmd.force) + self.assertFalse(cmd.skip_build) + self.assertIsNone(cmd.build_dir) + self.assertIsNone(cmd.install_dir) + + cmd.finalize_options() + + self.assertTrue(cmd.force) + self.assertTrue(cmd.skip_build) + self.assertEqual(cmd.build_dir, "/foo/bar") + self.assertEqual(cmd.install_dir, "/splat/funk") + + def test_installation(self): + source = self.mkdtemp() + expected = [] + + def write_script(name, text): + expected.append(name) + f = open(os.path.join(source, name), "w") + try: + f.write(text) + finally: + f.close() + + write_script("script1.py", ("#! /usr/bin/env python2.3\n" + "# bogus script w/ Python sh-bang\n" + "pass\n")) + write_script("script2.py", ("#!/usr/bin/python\n" + "# bogus script w/ Python sh-bang\n" + "pass\n")) + write_script("shell.sh", ("#!/bin/sh\n" + "# bogus shell script w/ sh-bang\n" + "exit 0\n")) + + target = self.mkdtemp() + dist = Distribution() + dist.command_obj["build"] = support.DummyCommand(build_scripts=source) + dist.command_obj["install"] = support.DummyCommand( + install_scripts=target, + force=1, + skip_build=1, + ) + cmd = install_scripts(dist) + cmd.finalize_options() + cmd.run() + + installed = os.listdir(target) + for name in expected: + self.assertIn(name, installed) + + +def test_suite(): + return unittest.makeSuite(InstallScriptsTestCase) + +if __name__ == "__main__": + run_unittest(test_suite()) |