summaryrefslogtreecommitdiff
path: root/setuptools/tests/contexts.py
diff options
context:
space:
mode:
Diffstat (limited to 'setuptools/tests/contexts.py')
-rw-r--r--setuptools/tests/contexts.py98
1 files changed, 0 insertions, 98 deletions
diff --git a/setuptools/tests/contexts.py b/setuptools/tests/contexts.py
deleted file mode 100644
index ae28c7c3..00000000
--- a/setuptools/tests/contexts.py
+++ /dev/null
@@ -1,98 +0,0 @@
-import tempfile
-import os
-import shutil
-import sys
-import contextlib
-import site
-
-from setuptools.extern import six
-import pkg_resources
-
-
-@contextlib.contextmanager
-def tempdir(cd=lambda dir:None, **kwargs):
- temp_dir = tempfile.mkdtemp(**kwargs)
- orig_dir = os.getcwd()
- try:
- cd(temp_dir)
- yield temp_dir
- finally:
- cd(orig_dir)
- shutil.rmtree(temp_dir)
-
-
-@contextlib.contextmanager
-def environment(**replacements):
- """
- In a context, patch the environment with replacements. Pass None values
- to clear the values.
- """
- saved = dict(
- (key, os.environ[key])
- for key in replacements
- if key in os.environ
- )
-
- # remove values that are null
- remove = (key for (key, value) in replacements.items() if value is None)
- for key in list(remove):
- os.environ.pop(key, None)
- replacements.pop(key)
-
- os.environ.update(replacements)
-
- try:
- yield saved
- finally:
- for key in replacements:
- os.environ.pop(key, None)
- os.environ.update(saved)
-
-
-@contextlib.contextmanager
-def quiet():
- """
- Redirect stdout/stderr to StringIO objects to prevent console output from
- distutils commands.
- """
-
- old_stdout = sys.stdout
- old_stderr = sys.stderr
- new_stdout = sys.stdout = six.StringIO()
- new_stderr = sys.stderr = six.StringIO()
- try:
- yield new_stdout, new_stderr
- finally:
- new_stdout.seek(0)
- new_stderr.seek(0)
- sys.stdout = old_stdout
- sys.stderr = old_stderr
-
-
-@contextlib.contextmanager
-def save_user_site_setting():
- saved = site.ENABLE_USER_SITE
- try:
- yield saved
- finally:
- site.ENABLE_USER_SITE = saved
-
-
-@contextlib.contextmanager
-def save_pkg_resources_state():
- pr_state = pkg_resources.__getstate__()
- # also save sys.path
- sys_path = sys.path[:]
- try:
- yield pr_state, sys_path
- finally:
- sys.path[:] = sys_path
- pkg_resources.__setstate__(pr_state)
-
-
-@contextlib.contextmanager
-def suppress_exceptions(*excs):
- try:
- yield
- except excs:
- pass