ó n®¸Qc@sdZddlZddlZddlZddlmZddlZddlZddlZddlm Z m Z m Z m Z m Z dZdejfd„ƒYZdejfd „ƒYZd efd „ƒYZd efd „ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZd efd!„ƒYZd"efd#„ƒYZd$efd%„ƒYZd&efd'„ƒYZ d(efd)„ƒYZ!d*efd+„ƒYZ"d,efd-„ƒYZ#d.e#fd/„ƒYZ$d0e#fd1„ƒYZ%d2ejfd3„ƒYZ&d4e&fd5„ƒYZ'd6e&fd7„ƒYZ(d8ejfd9„ƒYZ)d:„Z*e+d;krüej,d<d=ƒndS(>s_ Basic TestCases for BTree and hash DBs, with and without a DBEnv, with various DB flags, etc. iÿÿÿÿN(tpprint(tdbt test_supporttverbosetget_new_environment_pathtget_new_database_patht-tVersionTestCasecBseZd„ZRS(cCsetjƒ}tr?dGddGHd|fGHtjGHddGHn|j|tjtjtjfƒdS(Ns s-=isbsddb.db.version(): %s(RtversionRtDB_VERSION_STRINGt assertEqualtDB_VERSION_MAJORtDB_VERSION_MINORtDB_VERSION_PATCH(tselftinfo((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest00_versions    (t__name__t __module__R(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRst BasicTestCasecBs:eZejZdddfZdZdZdZdZ dZ dZ dZ dZd„Zd„Zdd„Zd„Zd „Zd „Zd „Zddd „Zd „Zd„Zd„ZejƒdkrØd„Znd„Zd„Zd„Zd„Zejƒdkrd„Z nejƒdkr8d„Z!nRS(iiii°iêc CsE|jrÏtƒ|_yštjƒ|_|jjd ƒ|jjdƒtt j ƒƒ|_ |jj |j ƒ|jj |j dƒ|jj|j|jtjBƒd|_Wqätj|jƒ‚qäXnd|_tƒ|_tj|jƒ|_|js†|jj|jŒ|jjƒ}|j|d|jdƒ|j|d|jdƒ|jdtd|d|jdƒƒn|jj |jƒ|jr×|jj|j|j|j|jtjB|j ƒn5|jj|jd |j d |jd |jtjBƒ|js7|j!tj"|jj|jŒn|j#ƒdS( Niiittestiii}gY@tmodetdbtypetflagsi($tuseEnvRthomeDirRtDBEnvtenvt set_lg_maxt set_tx_maxtintttimet_ttset_tx_timestampt set_flagst envsetflagstopentenvflagst DB_CREATEtfilenameRtrmtreetNoneRtDBtdt set_cachesizet cachesizet get_cachesizeR t dbsetflagstdbnameRt dbopenflagstdbmodet assertRaisestDBInvalidArgErrort populateDB(RR-((s,/sys/lib/python2.7/bsddb/test/test_basics.pytsetUp0sF        ,     cCsP|jjƒ|jdk r<|jjƒtj|jƒntj|j ƒdS(N( R+tcloseRR)RR(RtostremoveR'(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttearDown_s   cCsð|j}xNt|jdƒD]9}d|j|}|j|ƒ}|j|||ƒqW|jdd|ƒxKt|jddƒD]2}d|}|j|ƒ}|j|||ƒq…W|rÎ|jƒnt|ƒ}trìd|GHndS(Nis%04ds empty valuetiscreated %d records(R+tranget_numKeystmakeDatatputtcommittlenR(Rt_txnR+txtkeytdatatnum((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR5is    cCstj|gdƒS(Ni(tDASHtjoin(RRD((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR>€scCs |j}tr.dGddGHd|jjGHnx:ddddd gD]#}|j|ƒ}trD|GHqDqDW|j|jd ƒd ƒ|j|jd ƒdƒy|jd ƒWngtj k r}t j dkrì|j|dtj ƒn|j|j dtj ƒtr%|GHq%nX|jdƒ|jd dƒ|j|jd ƒdƒ|jd dƒ|jtj@rŠ|j|jd ƒdƒn|j|jd ƒdƒy|jd ddtjƒWngtjk r)}t j dkrþ|j|dtjƒn|j|j dtjƒtr7|GHq7nX|jdƒ|jtj@rc|j|jd ƒdƒn|j|jd ƒdƒ|jƒ|jƒ~tj|jƒ|_|jrÍ|jj|j|jƒn|jj|jƒ|j}|j|jd ƒd ƒ|jtj@r.|j|jd ƒdƒn|j|jd ƒdƒ|jddƒ}trg|GHn|j|jddƒdƒ|jddƒ}|j|dƒ|jd|ƒ}|j||ƒ|jƒ}|jt|ƒtiƒƒtrdGHt|ƒndS(Ns s-=is Running %s.test01_GetsAndPuts...t0001t0100t0400t0700t0999t0321s0321-0321-0321-0321-0321tabcdiiisexpected exceptions a new recordssame keysthis should failRt0555s0555-0555-0555-0555-0555sbad datasbad keys"d.stat() returned this dictionary:(ii(ii( R+Rt __class__RtgetR R)tdeleteRtDBNotFoundErrortsyst version_infot DB_NOTFOUNDtargstfailR?R/tDB_DUPtDB_NOOVERWRITEtDBKeyExistErrort DB_KEYEXISTtsyncR7R*RR0R$R'tget_bothtstatttypeR(RR+RDREtvaltrects((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest01_GetsAndPuts‡s|            cCsä|j}tr.dGddGHd|jjGHnxNddddd gD]7}||}|j||j|ƒƒtrD|GHqDqDW|jt|ƒ|jƒ|jƒ}|jt|ƒ|jƒ|jt |ƒt gƒƒd |d <|jt|ƒ|jd ƒ|jƒ}|jt|ƒ|jd ƒd |d <|jt|ƒ|jd ƒ|jƒ}|jt|ƒ|jd ƒtr•dGHt |d ƒn|j|d d ƒ|j|j ddƒd ƒ|j|j dddƒdƒ|j ƒ}|jt|ƒ|jd ƒ|jt |ƒt gƒƒ|jt |dƒt dƒƒ|jt|dƒdƒtrdGHt |d ƒn|jƒ}|jt|ƒ|jd ƒ|jt |ƒt gƒƒtràdGHt |d ƒndS(Ns s-=is&Running %s.test02_DictionaryMethods...t0002t0101t0401t0701t0998s a new records new recordisa replacement recordsthe first 10 keys are:i RItspamttxniisthe first 10 items are:sthe first 10 values are:((R+RRQRR R>RAR=tkeysRaRthas_keyR)titemstvalues(RR+RDRERmRoRp((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest02_DictionaryMethodsésT            cCsš|j}xNdddddgD]7}||}|j||j|ƒƒtr|GHqqW|jt|dƒƒ|jd|kƒ|jd|kƒdS(NRfRgRhRiRjt __contains__t1234(R+R R>Rt assertTruethasattrt assertFalse(RR+RDRE((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest02b_SequenceMethods&s   c Cs±tr.dGddGHd|jj||fGHn|jrY|jtj@rY|jjƒ}nd}|j j d|ƒ}|j ƒ}d}x|dk r™|d}tr½|ddkr½|GHny|j ƒ}Wnƒtj k rR}|rBtjd1kr|j|dtjƒn|j|jdtjƒtr9|GHnd}qS|jd ƒnX|j|jƒt|jƒdƒd |jƒ|jƒdfƒq‰W|j||jƒ|jƒ}d}xÎ|dk r|d}trö|ddkrö|GHny|jƒ}WqÂtj k r‹}|r{tjd2krJ|j|dtjƒn|j|jdtjƒtrr|GHnd}qŒ|jd ƒqÂXqÂW|j||jƒ|jd ƒ}|jƒ}|j||ƒ|j|dd ƒ|j|d|jd ƒƒ|j|jƒt|dƒƒ|jdƒ}|j|ddƒ|j|jƒdƒy|jdƒ} Wngtj k rÔ}tjd3kr©|j|dtjƒn|j|jdtjƒtr|GHqn:X|rë|jdƒn| dk r|jd| fƒn|jd|jdƒƒ}|j|d|jdƒfƒy|jddƒ} Wngtj k rÇ}tjd4krœ|j|dtjƒn|j|jdtjƒtr|GHqn:X|rÞ|jdƒn| dk r|jd| fƒn|j jƒtjkrË|jdƒ}tr:dG|GHn|jdddddƒ}trgdG|GHn|ddkr‡|jdƒn|jdƒ} tr¨dG| GHn| ddkrË|jdƒqËn|jdƒ|j ƒy|jƒ}Wn}tj!k rq}|ratjd5kr6|j|dtj"ƒn|j|jdtj"ƒtrn|GHqnqˆ|jdƒnX|rˆ|jdƒn|j ƒ|j#tj$ƒ} |j|jƒ| jƒƒ| j%dd tj&ƒ|j|jƒ| jƒƒ|j|jƒdd ƒ| j%dd!tj&dddd"ƒ|j| jƒdd#ƒ|j'ƒ| j'ƒ|ro|j(ƒni d6d$6d7d%6tj$fd&6d8d'6d9d(6d:d)6d;d*6d<d+6dd,tj&fd-6d=d.6} x¸| j)ƒD]ª\} }y)trûd/| GHnt*|| ƒ|ŒWnatj+k rr}tjd>krJ|j|ddƒn|j|jddƒtr„|GHq„qÚX|jd0| ƒqÚW|j j d|ƒ}|j j'ƒ~dS(?Ns s-=isCRunning %s.test03_SimpleCursorStuff (get_error %s, set_error %s)...Rliiidiisunexpected DBNotFoundErrors %s != len(%r)t0505s empty valueR;sbad keysexpected exceptionsexpected None: %rt0404sbad datat011ssearched for '011', found: tdlentdoffs%searched (partial) for '011', found: sexpected empty data portions!search for 'empty value' returnedsempty value lookup failedt0499sunexpected DBKeyEmptyErrors"DBKeyEmptyError exception expecteds a new valueteris a newer valuetcurrentRStduptfirstRRtnexttprevtlastRkR?tsets-attempting to use a closed cursor's %s methods8no exception raised when using a buggy cursor's%s method(ii(ii(ii(ii(ii((((i((((Rx(ii(,RRQRRR1RtDB_AUTO_COMMITt txn_beginR)R+tcursorRR‚RTRURVR RWRXRYtget_current_sizeRARR=R„RƒR…R>R_tget_typetDB_BTREEt set_rangeRStDBKeyEmptyErrort DB_KEYEMPTYR€t DB_POSITIONR?t DB_CURRENTR7R@RotgetattrtDBError(Rtget_raises_errortset_raises_errorRltcRctcountRbtrec2tntevtc2tmethods_to_testtmethodRXt oldcursor((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest03_SimpleCursorStuff6s*    "%                "          cCsatr%dGddGHd|jjGHn|jjdƒ}|j|dƒ|jddd dƒdS( Ns s-=is<Running %s.test03b_SimpleCursorStuffWithoutGetReturnsNone...iiR“iR”(RRQRR+tset_get_returns_noneR Rž(Rtold((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt*test03b_SimpleCursorWithoutGetReturnsNone0ós cCsQtr%dGddGHd|jjGHn|jjdƒ}|jddddƒdS( Ns s-=is<Running %s.test03b_SimpleCursorStuffWithoutGetReturnsNone...iR“iR”(RRQRR+RŸRž(RR ((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt'test03b_SimpleCursorWithGetReturnsNone1þs  cCsƒtr%dGddGHd|jjGHn|jjdƒ}|j|dƒ|jjdƒ}|j|dƒ|jddd dƒdS( Ns s-=is<Running %s.test03c_SimpleCursorStuffWithoutSetReturnsNone...iiR“iR”(RRQRR+RŸR Rž(RR ((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt#test03c_SimpleCursorGetReturnsNone2 s iicCsr|jjƒ}|jtjƒ|jtj|jƒƒ|jdtjƒ|jtj|jƒƒ|jƒdS(Ntpriority( R+Rˆt set_priorityRtDB_PRIORITY_VERY_LOWR t get_prioritytDB_PRIORITY_HIGHR7(RR•((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest03d_SimpleCursorPrioritys cCsX|j}tr.dGddGHd|jjGHnd}dddd}|j||ƒ|j|j|ƒ|ƒ|j|j|d d d d ƒddƒ|jddddƒ|j|jdd dd dƒdƒ|jtj krT|j|dd dd dƒ|j|j|ƒdƒ|j|dd dd dƒ|j|j|ƒdƒndS(Ns s-=is%Running %s.test04_PartialGetAndPut...t partialTestt1ièt2R{iR|iÞi t partialtest2i0utrobinit0000iÐit1111iit0011110t 1111111111t 2222222222( R+RRQRR?R RRR/RRZ(RR+RDRE((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest04_PartialGetAndPut!s$   %cCs†|j}tr.dGddGHd|jjGHnxQtdddƒD]=}d|}|j|d |ƒ|j|j|ƒ|ƒqAWdS( Ns s-=isRunning %s.test05_GetSize...iiPÃiôssize%sR«(R+RRQRR<R?R tget_size(RR+tiRD((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest05_GetSize@s   cCsŠ|j}tr.dGddGHd|jjGHn|jddƒ|jƒ}|j|dkdƒ|jƒ}|j|d d |fƒdS( Ns s-=isRunning %s.test06_Truncate...tabcdetABCDEis,truncate returned <= 0 on non-empty databaseis*truncate on empty DB returned nonzero (%r)(R+RRQRR?ttruncateRtR (RR+RF((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest06_TruncatePs     cCs3|jjƒtj|jƒ}|j|jƒdS(N(R+R7RR*RtverifyR'(RR+((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt test07_verify_s cCs[|jjddƒ|j|jjdƒtkdƒ|j|jjdƒtkdƒdS(NR¸R¹s DB->exists() returns wrong valueRC(R+R?RttexiststTruetFalse(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt test08_existsis icCsã|j}|jd|jdtjƒƒ|jd|jdtjƒƒ|jddƒ|jddƒ|jddƒ|jd d ƒ|jdƒ|jdƒ|jd dd d d ddddddddtjtjBƒdS(NiRR¸R¹tbcdetBCDEtabctABCtmontytpythontstarttstopRltcompact_fillpercenti*t compact_pagesitcompact_timeouti€ðú( R+R tcompactRtDB_FREELIST_ONLYR?RSR)t DB_FREE_SPACE(RR+((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt test_compactss    iN(ii(ii(ii("RRRt DB_UNKNOWNRR-R1R/R2R)R0RR%R#R=R6R:R5R>ReRqRwRžR¡R¢R£RR©R´R·R»R½RÁRÐ(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR#s>  /   b = ½      tBasicBTreeTestCasecBseZejZRS((RRRR‹R(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÒ‡stBasicHashTestCasecBseZejZRS((RRRtDB_HASHR(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÓ‹st BasicBTreeWithThreadFlagTestCasecBseZejZejZRS((RRRR‹Rt DB_THREADR1(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÕs tBasicHashWithThreadFlagTestCasecBseZejZejZRS((RRRRÔRRÖR1(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR×”s tBasicWithEnvTestCasecBs7eZejZdZejejBejBZd„Z RS(icCsy|js dStr2dGddGHd|jjGHn|jjƒ|jd}|jj|jd|ƒ|jj |ƒdS(Ns s-=is'Running %s.test09_EnvRemoveAndRename...s.renamed( RRRQRR+R7R'tdbrenameR)tdbremove(Rtnewname((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest09_EnvRemoveAndRename s    ( RRRRÖR1Rt DB_INIT_MPOOLt DB_INIT_LOCKR%RÜ(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRØ™s tBasicBTreeWithEnvTestCasecBseZejZRS((RRRR‹R(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRß±stBasicHashWithEnvTestCasecBseZejZRS((RRRRÔR(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRàµstBasicTransactionTestCasecBseZejdks3ejdkrBejdkrBdd„ZnejejBZ dZ ejej Bej Bej BZejZd„Zd„Zd„Zejƒdkr¸d „Znd „Zd „Zejƒdkrd„Zd„Zd„Zd„ZnRS(iiiicCs|j||kd|ƒS(Ntmsg(Rt(RtatbRâ((s,/sys/lib/python2.7/bsddb/test/test_basics.pytassertIn¾sicCs|jjƒtj|ƒdS(N(RlR@RR:(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR:Ès cCs8|jjƒ}tj|d|ƒ|jjƒ|_dS(NRB(RR‡RR5Rl(RRl((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR5ÍscCsÛ|j}tr.dGddGHd|jjGHn|j|jdd|jƒdƒ|jdd|jƒ|j|jdd|jƒdƒ|jj ƒ|j|jdƒdƒ|j j ƒ|_|j|jdd|jƒdƒ|jdd|jƒ|j|jdd|jƒdƒ|jj ƒ|j|jdƒdƒ|j j ƒ|_|j |jƒ}|jƒ}d}xD|dk r¼|d }tr­|d dkr­|GHn|jƒ}qyW|j||jd ƒ|jƒ|jj ƒ|j jdddƒ|j jdƒ}|jd |ƒ|jd |ƒ|jd |ƒ|jd|ƒ|j jtjtjBƒ}|j|dƒxC|D];}tržd|GHn|j jtjƒ}|j| ƒq†W|j j ƒ|_dS(Ns s-=is!Running %s.test06_Transactions...snew recRlsthis is a new recordiiidtmagicRtcur_filet region_nowaits log file: (R+RRQRR RRRlR)R?tabortRR‡R@RˆRR‚R=R7ttxn_checkpointtlog_statRåt log_archiveRt DB_ARCH_ABSt DB_ARCH_LOGtassertNotEqualtDB_ARCH_REMOVERt(RR+R•RcR–tstatDicttlogstlog((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest06_TransactionsÔsV  " "       iicCsŸ|jjƒ}|jjddd|ƒ|jƒ|jjƒ}|j|jjdd|ƒtkdƒ|j|jjdd|ƒtkdƒ|j ƒdS(NR¸R¹Rls DB->exists() returns wrong valueRC( RR‡R+R?R@RtR¾R¿RÀRé(RRl((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÁs !!cCs©|j}tr.dGddGHd|jjGHn|jddƒ|jjƒ}|j|ƒ}|j|dkdƒ|j|ƒ}|j |d d |fƒ|j ƒdS( Ns s-=is Running %s.test09_TxnTruncate...R¸R¹is,truncate returned <= 0 on non-empty databaseis*truncate on empty DB returned nonzero (%r)( R+RRQRR?RR‡RºRtR R@(RR+RlRF((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest09_TxnTruncates   cCs–|jjƒ}|jƒy|jƒWntjk r?}n Xtd‚|jjƒ}|jƒy|jƒWntjk rˆ}n Xtd‚dS(NsBDBTxn.abort() called after DB_TXN no longer valid w/o an exceptionsCDBTxn.commit() called after DB_TXN no longer valid w/o an exception(RR‡RéRR’t RuntimeErrorR@(RRlte((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest10_TxnLateUse-s   cCsy|jjƒ}|j|jƒdƒ|jdƒ|j|jƒdƒ|jdƒ|j|jƒdƒ|jƒdS(NR;tXXYY(RR‡R tget_nametset_nameRé(RRl((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt test_txn_nameEs  cCsF|jjƒ}|jdtjƒ|jddtjƒ|jƒdS(Ni‡ÖiÎÊ#R(RR‡t set_timeoutRtDB_SET_LOCK_TIMEOUTtDB_SET_TXN_TIMEOUTRé(RRl((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest_txn_set_timeoutQscCs|j|jjƒdƒdS(Ni(R Rt get_tx_max(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest_get_tx_maxYscCs |j|jjƒ|jƒdS(N(R Rtget_tx_timestampR (R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest_get_tx_timestamp\s(ii(ii(iiN(ii(ii(RRRURVR)RåRRÖR†R1RRÝRÞt DB_INIT_TXNR%R#R:R5RôRRÁRõRøRüRRR(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRá»s(     :    tBTreeTransactionTestCasecBseZejZRS((RRRR‹R(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRastHashTransactionTestCasecBseZejZRS((RRRRÔR(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRdstBTreeRecnoTestCasecBs#eZejZejZd„ZRS(cCs|j}tr.dGddGHd|jjGHn|jdƒ}|jt|ƒtd ƒƒ|jt|ƒdƒtrdG|GHn|jƒ}|j dƒ|j ƒ}|jt|ƒtd ƒƒtrÔd G|GHn|j ƒ}|j|j |ƒ|ƒ|j ƒdS( Ns s-=is!Running %s.test09_RecnoInBTree...iÈisRecord #200 is t0200isrecno of d['0200'] is ((R+RRQRRRR RaRARˆR…t get_recnoRt set_recnoR7(RR+RcR•RF((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest09_RecnoInBTreeos$        (RRRR‹Rt DB_RECNUMR/R (((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRks  t BTreeRecnoWithThreadFlagTestCasecBseZejZRS((RRRRÖR1(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR‰stBasicDUPTestCasecBseZejZd„ZRS(c Csµ|j}tr.dGddGHd|jjGHn|jddƒx$djƒD]}|jd|ƒqKW|jd d ƒ|jdƒ}|j|d ƒtr¢|GHn|jƒ}|j dƒ}|j|dƒ|j ƒ}|j|dƒ|j dƒ}|j ƒ}|j|d ƒ|j ƒ}|j|dƒ|j dƒ}x*|dk rktr\|GHn|j ƒ}qBW|j dƒ|jƒ}|j|ddƒtr§|GHn|jƒdS(Ns s-=is"Running %s.test10_DuplicateKeys...tdup0tbefores-The quick brown fox jumped over the lazy dog.tdup1tdup2taftertThetquicki i(RR(RR(RR(R+RRQRR?tsplitRRR RˆR…R‚R–tnext_dupR)t next_nodupRïR7( RR+RCRER•Rctnext_regR–R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest10_DuplicateKeys‘sD        (RRRRZR/R(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRŽs tBTreeDUPTestCasecBseZejZRS((RRRR‹R(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÀstHashDUPTestCasecBseZejZRS((RRRRÔR(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÃstBTreeDUPWithThreadTestCasecBseZejZejZRS((RRRR‹RRÖR1(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÆs tHashDUPWithThreadTestCasecBseZejZejZRS((RRRRÔRRÖR1(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyRÊs tBasicMultiDBTestCasecBs eZdZd„Zd„ZRS(RcCs$|jtjkrtjStjSdS(N(RRR‹RÔ(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt otherTypeÔsc Cs_|j}tr.dGddGHd|jjGHntj|jƒ}|j|jd|j |j tj Bƒtj|jƒ}|j|jd|j ƒ|j tj Bƒx-dj ƒD]}|j||j|ƒƒq®Wx%tjD]}|j||dƒqÛW|jƒ|jƒ|jƒ|jƒ|jƒ|jƒd|_}}}tj|jƒ|_}|j|j|jd |j ƒtj|jƒ}|j|jdd |j ƒtj|jƒ}|j|jdd |j ƒ|jƒ}|jƒ}|jƒ}d }|jƒ} xD| dk rZ|d }trK|d d krK| GHn|jƒ} qW|j||jƒd }|jƒ} x4| dk r¶|d }tr§| GHn|jƒ} qƒW|j|d ƒd }|jƒ} x4| dk r|d }tr| GHn|jƒ} qÜW|j|ttjƒƒ|jƒ|jƒ|jƒ|jƒ|jƒdS(Ns s-=isRunning %s.test11_MultiDB...tsecondtthirds,The quick brown fox jumped over the lazy dogiFRiii2i (R+RRQRRR*RR$R'RR1R&R!RR?R>tstringtlettersR^R7R)R0RˆRR‚R R=RA( Rtd1td2td3RCtc1Rštc3R–Rc((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest11_MultiDBÚsv                     (RRR0R!R+(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR Ñs tBTreeMultiDBTestCasecBs7eZejZejZdZejejBej BZ RS(i( RRRR‹RRÖR1RRÝRÞR%(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR,)s  tHashMultiDBTestCasecBs7eZejZejZdZejejBej BZ RS(i( RRRRÔRRÖR1RRÝRÞR%(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR-/s  t PrivateObjectcBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs |`dS(N(tobj(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR:7scCs|j|jjƒdƒdS(N(R R/t get_privateR)(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest01_DefaultIsNone:scCs<d}|jj|ƒ|jjƒ}|j||kƒdS(Nsexample of private object(R/t set_privateR0Rt(RRãRä((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest02_assignment=scCsod}tj|ƒ}|jj|ƒ|j|dtj|ƒƒ|jjdƒ|j|tj|ƒƒdS(Nsexample of private objecti(RUt getrefcountR/R2R R)(RRãtrefcount((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest03_leak_assignmentCs cCsKd}tj|ƒ}|jj|ƒd|_|j|tj|ƒƒdS(Nsexample of private object(RUR4R/R2R)R (RRãR5((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest04_leak_GCKs  (RRR:R1R3R6R7(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR.6s     tDBEnvPrivateObjectcBseZd„ZRS(cCstjƒ|_dS(N(RRR/(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR6Ss(RRR6(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR8RstDBPrivateObjectcBseZd„ZRS(cCstjƒ|_dS(N(RR*R/(R((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR6Ws(RRR6(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR9Vst CrashAndBurncBs&eZejƒdkr$d„ZnRS(iicCs7ddl}|jtjtjtjƒ|jƒdS(Niÿÿÿÿ(tgcR3RR4Rt DB_RPCCLIENTtcollect(RR;((s,/sys/lib/python2.7/bsddb/test/test_basics.pyttest02_DBEnv_dealloc`s (ii(RRRRR>(((s,/sys/lib/python2.7/bsddb/test/test_basics.pyR:ZscCsÈtjƒ}|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjt ƒƒ|jtjt ƒƒ|jtjt ƒƒ|jtjt ƒƒ|jtjt ƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|jtjtƒƒ|S(N(tunittestt TestSuitetaddTestt makeSuiteRRÒRÓRÕR×RßRàRRRRRRRRR,R-R8R9R:(tsuite((s,/sys/lib/python2.7/bsddb/test/test_basics.pyt test_suitejs, t__main__t defaultTestRD(-t__doc__R8terrnoR$RR?RRUttest_allRRRRRRGtTestCaseRRRÒRÓRÕR×RØRßRàRáRRRRRRRRRR R,R-R.R8R9R:RDRtmain(((s,/sys/lib/python2.7/bsddb/test/test_basics.pytsP      ( ÿÿf¦2X