%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/test/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/test/lock_tests.pyc

ó
Nêáac@sHdZddlZddlZddlmZmZddlZddlZddlm	Z
d„Zdefd„ƒYZ
dejfd	„ƒYZd
efd„ƒYZdefd
„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdS(s/
Various tests for synchronization primitives.
iÿÿÿÿN(tstart_new_threadt	get_ident(ttest_supportcCstjdƒdS(Ng{®Gáz„?(ttimetsleep(((s+/usr/local/lib/python2.7/test/lock_tests.pyt_waitstBunchcBs5eZdZed„Zd„Zd„Zd„ZRS(s
    A bunch of threads.
    cs‚ˆˆ_|ˆ_gˆ_gˆ_|ˆ_‡‡fd†}y(x!t|ƒD]}t|dƒqPWWntˆ_‚nXdS(s¹
        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.
        csStƒ}ˆjj|ƒzˆƒWdˆjj|ƒxˆjsMtƒq:WXdS(N(Rtstartedtappendtfinishedt	_can_exitR(ttid(tftself(s+/usr/local/lib/python2.7/test/lock_tests.pyttask!s	N((RtnRR	R
trangeRtTrue(R
RRtwait_before_exitRti((RR
s+/usr/local/lib/python2.7/test/lock_tests.pyt__init__s				
		cCs*x#t|jƒ|jkr%tƒqWdS(N(tlenRRR(R
((s+/usr/local/lib/python2.7/test/lock_tests.pytwait_for_started1scCs*x#t|jƒ|jkr%tƒqWdS(N(RR	RR(R
((s+/usr/local/lib/python2.7/test/lock_tests.pytwait_for_finished5scCs
t|_dS(N(RR
(R
((s+/usr/local/lib/python2.7/test/lock_tests.pyt	do_finish9s(t__name__t
__module__t__doc__tFalseRRRR(((s+/usr/local/lib/python2.7/test/lock_tests.pyRs
		tBaseTestCasecBseZd„Zd„ZRS(cCstjƒ|_dS(N(tsupporttthreading_setupt_threads(R
((s+/usr/local/lib/python2.7/test/lock_tests.pytsetUp>scCstj|jŒtjƒdS(N(Rtthreading_cleanupR t
reap_children(R
((s+/usr/local/lib/python2.7/test/lock_tests.pyttearDownAs(RRR!R$(((s+/usr/local/lib/python2.7/test/lock_tests.pyR=s	t
BaseLockTestscBsVeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
RS(	s;
    Tests for both recursive and non-recursive locks.
    cCs|jƒ}~dS(N(tlocktype(R
tlock((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_constructorKscCs|jƒ}|jƒ~dS(N(R&tacquire(R
R'((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_acquire_destroyOs
cCs'|jƒ}|jƒ|jƒ~dS(N(R&R)trelease(R
R'((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_acquire_releaseTs

cCs0|jƒ}|j|jtƒƒ|jƒdS(N(R&t
assertTrueR)RR+(R
R'((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_try_acquireZscs`|jƒ‰ˆjƒg‰‡‡fd†}t|dƒjƒ|jˆdƒˆjƒdS(NcsˆjˆjtƒƒdS(N(RR)R((R'tresult(s+/usr/local/lib/python2.7/test/lock_tests.pyRcsii(R&R)RRtassertFalseR+(R
R((R'R/s+/usr/local/lib/python2.7/test/lock_tests.pyttest_try_acquire_contended_s
cs•|jƒ‰ˆjƒd}‡fd†}t||ƒ}|jƒtƒ|jt|jƒdƒˆjƒ|j	ƒ|jt|jƒ|ƒdS(NicsˆjƒˆjƒdS(N(R)R+((R'(s+/usr/local/lib/python2.7/test/lock_tests.pyRms
i(
R&R)RRRtassertEqualRR	R+R(R
tNRtb((R's+/usr/local/lib/python2.7/test/lock_tests.pyttest_acquire_contendedis



csq|jƒ‰‡fd†}d‡fd†}|ƒt|dƒjƒ|jt|tƒt|dƒjƒdS(NcsˆjƒˆjƒdS(N(R)R+((R'(s+/usr/local/lib/python2.7/test/lock_tests.pyR{s
cs&ˆ|dk	r|‚nWdQXdS(N(tNone(terr(R'(s+/usr/local/lib/python2.7/test/lock_tests.pyt_with~si(R&R6RRtassertRaisest	TypeError(R
RR8((R's+/usr/local/lib/python2.7/test/lock_tests.pyt	test_withyscs`|jƒ‰‡fd†}ttjƒƒ}t|dƒjƒ|j|ttjƒƒƒdS(NcsˆjƒˆjƒdS(N(R)R+((R'(s+/usr/local/lib/python2.7/test/lock_tests.pyRs
i(R&Rt	threadingt	enumerateRRR2(R
RR((R's+/usr/local/lib/python2.7/test/lock_tests.pyttest_thread_leak‰s
(RRRR(R*R,R.R1R5R;R>(((s+/usr/local/lib/python2.7/test/lock_tests.pyR%Fs					
		t	LockTestscBs eZdZd„Zd„ZRS(sn
    Tests for non-recursive, weak locks
    (which can be acquired and released from different threads).
    cs²|jƒ‰g‰‡‡fd†}t|dƒxtˆƒdkrPtƒq4Wtƒ|jtˆƒdƒˆjƒxtˆƒdkr—tƒq{W|jtˆƒdƒdS(Ncs2ˆjƒˆjdƒˆjƒˆjdƒdS(N(R)RR6((R'tphase(s+/usr/local/lib/python2.7/test/lock_tests.pyR s


iii((R&RRRR2R+(R
R((R'R@s+/usr/local/lib/python2.7/test/lock_tests.pyttest_reacquireœs

csV|jƒ‰ˆjƒ‡fd†}t|dƒ}|jƒˆjƒˆjƒdS(NcsˆjƒdS(N(R+((R'(s+/usr/local/lib/python2.7/test/lock_tests.pyR³si(R&R)RRR+(R
RR4((R's+/usr/local/lib/python2.7/test/lock_tests.pyttest_different_thread¯s


(RRRRARB(((s+/usr/local/lib/python2.7/test/lock_tests.pyR?—s	t
RLockTestscBs2eZdZd„Zd„Zd„Zd„ZRS(s$
    Tests for recursive locks.
    cCsL|jƒ}|jƒ|jƒ|jƒ|jƒ|jƒ|jƒdS(N(R&R)R+(R
R'((s+/usr/local/lib/python2.7/test/lock_tests.pyRA¿s




cCsr|jƒ}|jt|jƒ|jƒ|jƒ|jƒ|jƒ|jƒ|jƒ|jt|jƒdS(N(R&R9tRuntimeErrorR+R)(R
R'((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_release_unacquiredÈs





csV|jƒ‰‡fd†}t|dtƒ}z|jtˆjƒWd|jƒXdS(NcsˆjƒdS(N(R)((R'(s+/usr/local/lib/python2.7/test/lock_tests.pyR×si(R&RRR9RDR+R(R
RR4((R's+/usr/local/lib/python2.7/test/lock_tests.pyRBÔscsÓ|jƒ‰|jˆjƒƒˆjƒ|jˆjƒƒˆjƒ|jˆjƒƒg‰‡‡fd†}t|dƒjƒ|jˆdƒˆjƒ|jˆjƒƒˆjƒ|jˆjƒƒdS(NcsˆjˆjƒƒdS(N(Rt	_is_owned((R'R/(s+/usr/local/lib/python2.7/test/lock_tests.pyRçsii(R&R0RFR)R-RRR+(R
R((R'R/s+/usr/local/lib/python2.7/test/lock_tests.pyttest__is_ownedßs



(RRRRARERBRG(((s+/usr/local/lib/python2.7/test/lock_tests.pyRC»s
				t
EventTestscBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s"
    Tests for Event objects.
    cCs—|jƒ}|j|jƒƒ|jƒ|j|jƒƒ|jƒ|j|jƒƒ|jƒ|j|jƒƒ|jƒ|j|jƒƒdS(N(t	eventtypeR0tis_settsetR-tclear(R
tevt((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_is_setös



cs£d}g‰g‰‡‡‡fd†}t||ƒ}|jƒtƒ|jtˆƒdƒˆjƒ|jƒ|jˆtg|ƒ|jˆtg|ƒdS(Nics*ˆjˆjƒƒˆjˆjƒƒdS(N(Rtwait((RMtresults1tresults2(s+/usr/local/lib/python2.7/test/lock_tests.pyRsi(RRRR2RRKRR(R
RMR3RR4((RMRPRQs+/usr/local/lib/python2.7/test/lock_tests.pyt
_check_notifys


cCs>|jƒ}|j|ƒ|jƒ|jƒ|j|ƒdS(N(RIRRRKRL(R
RM((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_notifys



csÿ|jƒ‰g‰g‰d}‡‡‡fd†}t||ƒjƒ|jˆtg|ƒx7ˆD]/\}}|j|ƒ|j|dk|ƒqdWg‰g‰ˆjƒt||ƒjƒ|jˆtg|ƒx!ˆD]\}}|j|ƒqÞWdS(NicsXˆjˆjdƒƒtjƒ}ˆjdƒ}tjƒ}ˆj|||fƒdS(Nggš™™™™™É?(RROR(tt1trtt2(RMRPRQ(s+/usr/local/lib/python2.7/test/lock_tests.pyR s
gš™™™™™É?(	RIRRR2RR0R-RKR(R
R3RRUtdt((RMRPRQs+/usr/local/lib/python2.7/test/lock_tests.pyttest_timeouts"

cCs^|jƒ}|jj}|jƒ|jj}|j||ƒ|jt|ƒt|ƒƒdS(N(RIt_Event__condt_Condition__lockt_reset_internal_lockstassertIsNottassertIsttype(R
RMtold_locktnew_lock((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_reset_internal_locks4s
(RRRRNRRRSRXRa(((s+/usr/local/lib/python2.7/test/lock_tests.pyRHñs				tConditionTestscBsDeZdZd„Zd„Zd„Zd„Zd„Zd„ZRS(s(
    Tests for condition variables.
    cCsÖ|jƒ}|jƒ|jƒ|jƒ|jƒtjƒ}|j|ƒ}|jƒ|j|jtƒƒ|jƒ|j|jtƒƒ|j|jtƒƒ|jƒ||j|jtƒƒWdQXdS(N(tcondtypeR)R+R<tLockR0RR-(R
tcondR'((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_acquireBs






cCs#|jƒ}|jt|jƒdS(N(RcR9RDRO(R
Re((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_unacquired_waitUscCs#|jƒ}|jt|jƒdS(N(RcR9RDtnotify(R
Re((s+/usr/local/lib/python2.7/test/lock_tests.pyttest_unacquired_notifyYscskd}g‰g‰g‰d‰‡‡‡‡‡fd†}t||ƒ}|jƒxtˆƒdkrqtƒqUWg‰|jˆgƒˆjƒˆjdƒtƒd‰ˆjƒxtˆƒdkrÕtƒq¹W|jˆdgdƒ|jˆgƒxtˆƒdkrtƒqWˆjƒˆjdƒtƒd‰ˆjƒx'tˆƒtˆƒdkrttƒqNW|jˆdgddgdƒ|jˆdgdƒxtˆƒdkrÍtƒq±Wˆjƒˆjƒtƒd‰ˆjƒxtˆƒdkrtƒqüW|jˆdgddgdƒ|jˆdgddgdƒ|j	ƒdS(NiicstˆjƒˆjˆƒˆjƒˆjƒˆjˆƒˆjƒˆjˆƒˆjƒˆjƒˆjˆƒdS(N(R)RROR+((Ret	phase_numtreadyRPRQ(s+/usr/local/lib/python2.7/test/lock_tests.pyRns








iiii(
RRRRR2R)RhR+t
notify_allR(R
ReR3RR4((ReRjRkRPRQs+/usr/local/lib/python2.7/test/lock_tests.pyRR]sX






"


""cCs*|jƒ}|j|ƒ|j|ƒdS(N(RcRR(R
Re((s+/usr/local/lib/python2.7/test/lock_tests.pyRS§s
cs~|jƒ‰g‰d}‡‡fd†}t||ƒjƒ|jtˆƒdƒx$ˆD]}|j|dk|ƒqZWdS(NicsNˆjƒtjƒ}ˆjdƒtjƒ}ˆjƒˆj||ƒdS(Ngš™™™™™É?(R)RROR+R(RTRV(Retresults(s+/usr/local/lib/python2.7/test/lock_tests.pyR±s


gš™™™™™É?(RcRRR2RR-(R
R3RRW((ReRms+/usr/local/lib/python2.7/test/lock_tests.pyRX­s
(	RRRRfRgRiRRRSRX(((s+/usr/local/lib/python2.7/test/lock_tests.pyRb=s				J	tBaseSemaphoreTestscBsVeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
RS(	sB
    Common tests for {bounded, unbounded} semaphore objects.
    cCs:|jt|jddƒ|jt|jdtjƒdS(Ntvalueiÿÿÿÿ(R9t
ValueErrortsemtypetsystmaxint(R
((s+/usr/local/lib/python2.7/test/lock_tests.pyR(ÃscCs^|jdƒ}|jƒ|jƒ|jdƒ}|jƒ|jƒ|jƒ|jƒdS(Nii(RqR)R+(R
tsem((s+/usr/local/lib/python2.7/test/lock_tests.pyRfÇs




cCs|jƒ}|jƒ~dS(N(RqR)(R
Rt((s+/usr/local/lib/python2.7/test/lock_tests.pyR*Ñs
csÚ|jdƒ‰ˆjƒd}g‰g‰d‰‡‡‡‡fd†}t|dƒ}|jƒx'tˆƒtˆƒdkr‹tƒqeW|jˆˆdgdƒd‰xtdƒD]}ˆjƒqºWx'tˆƒtˆƒdkr÷tƒqÑW|jt	ˆˆƒdgddgdƒd‰xtdƒD]}ˆjƒq7Wx'tˆƒtˆƒd	krttƒqNW|jt	ˆˆƒdgddgddgdƒ|j
ˆjtƒƒˆjƒ|jƒdS(
Nii
ics2ˆjƒˆjˆƒˆjƒˆjˆƒdS(N(R)R((RjRPRQRt(s+/usr/local/lib/python2.7/test/lock_tests.pyRÝs


iii
ii(
RqR)RRRRR2RR+tsortedR0RR(R
R3RR4R((RjRPRQRts+/usr/local/lib/python2.7/test/lock_tests.pyR5Ös6

,7
cCsu|jdƒ}|j|jtƒƒ|j|jtƒƒ|j|jtƒƒ|jƒ|j|jtƒƒdS(Ni(RqR-R)RR0R+(R
Rt((s+/usr/local/lib/python2.7/test/lock_tests.pyR.ùs
csp|jdƒ‰ˆjƒg‰‡‡fd†}t|dƒjƒ|jtˆƒtgdtgdƒdS(Nics0ˆjˆjtƒƒˆjˆjtƒƒdS(N(RR)R((RmRt(s+/usr/local/lib/python2.7/test/lock_tests.pyRsiii(RqR)RRR2RuRR(R
R((RmRts+/usr/local/lib/python2.7/test/lock_tests.pyR1s
csm|jƒ‰ˆjƒ‡fd†}t|dƒ}|jƒtƒ|j|jƒˆjƒ|jƒdS(NcsˆjƒˆjƒdS(N(R)R+((Rt(s+/usr/local/lib/python2.7/test/lock_tests.pyRs
i(	RqR)RRRR0R	R+R(R
RR4((Rts+/usr/local/lib/python2.7/test/lock_tests.pyttest_default_values


cs‚ˆjdƒ‰d‡‡fd†}|ƒˆjˆjtƒƒˆjƒˆjt|tƒˆjˆjtƒƒˆjƒdS(NicscˆWˆjˆjtƒƒˆjƒˆ*ˆjˆjtƒƒ|rS|‚nWdQXWdQXdS(N(R-R)RR+R0(R7(R
Rt(s+/usr/local/lib/python2.7/test/lock_tests.pyR8s
(RqR6R-R)RR+R9R:(R
R8((R
Rts+/usr/local/lib/python2.7/test/lock_tests.pyR;s
(RRRR(RfR*R5R.R1RvR;(((s+/usr/local/lib/python2.7/test/lock_tests.pyRn¾s		
		#		
	tSemaphoreTestscBseZdZd„ZRS(s)
    Tests for unbounded semaphores.
    cCs;|jdƒ}|jƒ|jƒ|jƒ|jƒdS(Ni(RqR+R)(R
Rt((s+/usr/local/lib/python2.7/test/lock_tests.pyRE2s



(RRRRE(((s+/usr/local/lib/python2.7/test/lock_tests.pyRw-stBoundedSemaphoreTestscBseZdZd„ZRS(s'
    Tests for bounded semaphores.
    cCsJ|jƒ}|jt|jƒ|jƒ|jƒ|jt|jƒdS(N(RqR9RpR+R)(R
Rt((s+/usr/local/lib/python2.7/test/lock_tests.pyRE@s


(RRRRE(((s+/usr/local/lib/python2.7/test/lock_tests.pyRx;s(RRrRtthreadRRR<tunittestttestRRRtobjectRtTestCaseRR%R?RCRHRbRnRwRx(((s+/usr/local/lib/python2.7/test/lock_tests.pyt<module>s"	+	Q$6Lo

Zerion Mini Shell 1.0