Commit 08bac0ab authored by Jason R. Coombs's avatar Jason R. Coombs

Extract fixture for the environment.

parent deef22ce
import os
import stat
import pytest
from . import environment
from .textwrap import DALS
from . import contexts
......@@ -29,53 +31,61 @@ class TestEggInfo:
print('hello')
"""))
def test_egg_base_installed_egg_info(self, tmpdir_cwd):
self._create_project()
with contexts.tempdir(prefix='setuptools-test.') as temp_dir:
os.chmod(temp_dir, stat.S_IRWXU)
@pytest.yield_fixture
def env(self):
class Environment(str): pass
with contexts.tempdir(prefix='setuptools-test.') as env_dir:
env = Environment(env_dir)
os.chmod(env_dir, stat.S_IRWXU)
subs = 'home', 'lib', 'scripts', 'data', 'egg-base'
paths = dict(
(dirname, os.path.join(temp_dir, dirname))
env.paths = dict(
(dirname, os.path.join(env_dir, dirname))
for dirname in subs
)
list(map(os.mkdir, paths.values()))
config = os.path.join(paths['home'], '.pydistutils.cfg')
list(map(os.mkdir, env.paths.values()))
config = os.path.join(env.paths['home'], '.pydistutils.cfg')
with open(config, 'w') as f:
f.write(DALS("""
[egg_info]
egg-base = %(egg-base)s
""" % paths
""" % env.paths
))
environ = os.environ.copy().update(
HOME=paths['home'],
)
cmd = [
'install',
'--home', paths['home'],
'--install-lib', paths['lib'],
'--install-scripts', paths['scripts'],
'--install-data', paths['data'],
]
code, data = environment.run_setup_py(
cmd=cmd,
pypath=os.pathsep.join([paths['lib'], str(tmpdir_cwd)]),
data_stream=1,
env=environ,
)
if code:
raise AssertionError(data)
yield env
def test_egg_base_installed_egg_info(self, tmpdir_cwd, env):
self._create_project()
environ = os.environ.copy().update(
HOME=env.paths['home'],
)
cmd = [
'install',
'--home', env.paths['home'],
'--install-lib', env.paths['lib'],
'--install-scripts', env.paths['scripts'],
'--install-data', env.paths['data'],
]
code, data = environment.run_setup_py(
cmd=cmd,
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
data_stream=1,
env=environ,
)
if code:
raise AssertionError(data)
actual = self._find_egg_info_files(paths['lib'])
actual = self._find_egg_info_files(env.paths['lib'])
expected = [
'PKG-INFO',
'SOURCES.txt',
'dependency_links.txt',
'entry_points.txt',
'not-zip-safe',
'top_level.txt',
]
assert sorted(actual) == expected
expected = [
'PKG-INFO',
'SOURCES.txt',
'dependency_links.txt',
'entry_points.txt',
'not-zip-safe',
'top_level.txt',
]
assert sorted(actual) == expected
def _find_egg_info_files(self, root):
results = (
......
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