diff options
Diffstat (limited to 'Lib/packaging/tests/test_install.py')
-rw-r--r-- | Lib/packaging/tests/test_install.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/Lib/packaging/tests/test_install.py b/Lib/packaging/tests/test_install.py index c0924bf..c50a45e 100644 --- a/Lib/packaging/tests/test_install.py +++ b/Lib/packaging/tests/test_install.py @@ -1,11 +1,10 @@ """Tests for the packaging.install module.""" - import os from tempfile import mkstemp + from packaging import install from packaging.pypi.xmlrpc import Client from packaging.metadata import Metadata - from packaging.tests.support import (LoggingCatcher, TempdirManager, unittest, fake_dec) try: @@ -340,7 +339,7 @@ class TestInstall(LoggingCatcher, TempdirManager, unittest.TestCase): self.assertTrue(os.path.exists(f)) dist._unlink_installed_files() finally: - install.install_dist = old_install_dist + install._install_dist = old_install_dist install.uninstall = old_uninstall def test_install_from_infos_install_succes(self): @@ -357,6 +356,21 @@ class TestInstall(LoggingCatcher, TempdirManager, unittest.TestCase): finally: install._install_dist = old_install_dist + def test_install_permission_denied(self): + # if we don't have the access to the installation + # path, we should abort immediatly + project = os.path.join(os.path.dirname(__file__), 'package.tgz') + install_path = self.mkdtemp() + old_get_path = install.get_path + install.get_path = lambda path: install_path + old_mod = os.stat(install_path).st_mode + os.chmod(install_path, 0) + try: + self.assertFalse(install.install(project)) + finally: + os.chmod(install_path, old_mod) + install.get_path = old_get_path + def test_suite(): suite = unittest.TestSuite() |