Your IP : 216.73.216.213
�
��f�e c @ sa d Z d d l Z d d l Z d d l m Z m Z d d l Z d d l Z d d l m Z d d � Z
Gd d � d e � Z Gd d
� d
e j
� Z Gd d � d e � Z Gd
d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z d S( u/
Various tests for synchronization primitives.
i N( u start_new_threadu TIMEOUT_MAX( u supportc C s t j d � d S( Ng{�G�z�?( u timeu sleep( ( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu _wait s u _waitc B sM | Ee Z d Z d Z d d d � Z d d � Z d d � Z d d � Z d
S( u Bunchu
A bunch of threads.
c sk � � _ | � _ g � _ g � _ | � _ � � f d d � } x! t | � D] } t | f � qP Wd S( u�
Construct a bunch of `n` threads running the same function `f`.
If `wait_before_exit` is True, the threads won't terminate until
do_finish() is called.
c sV t j � } � j j | � z � � Wd � j j | � x � j sP t � q= WXd S( N( u threadingu get_identu startedu appendu finishedu _can_exitu _wait( u tid( u fu self( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu task! s u Bunch.__init__.<locals>.taskN( u fu nu startedu finishedu _can_exitu rangeu start_new_thread( u selfu fu nu wait_before_exitu tasku i( ( u fu selfu4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu __init__ s
u Bunch.__init__c C s* x# t | j � | j k r% t � q Wd S( N( u lenu startedu nu _wait( u self( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu wait_for_started- s u Bunch.wait_for_startedc C s* x# t | j � | j k r% t � q Wd S( N( u lenu finishedu nu _wait( u self( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu wait_for_finished1 s u Bunch.wait_for_finishedc C s
d | _ d S( NT( u Trueu _can_exit( u self( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu do_finish5 s u Bunch.do_finishNF( u __name__u
__module__u __qualname__u __doc__u Falseu __init__u wait_for_startedu wait_for_finishedu do_finish( u
__locals__( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu Bunch s
u Bunchc B s8 | Ee Z d Z d d � Z d d � Z d d � Z d S( u BaseTestCasec C s t j � | _ d S( N( u supportu threading_setupu _threads( u self( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu setUp: s u BaseTestCase.setUpc C s t j | j � t j � d S( N( u supportu threading_cleanupu _threadsu
reap_children( u self( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu tearDown= s u BaseTestCase.tearDownc C s, | j | | d � | j | | d � d S( Ng333333�?g $@( u assertGreaterEqualu
assertLess( u selfu actualu expected( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu
assertTimeoutA s u BaseTestCase.assertTimeoutN( u __name__u
__module__u __qualname__u setUpu tearDownu
assertTimeout( u
__locals__( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu BaseTestCase9 s u BaseTestCasec B s� | Ee Z d Z d Z d d � Z d d � Z d d � Z d d � Z d
d � Z d d
� Z d d � Z
d d � Z d d � Z d S( u
BaseLockTestsu;
Tests for both recursive and non-recursive locks.
c C s | j � } ~ d S( N( u locktype( u selfu lock( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu test_constructorO s u BaseLockTests.test_constructorc C s | j � } | j � ~ d S( N( u locktypeu acquire( u selfu lock( ( u4 /opt/alt/python33/lib64/python3.3/test/lock_tests.pyu test_acquire_destroyS s
u"