[Python-checkins] distutils2: raise if the distribution is not found. also disable cache for testing
tarek.ziade
python-checkins at python.org
Sun Jan 30 10:43:58 CET 2011
tarek.ziade pushed f31564d7ed76 to distutils2:
http://hg.python.org/distutils2/rev/f31564d7ed76
changeset: 949:f31564d7ed76
user: Gael Pasgrimaud <gael at gawel.org>
date: Sat Jan 29 18:02:19 2011 +0100
summary:
raise if the distribution is not found. also disable cache for testing
files:
distutils2/install.py
distutils2/tests/test_uninstall.py
diff --git a/distutils2/install.py b/distutils2/install.py
--- a/distutils2/install.py
+++ b/distutils2/install.py
@@ -9,12 +9,12 @@
from distutils2 import logger
from distutils2._backport.pkgutil import get_distributions
-<<<<<<< local
from distutils2._backport.pkgutil import get_distribution
from distutils2._backport.sysconfig import get_config_var
from distutils2.depgraph import generate_graph
from distutils2.index import wrapper
from distutils2.index.errors import ProjectNotFound, ReleaseNotFound
+from distutils2.errors import DistutilsError
from distutils2.version import get_version_predicate
"""Provides installations scripts.
@@ -319,6 +319,8 @@
"""Removes a single project from the installation"""
tmp = tempfile.mkdtemp(prefix=project_name+'-uninstall')
dist = get_distribution(project_name, paths=paths)
+ if dist is None:
+ raise DistutilsError('Distribution %s not found' % project_name)
files = dist.get_installed_files(local=True)
rmdirs = []
rmfiles = []
diff --git a/distutils2/tests/test_uninstall.py b/distutils2/tests/test_uninstall.py
--- a/distutils2/tests/test_uninstall.py
+++ b/distutils2/tests/test_uninstall.py
@@ -2,7 +2,9 @@
import os
import sys
from StringIO import StringIO
+from distutils2._backport.pkgutil import disable_cache, enable_cache
from distutils2.tests import unittest, support, run_unittest
+from distutils2.errors import DistutilsError
from distutils2.install import remove
SETUP_CFG = """
@@ -25,7 +27,9 @@
self.addCleanup(setattr, sys, 'stdout', sys.stdout)
self.addCleanup(setattr, sys, 'stderr', sys.stderr)
self.addCleanup(os.chdir, os.getcwd())
+ self.addCleanup(enable_cache)
self.root_dir = self.mkdtemp()
+ disable_cache()
def run_setup(self, *args):
# run setup with args
@@ -68,6 +72,9 @@
install_lib = self.get_path(dist, 'purelib')
return dist, install_lib
+ def test_uninstall_unknow_distribution(self):
+ self.assertRaises(DistutilsError, remove, 'foo', paths=[self.root_dir])
+
def test_uninstall(self):
dist, install_lib = self.install_dist()
self.assertIsFile(install_lib, 'foo', 'sub', '__init__.py')
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list