ACC SHELL

Path : /usr/lib/python/bsddb/test/
File Upload :
Current File : //usr/lib/python/bsddb/test/test_thread.pyc

Ñò
q&ÄMc@sXdZddkZddkZddkZddkZddklZdZyeWn)ej
ode	fd„ƒYZnXddk
Z
ddklZl
Z
lZlZlZlZlZeoXddklZddkZeid	d
joddklZqddklZnd
e
ifd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZ de fd„ƒYZ!de fd „ƒYZ"d!e fd"„ƒYZ#d#e fd$„ƒYZ$d%„Z%e&d&joe
i'd'd(ƒndS()s-TestCases for multi-threaded access to a DB.
iÿÿÿÿN(trandomt-tWindowsErrorcBseZRS((t__name__t
__module__(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRs(tdbtdbutilsttest_supporttverbosethave_threadstget_new_environment_pathtget_new_database_path(tThreadii(t
currentThread(tcurrent_threadtBaseThreadedTestCasecBsweZeiZdZdZdZddkZei	d djodd„Znd„Zd„Z
d	„Zd
„ZRS(iiÿÿÿÿNiiicCs|i|d|ƒdS(Ntmsg(t
failUnless(tselftexprR((s,/usr/lib/python2.6/bsddb/test/test_thread.pyt
assertTrue)scCsÏtotit_ntƒ|_tiƒ|_	|i
ƒ|i	i|i|iti
Bƒ|iid|_ti|i	ƒ|_|io|ii|iƒn|ii|i|i|iti
BƒdS(Ns.db(RtsyststdoutRt_deadlock_VerboseFileR
thomeDirRtDBEnvtenvt
setEnvOptstopentenvflagst	DB_CREATEt	__class__RtfilenametDBtdt
dbsetflagst	set_flagstdbtypetdbopenflags(R((s,/usr/lib/python2.6/bsddb/test/test_thread.pytsetUp,s
 
cCs.|iiƒ|iiƒti|iƒdS(N(R"tcloseRRtrmtreeR(R((s,/usr/lib/python2.6/bsddb/test/test_thread.pyttearDown;s

cCsdS(N((R((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR@scCsti|gdƒS(Ni(tDASHtjoin(Rtkey((s,/usr/lib/python2.6/bsddb/test/test_thread.pytmakeDataCs(iii(RRRt
DB_UNKNOWNR%R&R#RRtversion_infotNoneRR'R*RR.(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR!s				tConcurrentDataStoreBasecBsUeZeiZeieiBeiBZdZdZ	dZ
d„Zd„Zd„Z
RS(iiècCsrto dGddGHd|iiGHnt|iƒ}ddk}|i|ƒ|i|i}|i|i}|i	|i|i|ƒ|i	|i|i|ƒ|i
||djƒg}x‰t|iƒD]x}td|i
d|i|fd	d
|ƒ}ddk}|iddjo|itƒn
t|_|i|ƒqÐWg}	xŽt|iƒD]}}|||||d!}
|
iƒ|||||d!}td|id|i|
|fd	d
|ƒ}|	i|ƒqbWxR|	D]J}
ddk}|iddjo|
itƒn
t|
_|
iƒqêWx|	D]}
|
iƒq?Wx|D]}
|
iƒqZWdS(Ns
s-=is(Running %s.test01_1WriterMultiReaders...iÿÿÿÿittargettargstnames	reader %diis	writer %d(RRRtrangetrecordsRtshuffletwriterstreaderstassertEqualRtxrangeRtreaderThreadR"RR0t	setDaemontTruetdaemontappendtsorttwriterThreadtstartR,(RtkeysRtrecords_per_writertreaders_per_writerR:txtrtRR9tatbtwttt((s,/usr/lib/python2.6/bsddb/test/test_thread.pyttest01_1WriterMultiReadersQs\


	

	c
Cs=ddk}|iddjotƒiƒ}n
tƒi}tod|ttfGHnt|ƒt|ƒ}|}x–|D]Ž}d|}	t	i
|i|	|i|	ƒddƒto'|ddjod	|t|fGHn|d
8}|p|i
ƒiƒ|}qqWto
d|GHnto
d|GHndS(
Niÿÿÿÿiis%s: creating records %d - %ds%04dtmax_retriesiids%s: records %d - %d finishedis%s: finished creating recordss%s: thread finished(RR0R
tgetNameR5RRDtstoptlenRtDeadlockWraptputR.tpop(
RR"RER:RR5tcounttcount2RHR-((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRC…s.


cCsúddk}|iddjotƒiƒ}n
tƒi}x tdƒD]’}|iƒ}d}|iƒ}xG|o?|d7}|\}	}
|i|i	|	ƒ|
ƒ|i
ƒ}qsWtod||fGHn|iƒqLWto
d|GHndS(Niÿÿÿÿiiiis%s: found %d recordss%s: thread finished(
RR0R
RPR5R<tcursortfirstR;R.tnextRR((RR"t	readerNumRR5titcRVtrecR-tdata((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR=£s(

(RRRt	DB_THREADR&tDB_INIT_CDBt
DB_INIT_MPOOLRR:R9R7RNRCR=(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR2Js		4	tBTreeConcurrentDataStorecBs#eZeiZdZdZdZRS(ii
iè(RRRtDB_BTREER%R9R:R7(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRc»s	tHashConcurrentDataStorecBs#eZeiZdZdZdZRS(ii
iè(RRRtDB_HASHR%R9R:R7(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyReÂs	tSimpleThreadedBasecBs^eZeiZeieiBeiBZdZdZ	dZ
d„Zd„Zd„Z
d„ZRS(i
iiècCs|iitiƒdS(N(Rt
set_lk_detectRtDB_LOCK_DEFAULT(R((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRÒscCsrto dGddGHd|iiGHnt|iƒ}ddk}|i|ƒ|i|i}|i|i}|i	|i|i|ƒ|i	|i|i|ƒ|i
||djƒg}x‰t|iƒD]x}td|i
d|i|fd	d
|ƒ}ddk}|iddjo|itƒn
t|_|i|ƒqÐWg}	xŽt|iƒD]}}|||||d!}
|
iƒ|||||d!}td|id|i|
|fd	d
|ƒ}|	i|ƒqbWxR|	D]J}
ddk}|iddjo|
itƒn
t|
_|
iƒqêWx|	D]}
|
iƒq?Wx|D]}
|
iƒqZWdS(Ns
s-=is Running %s.test02_SimpleLocks...iÿÿÿÿiR3R4R5s	reader %diis	writer %d(RRRR6R7RR8R9R:R;RR<RR=R"RR0R>R?R@RARBRCRDR,(RRERRFRGR:RHRIRR9RJRKRLRM((s,/usr/lib/python2.6/bsddb/test/test_thread.pyttest02_SimpleLocksÕsZ


	

	c
Cs)ddk}|iddjotƒiƒ}n
tƒi}tod|ttfGHnt|ƒt|ƒ}|}x–|D]Ž}d|}	t	i
|i|	|i|	ƒddƒto'|ddjod	|t|fGHn|d
8}|p|i
ƒiƒ|}qqWto
d|GHndS(Niÿÿÿÿiis%s: creating records %d - %ds%04dROiids%s: records %d - %d finishedis%s: thread finished(RR0R
RPR5RRDRQRRRRSRTR.RU(
RR"RER:RR5RVRWRHR-((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRC	s*

c
Csûddk}|iddjotƒiƒ}n
tƒi}|iƒ}d}ti|iddƒ}xS|oK|d7}|\}}	|i	|i
|ƒ|	ƒti|iddƒ}qlWtod||fGHn|i
ƒto
d|GHndS(	NiÿÿÿÿiiROi
is%s: found %d recordss%s: thread finished(RR0R
RPR5RXRRSRYR;R.RZRR((
RR"R[RR5R]RVR^R-R_((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR=$s$

(RRRR`R&RbtDB_INIT_LOCKRR:R9R7RRjRCR=(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRgËs			4	tBTreeSimpleThreadedcBseZeiZRS((RRRRdR%(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRl;stHashSimpleThreadedcBseZeiZRS((RRRRfR%(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRm?stThreadedTransactionsBasecBs‚eZeieiBZeieiBeiBeiBei	BZ
dZdZdZ
dZd„Zd„Zd„Zd„Zd„ZRS(iiÐcCsdS(N((R((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRSscCsÑto dGddGHd|iiGHnt|iƒ}ddk}|i|ƒ|i|i}|i|i}|i	|i|i|ƒ|i	|i|i|ƒ|i
||djƒg}x‰t|iƒD]x}td|i
d|i|fd	d
|ƒ}ddk}|iddjo|itƒn
t|_|i|ƒqÐWg}	x„t|iƒD]s}|||||d!}
|||||d!}td|id|i|
|fd	d
|ƒ}|	i|ƒqbWtd|iƒ}
ddk}|iddjo|
itƒn
t|
_|
iƒxR|	D]J}ddk}|iddjo|itƒn
t|_|iƒq6Wx|	D]}|iƒq‹Wx|D]}|iƒq¦Wt|_|
iƒdS(Ns
s-=is)Running %s.test03_ThreadedTransactions...iÿÿÿÿiR3R4R5s	reader %diis	writer %d(RRRR6R7RR8R9R:R;RR<RR=R"RR0R>R?R@RARCtdeadlockThreadRDR,tFalsetdoLockDetect(RRERRFRGR:RHRIRR9RJRKRLtdtRM((s,/usr/lib/python2.6/bsddb/test/test_thread.pyttest03_ThreadedTransactionsWsj


	
	
		c
Cs}ddk}|iddjotƒiƒ}n
tƒi}t|ƒt|ƒ}x
t|ƒoÿy¯|iid|i	ƒ}|| }xb|D]Z}	d|	}
|i
|
|i|
ƒ|ƒto'|	ddjod|t
|	fGHq‘q‘W|iƒ||}|iƒi
ƒWqXtitifj
o1}tod||dfGHn|iƒqXXqXWto
d	|GHndS(
Niÿÿÿÿiis%04dids%s: records %d - %d finisheds%s: Aborting transaction (%s)is%s: thread finished(RR0R
RPR5RRRt	txn_beginR1ttxnFlagRTR.RRDtcommitRURtDBLockDeadlockErrortDBLockNotGrantedErrortabort(RR"RER:RR5RVttxntkeys2RHR-tval((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRC•s2




c
Cs}ddk}|iddjotƒiƒ}n
tƒi}t}x|py»|iid|i	ƒ}|i
|ƒ}d}|iƒ}	xG|	o?|d7}|	\}
}|i|i
|
ƒ|ƒ|iƒ}	qŽWtod||fGHn|iƒ|iƒt}WqHtitifj
o;}tod||dfGHn|iƒ|iƒqHXqHWto
d|GHndS(Niÿÿÿÿiiis%s: found %d recordss%s: Aborting transaction (%s)s%s: thread finished(RR0R
RPR5RpRRtR1RuRXRYR;R.RZRR(RvR?RRwRxRy(
RR"R[RR5tfinishedRzR]RVR^R-R_R|((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR=±s<




cCst|_xo|iodtidƒy:|iititiƒ}t	o|o
d|GHnWqti
j
oqXqWdS(Ngš™™™™™©?s.deadlock: Aborted %d deadlocked transaction(s)(R?RqttimetsleepRtlock_detectRtDB_LOCK_RANDOMtDB_LOCK_CONFLICTRtDBError(Rtaborted((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRoÑs	

	(RRRR`tDB_AUTO_COMMITR&RbRktDB_INIT_LOGtDB_INIT_TXNRR:R9R7RuRRsRCR=Ro(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRnFs
		>		 tBTreeThreadedTransactionscBs#eZeiZdZdZdZRS(ii
iè(RRRRdR%R9R:R7(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRˆßs	tHashThreadedTransactionscBs#eZeiZdZdZdZRS(ii
iè(RRRRfR%R9R:R7(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyR‰ås	tBTreeThreadedNoWaitTransactionscBs,eZeiZdZdZdZeiZ	RS(ii
iè(
RRRRdR%R9R:R7t
DB_TXN_NOWAITRu(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRŠës
	tHashThreadedNoWaitTransactionscBs,eZeiZdZdZdZeiZ	RS(ii
iè(
RRRRfR%R9R:R7R‹Ru(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyRŒòs
	cCsÐtiƒ}to´|ititƒƒ|ititƒƒ|ititƒƒ|ititƒƒ|itit	ƒƒ|itit
ƒƒ|ititƒƒ|ititƒƒndGH|S(Ns-Threads not available, skipping thread tests.(
tunittestt	TestSuiteR	taddTestt	makeSuiteRcReRlRmRˆR‰RŠRŒ(tsuite((s,/usr/lib/python2.6/bsddb/test/test_thread.pyt
test_suiteüst__main__tdefaultTestR’((t__doc__tosRR~terrnoRR+Rt	NameErrort	ExceptionRttest_allRRRRR	R
Rt	threadingRR0R
RtTestCaseRR2RcReRgRlRmRnRˆR‰RŠRŒR’Rtmain(((s,/usr/lib/python2.6/bsddb/test/test_thread.pyt<module>sB4)q	p™
	


ACC SHELL 2018