diff options
Diffstat (limited to 'Lib/packaging/tests/test_run.py')
-rw-r--r-- | Lib/packaging/tests/test_run.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/Lib/packaging/tests/test_run.py b/Lib/packaging/tests/test_run.py index 01fa5aa..cb576b7 100644 --- a/Lib/packaging/tests/test_run.py +++ b/Lib/packaging/tests/test_run.py @@ -3,8 +3,12 @@ import os import sys import shutil +from tempfile import mkstemp +from io import StringIO +from packaging import install from packaging.tests import unittest, support, TESTFN +from packaging.run import main # setup script that uses __file__ setup_using___file__ = """\ @@ -25,7 +29,8 @@ setup() """ -class CoreTestCase(unittest.TestCase): +class CoreTestCase(support.TempdirManager, support.LoggingCatcher, + unittest.TestCase): def setUp(self): super(CoreTestCase, self).setUp() @@ -54,6 +59,24 @@ class CoreTestCase(unittest.TestCase): # TODO restore the tests removed six months ago and port them to pysetup + def test_install(self): + # making sure install returns 0 or 1 exit codes + 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) + old_stderr = sys.stderr + sys.stderr = StringIO() + try: + self.assertFalse(install.install(project)) + self.assertEqual(main(['install', 'blabla']), 1) + finally: + sys.stderr = old_stderr + os.chmod(install_path, old_mod) + install.get_path = old_get_path + def test_suite(): return unittest.makeSuite(CoreTestCase) |