aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-05-21 10:25:40 -0400
committerJason R. Coombs <jaraco@jaraco.com>2016-05-21 10:25:40 -0400
commit6d83e28f216e750b7c20d6c1f9df4529565e9ee9 (patch)
treeaa2fbc047ea6d44a7ee07e8fba9f8577f2e61803
parent2e3b0c3f3285fcf18de4dd6f5593c48084ace283 (diff)
downloadexternal_python_setuptools-6d83e28f216e750b7c20d6c1f9df4529565e9ee9.tar.gz
external_python_setuptools-6d83e28f216e750b7c20d6c1f9df4529565e9ee9.tar.bz2
external_python_setuptools-6d83e28f216e750b7c20d6c1f9df4529565e9ee9.zip
Prefer the amazing monkeypatch fixture from pytest to bespoke inline implementations.
-rw-r--r--setuptools/tests/test_easy_install.py43
1 files changed, 10 insertions, 33 deletions
diff --git a/setuptools/tests/test_easy_install.py b/setuptools/tests/test_easy_install.py
index 39afaf97..ecfda5d2 100644
--- a/setuptools/tests/test_easy_install.py
+++ b/setuptools/tests/test_easy_install.py
@@ -9,7 +9,6 @@ import os
import tempfile
import site
import contextlib
-import functools
import tarfile
import logging
import itertools
@@ -41,26 +40,6 @@ from . import contexts
from .textwrap import DALS
-def _mock_removing_patcher(obj, attr, newval):
- def decorator(fn):
- @functools.wraps(fn)
- def wrapper(*args, **kwargs):
- setattr(obj, attr, newval)
- try:
- return fn(*args, **kwargs)
- finally:
- delattr(obj, attr)
- return wrapper
- return decorator
-
-
-def magic_patch_object(obj, attr, newval):
- if hasattr(obj, attr):
- return mock.patch.object(obj, attr, newval)
- else:
- return _mock_removing_patcher(obj, attr, newval)
-
-
class FakeDist(object):
def get_entry_map(self, group):
if group != 'console_scripts':
@@ -139,20 +118,18 @@ class TestEasyInstallTest:
with pytest.raises(distutils.errors.DistutilsError):
cmd.cant_write_to_target()
- @magic_patch_object(site, 'getsitepackages', lambda: ['/setuptools/test/site-packages'])
- def test_all_site_dirs(self):
+ def test_all_site_dirs(self, monkeypatch):
+ """
+ get_site_dirs should always return site dirs reported by
+ site.getsitepackages.
+ """
+ mock_gsp = lambda: ['/setuptools/test/site-packages']
+ monkeypatch.setattr(site, 'getsitepackages', mock_gsp)
assert '/setuptools/test/site-packages' in ei.get_site_dirs()
- def test_all_site_dirs_works_without_getsitepackages(self):
- getsitepackages_old = None
- if hasattr(site, 'getsitepackages'):
- getsitepackages_old = site.getsitepackages
- del site.getsitepackages
- try:
- assert ei.get_site_dirs()
- finally:
- if getsitepackages_old is not None:
- site.getsitepackages = getsitepackages_old
+ def test_all_site_dirs_works_without_getsitepackages(self, monkeypatch):
+ monkeypatch.delattr(site, 'getsitepackages', raising=False)
+ assert ei.get_site_dirs()
class TestPTHFileWriter: