%PDF- %PDF-
Mini Shell

Mini Shell

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

ó
Oêáac@sìdZddlZddlZddlZddlmZmZmZmZm	Z	m
Z
er§ddlmZej
ddkr”ddlmZq§ddlmZnd	ejfd
„ƒYZd„Zedkrèejd
dƒndS(s/
TestCases for testing the locking sub-system.
iÿÿÿÿN(tdbttest_supporttverbosethave_threadstget_new_environment_pathtget_new_database_path(tThreadii(t
currentThread(tcurrent_threadtLockingTestCasecBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCsMtƒ|_tjƒ|_|jj|jtjtjBtjBtj	BƒdS(N(
RthomeDirRtDBEnvtenvtopent	DB_THREADt
DB_INIT_MPOOLtDB_INIT_LOCKt	DB_CREATE(tself((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pytsetUpscCs!|jjƒtj|jƒdS(N(RtcloseRtrmtreeR
(R((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyttearDowns
cCs©tr%dGddGHd|jjGHn|jjƒ}trFd|GHn|jj|dtjƒ}trsd|GHn|jj|ƒtr•d|GHn|jj	|ƒdS(	Ns
s-=isRunning %s.test01_simple...s
locker ID: %sssome locked thingsAcquired lock: %ssReleased lock: %s(
Rt	__class__t__name__Rtlock_idtlock_getRt
DB_LOCK_WRITEtlock_puttlock_id_free(RtanIDtlock((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyt
test01_simple"s
cCsótr%dGddGHd|jjGHng}|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒ|jtd|jdtjfƒƒxP|D]H}ddl	}|j
dd	kr´|jtƒn	t|_
|jƒqWx|D]}|jƒqÒWd
„}dS(Ns
s-=isRunning %s.test02_threaded...ttargettargsiÿÿÿÿiicSsØ|jjdtjƒ|j|jjtjƒdƒ|jjdtjƒ|j|jjtjƒdƒ|jjdtjƒ|j|jjtjƒdƒ|jjdtjƒ|j|jjtjƒdƒdS(Nii@âiËdx(Rtset_timeoutRtDB_SET_LOCK_TIMEOUTtassertEqualtget_timeouttDB_SET_TXN_TIMEOUT(R((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyttest03_lock_timeoutVs(RRRtappendRt	theThreadRRtDB_LOCK_READtsystversion_infot	setDaemontTruetdaemontstarttjoin(RtthreadsttR,R(((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyttest02_threaded3s>

	
c	s
ˆjjdtjƒˆjjdtjƒˆjjdtjƒˆjjdtjƒ‡‡fd†‰tˆ_dˆ_tdˆƒ}ddl	}|j
ddkrº|jtƒn	t|_
|jƒˆjjdtjƒˆjjƒ}ˆjjƒ}ˆj||ƒˆjj|d	tjƒ}tjƒ}ˆjtjˆjj|d	tjƒtjƒ}tˆ_|jd
krŠd}nd}ˆj|||ƒˆjj|ƒ|jƒˆjj|ƒˆjj|ƒtjƒdkrˆjˆjdƒndS(Nii@âiËdxcsVxOˆjsQˆjjtjƒˆ_ˆjrAx
ˆjs<q0WPntjdƒqWdS(Ng{®Gáz„?(tendRtlock_detectRtDB_LOCK_EXPIREtcountttimetsleep((tdeadlock_detectionR(s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyR<fs	R!iÿÿÿÿii †sshared locktwin32gš™™™™™©?g‰ÒÞà“¹?ii(ii(RR#RR$R'tFalseR6R9RR,R-R.R/R0R1RtassertNotEqualRRR:tassertRaisestDBLockNotGrantedErrorR+tplatformtassertGreaterEqualRR2Rtversiont
assertGreater(	RR4R,RtanID2Rt
start_timetend_timetmin_dt((R<Rs0/usr/local/lib/python2.7/bsddb/test/test_lock.pyttest04_lock_timeout2`sB
			
		
cCsddl}|jddkr1tƒjƒ}ntƒj}|tjkrUd}nd}|jjƒ}t	r‚d||fGHnxrt
dƒD]d}|jj|d|ƒ}t	rÈd	|||fGHn|jj|ƒt	rd
|||fGHqqW|jj
|ƒdS(Niÿÿÿÿiitwritetreads%s: locker ID: %sièssome locked things%s: Acquired %s lock: %ss%s: Released %s lock: %s(R,R-RtgetNametnameRRRRRtxrangeRRR(RtlockTypeR,RNtltRtiR((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyR*•s$	(Rt
__module__RRR R5RJR*(((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyR	s				-	5cCsHtjƒ}tr+|jtjtƒƒn|jtjtdƒƒ|S(Nttest01(tunittestt	TestSuiteRtaddTestt	makeSuiteR	(tsuite((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyt
test_suite³s
t__main__tdefaultTestRZ(t__doc__R,R:RUttest_allRRRRRRt	threadingRR-RRtTestCaseR	RZRtmain(((s0/usr/local/lib/python2.7/bsddb/test/test_lock.pyt<module>s.ž	

Zerion Mini Shell 1.0