From 964561bb7cbfd7ef48b8874b32e26ece9a68f6cd Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sat, 10 Dec 2011 12:31:42 -0500 Subject: [PATCH] you can't get resource.error if you can't import resource --- Lib/test/test_subprocess.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index ff76ec445c0..c3eae9a908a 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -18,6 +18,12 @@ try: except ImportError: gc = None + +try: + import resource +except ImportError: + resource = None + mswindows = (sys.platform == "win32") # @@ -732,12 +738,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 @@ -758,11 +764,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.skipIf(mswindows, "POSIX specific tests")