From: Benjamin Peterson Date: Sat, 10 Dec 2011 17:31:42 +0000 (-0500) Subject: you can't get resource.error if you can't import resource X-Git-Tag: v2.7.3rc1~254 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8b59c23a54a053673c07c6939cccef096d856103;p=python you can't get resource.error if you can't import resource --- diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 1aa2c0a41f..b66356ddbf 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -10,6 +10,11 @@ import time import re import sysconfig +try: + import resource +except ImportError: + resource = None + mswindows = (sys.platform == "win32") # @@ -633,12 +638,12 @@ class _SuppressCoreFiles(object): 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 @@ class _SuppressCoreFiles(object): """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")