diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2016-05-21 10:25:40 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2016-05-21 10:25:40 -0400 |
commit | 6d83e28f216e750b7c20d6c1f9df4529565e9ee9 (patch) | |
tree | aa2fbc047ea6d44a7ee07e8fba9f8577f2e61803 | |
parent | 2e3b0c3f3285fcf18de4dd6f5593c48084ace283 (diff) | |
download | external_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.py | 43 |
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: |