[Python-checkins] cpython (2.7): Issue #12156: Skip test_multiprocessing on systems which don't support enough

charles-francois.natali python-checkins at python.org
Tue Nov 22 18:56:41 CET 2011


http://hg.python.org/cpython/rev/ed2d3680f489
changeset: 73690:ed2d3680f489
branch: 2.7
parent: 73682:0cd197f13400
user: Charles-François Natali <neologix at free.fr>
date: Tue Nov 22 18:35:18 2011 +0100
summary:
 Issue #12156: Skip test_multiprocessing on systems which don't support enough
POSIX semaphores (among which FreeBSD < 8).
files:
 Lib/test/test_multiprocessing.py | 18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -95,6 +95,22 @@
 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
 #
@@ -2236,6 +2252,8 @@
 except OSError:
 raise unittest.SkipTest("OSError raises on RLock creation, see issue 3111!")
 
+ check_enough_semaphores()
+
 if run is None:
 from test.test_support import run_unittest as run
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /