Commit 4331740b authored by Tarek Ziade's avatar Tarek Ziade

make sure we test that the directory exists before we install stuff asked by...

make sure we test that the directory exists before we install stuff asked by setup_requires fixes #138

--HG--
branch : distribute
extra : rebase_source : 1078501b886e4f0864b4ce84517b2fbc5399da35
parent 4da7cdd3
......@@ -16,6 +16,7 @@ CHANGES
* Added easy_install --user
* Issue 100: Fixed develop --user not taking '.' in PYTHONPATH into account
* Issue 134: removed spurious UserWarnings. Patch by VanLindberg
* Issue 138: cant_write_to_target error when setup_requires is used.
------
0.6.10
......
......@@ -462,7 +462,9 @@ Please make the appropriate changes for your system and try again.
ok_exists = os.path.exists(ok_file)
try:
if ok_exists: os.unlink(ok_file)
os.makedirs(os.path.dirname(ok_file))
dirname = os.path.dirname(ok_file)
if not os.path.exists(dirname):
os.makedirs(dirname)
f = open(pth_file,'w')
except (OSError,IOError):
self.cant_write_to_target()
......
......@@ -6,6 +6,7 @@ import tempfile
import site
from StringIO import StringIO
from distutils.errors import DistutilsError
from setuptools.command.develop import develop
from setuptools.command import easy_install as easy_install_pkg
from setuptools.dist import Distribution
......@@ -18,7 +19,7 @@ setup(name='foo')
class TestDevelopTest(unittest.TestCase):
def setUp(self):
def setUp(self):
self.dir = tempfile.mkdtemp()
setup = os.path.join(self.dir, 'setup.py')
f = open(setup, 'w')
......@@ -32,7 +33,7 @@ class TestDevelopTest(unittest.TestCase):
self.old_site = site.USER_SITE
site.USER_SITE = tempfile.mkdtemp()
def tearDown(self):
def tearDown(self):
os.chdir(self.old_cwd)
shutil.rmtree(self.dir)
if sys.version >= "2.6":
......@@ -63,3 +64,19 @@ class TestDevelopTest(unittest.TestCase):
content.sort()
self.assertEquals(content, ['UNKNOWN.egg-link', 'easy-install.pth'])
def test_develop_with_setup_requires(self):
wanted = ("Could not find suitable distribution for "
"Requirement.parse('I-DONT-EXIST')")
old_dir = os.getcwd()
os.chdir(self.dir)
try:
try:
dist = Distribution({'setup_requires': ['I_DONT_EXIST']})
except DistutilsError, e:
error = str(e)
if error == wanted:
pass
finally:
os.chdir(old_dir)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment