Mercurial > repos > bcclaywell > argo_navis
comparison venv/lib/python2.7/site-packages/setuptools/tests/test_develop.py @ 0:d67268158946 draft
planemo upload commit a3f181f5f126803c654b3a66dd4e83a48f7e203b
author | bcclaywell |
---|---|
date | Mon, 12 Oct 2015 17:43:33 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:d67268158946 |
---|---|
1 """develop tests | |
2 """ | |
3 import os | |
4 import shutil | |
5 import site | |
6 import sys | |
7 import tempfile | |
8 | |
9 from setuptools.command.develop import develop | |
10 from setuptools.dist import Distribution | |
11 | |
12 SETUP_PY = """\ | |
13 from setuptools import setup | |
14 | |
15 setup(name='foo', | |
16 packages=['foo'], | |
17 use_2to3=True, | |
18 ) | |
19 """ | |
20 | |
21 INIT_PY = """print "foo" | |
22 """ | |
23 | |
24 class TestDevelopTest: | |
25 | |
26 def setup_method(self, method): | |
27 if hasattr(sys, 'real_prefix'): | |
28 return | |
29 | |
30 # Directory structure | |
31 self.dir = tempfile.mkdtemp() | |
32 os.mkdir(os.path.join(self.dir, 'foo')) | |
33 # setup.py | |
34 setup = os.path.join(self.dir, 'setup.py') | |
35 f = open(setup, 'w') | |
36 f.write(SETUP_PY) | |
37 f.close() | |
38 self.old_cwd = os.getcwd() | |
39 # foo/__init__.py | |
40 init = os.path.join(self.dir, 'foo', '__init__.py') | |
41 f = open(init, 'w') | |
42 f.write(INIT_PY) | |
43 f.close() | |
44 | |
45 os.chdir(self.dir) | |
46 self.old_base = site.USER_BASE | |
47 site.USER_BASE = tempfile.mkdtemp() | |
48 self.old_site = site.USER_SITE | |
49 site.USER_SITE = tempfile.mkdtemp() | |
50 | |
51 def teardown_method(self, method): | |
52 if hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix): | |
53 return | |
54 | |
55 os.chdir(self.old_cwd) | |
56 shutil.rmtree(self.dir) | |
57 shutil.rmtree(site.USER_BASE) | |
58 shutil.rmtree(site.USER_SITE) | |
59 site.USER_BASE = self.old_base | |
60 site.USER_SITE = self.old_site | |
61 | |
62 def test_develop(self): | |
63 if hasattr(sys, 'real_prefix'): | |
64 return | |
65 dist = Distribution( | |
66 dict(name='foo', | |
67 packages=['foo'], | |
68 use_2to3=True, | |
69 version='0.0', | |
70 )) | |
71 dist.script_name = 'setup.py' | |
72 cmd = develop(dist) | |
73 cmd.user = 1 | |
74 cmd.ensure_finalized() | |
75 cmd.install_dir = site.USER_SITE | |
76 cmd.user = 1 | |
77 old_stdout = sys.stdout | |
78 #sys.stdout = StringIO() | |
79 try: | |
80 cmd.run() | |
81 finally: | |
82 sys.stdout = old_stdout | |
83 | |
84 # let's see if we got our egg link at the right place | |
85 content = os.listdir(site.USER_SITE) | |
86 content.sort() | |
87 assert content == ['easy-install.pth', 'foo.egg-link'] | |
88 | |
89 # Check that we are using the right code. | |
90 egg_link_file = open(os.path.join(site.USER_SITE, 'foo.egg-link'), 'rt') | |
91 try: | |
92 path = egg_link_file.read().split()[0].strip() | |
93 finally: | |
94 egg_link_file.close() | |
95 init_file = open(os.path.join(path, 'foo', '__init__.py'), 'rt') | |
96 try: | |
97 init = init_file.read().strip() | |
98 finally: | |
99 init_file.close() | |
100 if sys.version < "3": | |
101 assert init == 'print "foo"' | |
102 else: | |
103 assert init == 'print("foo")' |