ó {G_Tc@s"dZddlZddlZddlZddlmZejdƒejddeƒZejddeƒdej fd „ƒYZ d e fd „ƒYZ d e fd „ƒYZ de fd„ƒYZ de fd„ƒYZde fd„ƒYZed„ZedkredeƒndS(s{Test script for the bsddb C module by Roger E. Masse Adapted to unittest format and expanded scope by Raymond Hettinger iÿÿÿÿN(t test_supportt_bsddbtbsddbt deprecatedtdbhasht TestBSDDBcBs eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(tcc Cs†|jd|j|jddƒ|_tdddddd d d d d ddƒ|_x*|jjƒD]\}}||j|R?((s+/usr/local/lib/python2.7/test/test_bsddb.pyt%test_iteritems_while_modifying_valuesˆs$  cCsh|jjƒg}x6tdt|jƒƒD]}|j|jjƒƒq+W|j||jjƒƒdS(Ni( RtfirsttxrangeR(tappendR:R4RR5(RR5ti((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_first_next_looping¡scCsh|jjƒg}x6tdt|jƒƒD]}|j|jjƒƒq+W|j||jjƒƒdS(Ni( RtlastRNR(ROtpreviousR4RR5(RR5RP((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_previous_last_looping§scCsp|jt|jƒdkdƒx.|jD]#}|jjƒd}|j|=q)W|jg|jjƒdƒdS(Nistest requires >=2 itemsisexpected empty db after test(t assertTrueR(RRRMR&R5(Rt_R=((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_first_while_deleting­s cCsp|jt|jƒdkdƒx.|jD]#}|jjƒd}|j|=q)W|jg|jjƒdƒdS(Nistest requires >=2 itemsisexpected empty db after test(RUR(RRRRR&R5(RRVR=((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_last_while_deletingµs cCs-|j|jjdƒd|jdfƒdS(NR (R&Rt set_locationR(R((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_set_location½scCs>x$|jD]}|j||jƒq W|jd|jƒdS(Nsnot here(RR+Rt assertNotIn(RR((s+/usr/local/lib/python2.7/test/test_bsddb.pyt test_containsÀscCsKx*|jD]}|j|jj|ƒƒq W|j|jjdƒ ƒdS(Nsnot here(RRURthas_key(RR((s+/usr/local/lib/python2.7/test/test_bsddb.pyt test_has_keyÅscCs*|jjƒ|jt|jƒdƒdS(Ni(RtclearR&R((R((s+/usr/local/lib/python2.7/test/test_bsddb.pyt test_clearÊs icCstjjƒ|rdGHn|jjƒ\}}|rBdG|GHnd|j|<|r]dGHntr–|rqdGHn|jjƒ}|jƒ\}}|r dGHnd|j|<|r»dGHnx.y|jƒ\}}Wq¾tk rèPq¾Xq¾|rúd GHnt |jƒ}|rd GHnxk|r„yG|r1d GHn|jƒ}|rKd GHnd |j|<|rfdGHnWqtk r€d}qXqW|r–dGHq–n|j |jjƒd|j ƒ|jjƒd}|j ||j ƒd|j|<|j |j|dƒdS(NtAtBs0deadlock. do not pass go. do not collect $200.tCtDtEsplease don't deadlocktFtF2tGtHtIsdeadlocks-r-ustJtKisbe gone with ye deadlocks(tsyststdouttflushRRMtTrueRR:R;R9R!R+RRU(RtdebugRRRP((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest__no_deadlock_firstÎs`             cCs§t|jjƒ}|jjƒ}t|jjƒ}|jƒ\}}t|jjƒ}~t|jjƒ}|j||ƒ|j||ƒ|j||dkƒdS(Ni(R(Rt _cursor_refsRR:R&RU(Rtnc1RPtnc2RRtnc3tnc4((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_for_cursor_memleakscCs~|jjƒ\}}|j||jƒ|j||jjƒƒ|j||jƒ|jt|jƒdt|jƒƒdS(Ni(RtpopitemR+RR-R[R&R((RRR((s+/usr/local/lib/python2.7/test/test_bsddb.pyt test_popitems cCs…d}|jj|ƒ}|j||j|ƒ|j||jƒ|j||jjƒƒ|jt|jƒdt|jƒƒdS(NR i(RtpopR&RR[R-R((RRR((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_pops cCse|j|jjdƒdƒ|j|jjddƒdƒ|j|jjddƒ|jdƒdS(NtNotHeretDefaultR(R&RtgetR!R(R((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_get#scCsI|j|jjddƒdƒ|j|jjddƒ|jdƒdS(NtnewtdogRtcat(R&Rt setdefaultR(R((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_setdefault(scCsvtddddddƒ}|jj|ƒ|jj|ƒx4|jjƒD]#\}}|j|j||ƒqKWdS(NRtlifetutofRPtbrian(RRtupdateRRR&(RRRR((s+/usr/local/lib/python2.7/test/test_bsddb.pyt test_update,s cCsÔ|j|jdtjƒ|jjƒ}|jƒ|j|jj ƒd|dƒ|j|jj ƒd|dƒ|j|jj ƒd|dƒ|j|jj ƒd|dƒ|jt |jƒ|ƒdS(Niiiÿÿÿÿiþÿÿÿ(tassertIsRRtbtopenRR,tsortR&RRMR:RRRStlist(RR,((s+/usr/local/lib/python2.7/test/test_bsddb.pyttest_keyordering3s !!!!(t__name__t __module__RRR%R'R)R.R0R4R8R@RGRKRLRQRTRWRXRZR\R^R`RrRxRzR|R€R…R‹R(((s+/usr/local/lib/python2.7/test/test_bsddb.pyRs:                   4      t TestBTreecBseZejZejgZRS((R‘R’RtTESTFNRRRR(((s+/usr/local/lib/python2.7/test/test_bsddb.pyR“=s tTestBTree_InMemorycBs eZdZejgZdZRS(N(R‘R’R!RRRRR0(((s+/usr/local/lib/python2.7/test/test_bsddb.pyR•As tTestBTree_InMemory_TruncatecBs&eZdZdZejgZdZRS(tnN( R‘R’R!RRRRRR0(((s+/usr/local/lib/python2.7/test/test_bsddb.pyR–Hs t TestHashTablecBs#eZejZejgZdZ RS(N( R‘R’RR”RRthashopenRR!R(((s+/usr/local/lib/python2.7/test/test_bsddb.pyR˜Ps  tTestHashTable_InMemorycBs&eZdZejgZdZdZRS(N( R‘R’R!RRR™RR0R(((s+/usr/local/lib/python2.7/test/test_bsddb.pyRšWs cCstjtttttƒdS(N(Rt run_unittestR“R˜R•RšR–(tverbose((s+/usr/local/lib/python2.7/test/test_bsddb.pyt test_maines t__main__Rœ(t__doc__R"RmtunittestttestRt import_moduleRpRtTestCaseRR“R•R–R˜RšR!RR‘(((s+/usr/local/lib/python2.7/test/test_bsddb.pyts   ÿ.