Commit aa078080 authored by Martin Panter's avatar Martin Panter

Issue #25764: OS X now failing on the second setrlimit() call

parent 2d2af91d
...@@ -1520,14 +1520,17 @@ class POSIXProcessTestCase(BaseTestCase): ...@@ -1520,14 +1520,17 @@ class POSIXProcessTestCase(BaseTestCase):
except ImportError as err: except ImportError as err:
self.skipTest(err) # RLIMIT_NPROC is specific to Linux and BSD self.skipTest(err) # RLIMIT_NPROC is specific to Linux and BSD
limits = getrlimit(RLIMIT_NPROC) limits = getrlimit(RLIMIT_NPROC)
[_, hard] = limits
try: try:
setrlimit(RLIMIT_NPROC, limits) setrlimit(RLIMIT_NPROC, limits)
setrlimit(RLIMIT_NPROC, (0, hard))
except ValueError as err: except ValueError as err:
# Seems to happen on AMD64 Snow Leop and x86-64 Yosemite buildbots # Seems to happen on various OS X buildbots
print(f"Setting NPROC to {limits!r}: {err!r}, RLIM_INFINITY={RLIM_INFINITY!r}") print(
self.skipTest("Setting existing NPROC limit failed") f"Setting NPROC failed: {err!r}, limits={limits!r}, "
[_, hard] = limits f"RLIM_INFINITY={RLIM_INFINITY!r}, "
setrlimit(RLIMIT_NPROC, (0, hard)) f"getrlimit() -> {getrlimit(RLIMIT_NPROC)!r}")
self.skipTest("Setting NPROC limit failed")
self.addCleanup(setrlimit, RLIMIT_NPROC, limits) self.addCleanup(setrlimit, RLIMIT_NPROC, limits)
# Forking should raise EAGAIN, translated to BlockingIOError # Forking should raise EAGAIN, translated to BlockingIOError
with self.assertRaises(BlockingIOError): with self.assertRaises(BlockingIOError):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment