Commit bbb68a8b authored by Jason R. Coombs's avatar Jason R. Coombs

Rewrite test using pytest.

parent b14ed9cb
......@@ -3,6 +3,7 @@ import pytest
from . import contexts
@pytest.yield_fixture
def user_override():
"""
......@@ -15,3 +16,9 @@ def user_override():
with mock.patch('site.USER_SITE', user_site):
with contexts.save_user_site_setting():
yield
@pytest.yield_fixture
def tmpdir_cwd(tmpdir):
with tmpdir.as_cwd() as orig:
yield orig
......@@ -2,22 +2,11 @@ import os
import tempfile
import shutil
import stat
import unittest
from . import environment
class TestEggInfo(unittest.TestCase):
def setUp(self):
self.test_dir = tempfile.mkdtemp()
self.old_cwd = os.getcwd()
os.chdir(self.test_dir)
def tearDown(self):
os.chdir(self.old_cwd)
shutil.rmtree(self.test_dir)
class TestEggInfo:
def _create_project(self):
with open('setup.py', 'w') as f:
......@@ -33,7 +22,7 @@ class TestEggInfo(unittest.TestCase):
f.write('def run():\n')
f.write(" print('hello')\n")
def test_egg_base_installed_egg_info(self):
def test_egg_base_installed_egg_info(self, tmpdir_cwd):
self._create_project()
temp_dir = tempfile.mkdtemp(prefix='setuptools-test.')
os.chmod(temp_dir, stat.S_IRWXU)
......@@ -54,7 +43,7 @@ class TestEggInfo(unittest.TestCase):
'--install-lib', paths['lib'],
'--install-scripts', paths['scripts'],
'--install-data', paths['data']],
pypath=os.pathsep.join([paths['lib'], self.old_cwd]),
pypath=os.pathsep.join([paths['lib'], str(tmpdir_cwd)]),
data_stream=1,
env=environ)
if code:
......@@ -63,17 +52,15 @@ class TestEggInfo(unittest.TestCase):
for dirpath, dirnames, filenames in os.walk(paths['lib']):
if os.path.basename(dirpath) == 'EGG-INFO':
egg_info = sorted(filenames)
self.assertEqual(
egg_info,
['PKG-INFO',
'SOURCES.txt',
'dependency_links.txt',
'entry_points.txt',
'not-zip-safe',
'top_level.txt'])
expected = [
'PKG-INFO',
'SOURCES.txt',
'dependency_links.txt',
'entry_points.txt',
'not-zip-safe',
'top_level.txt',
]
assert egg_info == expected
finally:
shutil.rmtree(temp_dir)
def test_suite():
return unittest.defaultTestLoader.loadTestsFromName(__name__)
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