mirror of
https://github.com/python/cpython.git
synced 2025-10-16 19:57:59 +00:00
Issue #11223: Add threading._info() function providing informations about the
thread implementation. Skip test_lock_acquire_interruption() and test_rlock_acquire_interruption() of test_threadsignals if a thread lock is implemented using a POSIX mutex and a POSIX condition variable. A POSIX condition variable cannot be interrupted by a signal (e.g. on Linux, the futex system call is restarted).
This commit is contained in:
parent
cf2a807831
commit
754851f456
10 changed files with 150 additions and 18 deletions
|
@ -718,6 +718,17 @@ class BoundedSemaphoreTests(lock_tests.BoundedSemaphoreTests):
|
|||
class BarrierTests(lock_tests.BarrierTests):
|
||||
barriertype = staticmethod(threading.Barrier)
|
||||
|
||||
|
||||
class MiscTests(unittest.TestCase):
|
||||
def test_info(self):
|
||||
info = threading._info()
|
||||
self.assertIn(info['name'],
|
||||
'nt os2 pthread solaris'.split())
|
||||
if info['name'] == 'pthread':
|
||||
self.assertIn(info['lock_implementation'],
|
||||
('semaphore', 'mutex+cond'))
|
||||
|
||||
|
||||
def test_main():
|
||||
test.support.run_unittest(LockTests, PyRLockTests, CRLockTests, EventTests,
|
||||
ConditionAsRLockTests, ConditionTests,
|
||||
|
@ -725,7 +736,7 @@ def test_main():
|
|||
ThreadTests,
|
||||
ThreadJoinOnShutdown,
|
||||
ThreadingExceptionTests,
|
||||
BarrierTests
|
||||
BarrierTests, MiscTests,
|
||||
)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue