[Python-checkins] cpython (2.7): you can't get resource.error if you can't import resource

benjamin.peterson python-checkins at python.org
Sat Dec 10 18:38:58 CET 2011


http://hg.python.org/cpython/rev/fd5f43737546
changeset:   73922:fd5f43737546
branch:      2.7
parent:      73918:5ba1a22c8988
user:        Benjamin Peterson <benjamin at python.org>
date:        Sat Dec 10 12:31:42 2011 -0500
summary:
  you can't get resource.error if you can't import resource

files:
  Lib/test/test_subprocess.py |  27 ++++++++++++++----------
  1 files changed, 16 insertions(+), 11 deletions(-)


diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -10,6 +10,11 @@
 import re
 import sysconfig
 
+try:
+    import resource
+except ImportError:
+    resource = None
+
 mswindows = (sys.platform == "win32")
 
 #
@@ -633,12 +638,12 @@
 
     def __enter__(self):
         """Try to save previous ulimit, then set it to (0, 0)."""
-        try:
-            import resource
-            self.old_limit = resource.getrlimit(resource.RLIMIT_CORE)
-            resource.setrlimit(resource.RLIMIT_CORE, (0, 0))
-        except (ImportError, ValueError, resource.error):
-            pass
+        if resource is not None:
+            try:
+                self.old_limit = resource.getrlimit(resource.RLIMIT_CORE)
+                resource.setrlimit(resource.RLIMIT_CORE, (0, 0))
+            except (ValueError, resource.error):
+                pass
 
         if sys.platform == 'darwin':
             # Check if the 'Crash Reporter' on OSX was configured
@@ -658,11 +663,11 @@
         """Return core file behavior to default."""
         if self.old_limit is None:
             return
-        try:
-            import resource
-            resource.setrlimit(resource.RLIMIT_CORE, self.old_limit)
-        except (ImportError, ValueError, resource.error):
-            pass
+        if resource is not None:
+            try:
+                resource.setrlimit(resource.RLIMIT_CORE, self.old_limit)
+            except (ValueError, resource.error):
+                pass
 
     @unittest.skipUnless(hasattr(signal, 'SIGALRM'),
                          "Requires signal.SIGALRM")

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list