summaryrefslogtreecommitdiff
path: root/setuptools/tests/contexts.py
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2016-01-16 17:04:13 -0500
committerJason R. Coombs <jaraco@jaraco.com>2016-01-16 17:04:13 -0500
commit1859724ef434e577f7c45eab39aa489fe27dee87 (patch)
treeed703292d615b5738ebf15dee6d97e35d465d347 /setuptools/tests/contexts.py
parent21d210fb950e2f2779900ad659a7cbe49fbd838c (diff)
parentd9f0c7c8b5aca8fdbe01b64cfa448784a363167d (diff)
downloadpython-setuptools-bitbucket-1859724ef434e577f7c45eab39aa489fe27dee87.tar.gz
Merged in embray/setuptools (pull request #167)
Possible fix for #207
Diffstat (limited to 'setuptools/tests/contexts.py')
-rw-r--r--setuptools/tests/contexts.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/setuptools/tests/contexts.py b/setuptools/tests/contexts.py
index 8c9a2d3e..ae28c7c3 100644
--- a/setuptools/tests/contexts.py
+++ b/setuptools/tests/contexts.py
@@ -6,6 +6,7 @@ import contextlib
import site
from setuptools.extern import six
+import pkg_resources
@contextlib.contextmanager
@@ -78,6 +79,18 @@ def save_user_site_setting():
@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