mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #12156: Skip test_multiprocessing on systems which don't support enough
POSIX semaphores (among which FreeBSD < 8).
This commit is contained in:
parent
ab1d16b456
commit
3be00953b2
1 changed files with 18 additions and 0 deletions
|
@ -98,6 +98,22 @@ except ImportError:
|
|||
Structure = object
|
||||
c_int = c_double = None
|
||||
|
||||
|
||||
def check_enough_semaphores():
|
||||
"""Check that the system supports enough semaphores to run the test."""
|
||||
# minimum number of semaphores available according to POSIX
|
||||
nsems_min = 256
|
||||
try:
|
||||
nsems = os.sysconf("SC_SEM_NSEMS_MAX")
|
||||
except (AttributeError, ValueError):
|
||||
# sysconf not available or setting not available
|
||||
return
|
||||
if nsems == -1 or nsems >= nsems_min:
|
||||
return
|
||||
raise unittest.SkipTest("The OS doesn't support enough semaphores "
|
||||
"to run the test (required: %d)." % nsems_min)
|
||||
|
||||
|
||||
#
|
||||
# Creates a wrapper for a function which records the time it takes to finish
|
||||
#
|
||||
|
@ -2294,6 +2310,8 @@ def test_main(run=None):
|
|||
except OSError:
|
||||
raise unittest.SkipTest("OSError raises on RLock creation, see issue 3111!")
|
||||
|
||||
check_enough_semaphores()
|
||||
|
||||
if run is None:
|
||||
from test.support import run_unittest as run
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue