nQc@smdZddlZddlZddlZddlZddlmZddlZddlmZm Z m Z m Z m Z m Z i7dd6dd 6dd6dd6dd6dd6dd6dd6dd!6dd$6dd'6dd*6dd-6dd06dd36dd66dd96dd<6dd>6dd@6ddB6ddD6ddG6ddI6ddK6ddM6ddO6ddQ6ddS6ddU6ddW6dd[6dd]6dd_6dda6ddc6dde6ddh6ddj6ddn6ddp6ddr6ddu6ddw6ddy6dd|6dd6dd6dd6dd6dd6dd6dd6dd6dd6ZdejfdYZdejfdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdefdYZdZedkriej ddndS(s TestCases for DB.associate. iN(tpprint(tdbtdbshelvet test_supporttverboset have_threadstget_new_environment_paths Bad EnglishsThe Price Of LovetRockisDNA featuring Suzanne Vegas Tom's DinerisGeorge MichaelsPraying For TimeisGloria Estefans Here We AreisLinda RonstadtsDon't Know MuchisMichael Boltons%How Am I Supposed To Live Without YoutBluesis Paul YoungsOh Girlis Paula AbdulsOpposites Attractis Richard MarxsShould've Known Betteri s Rod Stewarts Forever Youngi tRoxettet Dangerousi s Sheena EastonsThe Lover In Mei sSinead O'ConnorsNothing Compares 2 Ui s Stevie B.sBecause I Love Youis Taylor DaynesLove Will Lead You Backis The Bangless Eternal FlameisWilson Phillipss Release Meis Billy JoelsBlonde Over BlueisFamous Last WordsisLullabye (Goodnight, My Angel)isThe River Of DreamsisTwo Thousand Yearsis Janet JacksontAlrightis Black CatisCome Back To MeitEscapadeis Love Will Never Do (Without You)is Miss You Muchis Rhythm NationisState Of The Worldis The Knowledgeis Spyro GyrasEnd of RomanticismtJazzi t Heliopolisi!tJubileei"s Little Lindai#s Morning Dancei$sSong for Lorrainei%tYessOwner Of A Lonely Hearti&sRhythm Of Lovei'tCuscos Dream CatchersNew Agei(sGeronimos Laughteri)s Ghost Dancei*sBlue Man GrouptDrumbonei+sEndless Columni,sKlein Mandelbroti-sKenny Gt Silhouettei.tSadesSmooth Operatori/sDavid Arkenstones(Papillon (On The Wings Of The Butterfly)i0sStepping Starsi1sCarnation Lily Lily Rosei2s David LanzsBehind The Waterfalli3sCristofori's Dreami4t Heartsoundsi5sLeaves on the Seinei6sunknown artists Unnamed songtUnknownictAssociateErrorTestCasecBs#eZdZdZdZRS(cCsR|jjd|_t|_tj|_|jj|jtj tj BdS(Ns.db( t __class__t__name__tfilenameRthomeDirRtDBEnvtenvtopent DB_CREATEt DB_INIT_MPOOL(tself((s//sys/lib/python2.7/bsddb/test/test_associate.pytsetUpOs cCs*|jjd|_tj|jdS(N(RtclosetNoneRtrmtreeR(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyttearDownUs  cCstr%dGddGHd|jjGHntj|j}|jtj|j|j dtj tj tj|j}|j|j dtj tj yd}|j ||Wn(tj k r|j|jn"X|j|j|jddS( Ns s-=is%Running %s.test00_associateDBError...tprimaryt secondarycSs||S(N((tatb((s//sys/lib/python2.7/bsddb/test/test_associate.pytfjssDBError exception was expected(RRRRtDBRt set_flagstDB_DUPRRtDB_BTREERt associatetDBErrorR#tfail(R!tdupDBtsecDBR+((s//sys/lib/python2.7/bsddb/test/test_associate.pyttest00_associateDBErrorZs$     (Rt __module__R"R&R5(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRNs  tAssociateTestCasecBseZdZdZdZdZdZddZddZ dZ dZ dZ d Z d Zd ZejdkrdZdZnddZdZdZRS(ticCsg|jjd|_t|_tj|_|jj|jtj tj Btj Btj B|j BdS(Ns.db(RRRRRRRRRRR t DB_INIT_LOCKt DB_THREADtenvFlags(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyR"s  cCs4|j|jjd|_tj|jdS(N(tcloseDBRR#R$RR%R(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyR&s   cCshxatjD]S\}}t|jtdkrAd|}n|j|dj|d|q WdS(NR8s%02dt|ttxn(t musicdatatitemsttypetkeytypetputtjoin(R!tdR>tkeytvalue((s//sys/lib/python2.7/bsddb/test/test_associate.pyt addDataToDBs cCsqd|_d|_tj|j|_|jjd|jj|j d|j tj tj B|j Bd|dS(NiR'R>(R$tcurR4RR,RR'tset_get_returns_noneRRtdbtypeRR:tdbFlags(R!R>((s//sys/lib/python2.7/bsddb/test/test_associate.pytcreateDBs   cCs^|jr"|jjd|_n|jrD|jjd|_n|jjd|_dS(N(RIR#R$R4R'(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyR<s       cCs|jS(N(R'(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pytgetDBscCs|jtj|j|_|jjtj|jjd|jj|j dtj tj tj B|j B|jj|j||j|j|j|jdS(NiR((RMRR,RR4R-R.RJRRR/RR:RLRNR0RHt finish_test(R!tgetGenre((s//sys/lib/python2.7/bsddb/test/test_associate.pyt_associateWithDBs cCs5tr%dGddGHd|jjGHn|j|jS(Ns s-=is$Running %s.test01_associateWithDB...(RRRRQRP(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyttest01_associateWithDBs  cCs|j|j|jtj|j|_|jjtj|jj |j dtj tj tj B|jB|jj|j|tj |j|jdS(NR((RMRHRNRR,RR4R-R.RRR/RR:RLR0RO(R!RP((s//sys/lib/python2.7/bsddb/test/test_associate.pyt_associateAfterDBs cCs5tr%dGddGHd|jjGHn|j|jS(Ns s-=is%Running %s.test02_associateAfterDB...(RRRRSRP(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyttest02_associateAfterDBs  iicCs5tr%dGddGHd|jjGHn|j|jS(Ns s-=is$Running %s.test03_associateWithDB...(RRRRQt getGenreList(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyttest03_associateWithDBs  cCs5tr%dGddGHd|jjGHn|j|jS(Ns s-=is%Running %s.test04_associateAfterDB...(RRRRSRU(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyttest04_associateAfterDBs  cCs|jdd|}|j|d||jdd|}|j|ddkp`|ddk||djd|djd|djd trd GHn|jj||_d}|jj }x|dk rvt |j t d kr|jt |dn-|j|doBt |dt dk|d}tr^|GHnt |jd }qW|j|tttrd GHn|j||_d}|jjddtj}|j|ddkp|ddk||j|dd|djd|djd|djd |jjddddtj}|j|d||jj }|j|ddx=|dk r|d}tr|GHnt |jd }qW|j|ttdd|_dS(NRR>Riict99itUnnamedtunknownsPrimary key traversal:R8tnextsSecondary key traversal:tflagsitdatas wrong valueR (tpgett assertEqualR$t assertTruetindexRRNtcursorRItfirstRARBtinttgetattrtlenR?RtDB_LASTt DB_GET_BOTH(R!R4R>tvalstcounttrec((s//sys/lib/python2.7/bsddb/test/test_associate.pyROsT*- *! cCsb|jt|td|jdd}trGd||fGHn|dkrZtjS|SdS(NR8R=isgetGenre key: %r data: %rR(R_RAtsplitRRt DB_DONOTINDEX(R!tpriKeytpriDatatgenre((s//sys/lib/python2.7/bsddb/test/test_associate.pyRPs cCs:|j||}t|tdkr6|g}n|S(NR8(RPRA(R!RntPriDatatv((s//sys/lib/python2.7/bsddb/test/test_associate.pyRU*s N(ii(RR6RBR;RLR"R&R$RHRMR<RNRQRRRSRTRtversionRVRWRORPRU(((s//sys/lib/python2.7/bsddb/test/test_associate.pyR7zs&           8 tAssociateHashTestCasecBseZejZRS((RR6RtDB_HASHRK(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRt4stAssociateBTreeTestCasecBseZejZRS((RR6RR/RK(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRv7stAssociateRecnoTestCasecBseZejZdZRS(i(RR6RtDB_RECNORKRB(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRw:s tAssociateBTreeTxnTestCasecBs)eZejZdZdZdZRS(icCsTz|j|d|Wd|jr<|jjd|_n|rO|jnXdS(NR>(RORIR#R$tcommit(R!tsDBR>((s//sys/lib/python2.7/bsddb/test/test_associate.pyttxn_finish_testDs   cCstr%dGddGHd|jjGHn|jj}y|jd|tj|j|_|jj tj |jj d|jj |j dtjtjtjBd||jj|j|jd||j|jd|Wn|jnX|j|jd|dS(Ns s-=is(Running %s.test13_associateAutoCommit...R>iR((RRRRt txn_beginRMRR,R4R-R.RJRRR/RR:RNR0RPRHtabortR|(R!R>((s//sys/lib/python2.7/bsddb/test/test_associate.pyttest13_associate_in_transactionNs$ " (RR6Rt DB_INIT_TXNR;RLR|R(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRy@s  tShelveAssociateTestCasecBs#eZdZdZdZRS(cCs1tj|jddd|jd|j|_dS(NtdbnameR'tdbenvtfiletype(RRRRRKR'(R!((s//sys/lib/python2.7/bsddb/test/test_associate.pyRMks cCsYxRtjD]D\}}t|jtdkrAd|}n|j||q WdS(NR8s%02d(R?R@RARBRC(R!RERFRG((s//sys/lib/python2.7/bsddb/test/test_associate.pyRHqs cCsY|jt|tdtr4d||fGHn|d}|dkrQtjS|SdS(NsgetGenre key: %r data: %riR((R_RARRRm(R!RnRoRp((s//sys/lib/python2.7/bsddb/test/test_associate.pyRPxs  (RR6RMRHRP(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRis  tShelveAssociateHashTestCasecBseZejZRS((RR6RRuRK(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRstShelveAssociateBTreeTestCasecBseZejZRS((RR6RR/RK(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRstShelveAssociateRecnoTestCasecBseZejZdZRS(i(RR6RRxRKRB(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRs tThreadedAssociateTestCasecBs#eZdZdZdZRS(cCs|td|jd|f}td|jd|f}|jt|jt|j|j|j|jdS(Nttargettargs(tThreadtwriter1twriter2t setDaemontTruetstartRD(R!REtt1tt2((s//sys/lib/python2.7/bsddb/test/test_associate.pyRHs       cCsbx[tjD]M\}}t|jtdkrAd|}n|j|dj|q WdS(NR8s%02dR=(R?R@RARBRCRD(R!RERFRG((s//sys/lib/python2.7/bsddb/test/test_associate.pyRs cCsNxGtddD]6}d|}|gd}|j|dj|qWdS(NidiXsz%2diR=(trangeRCRD(R!REtxRFRG((s//sys/lib/python2.7/bsddb/test/test_associate.pyRs  (RR6RHRR(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRs tThreadedAssociateHashTestCasecBseZejZRS((RR6RRuRK(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRstThreadedAssociateBTreeTestCasecBseZejZRS((RR6RR/RK(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRstThreadedAssociateRecnoTestCasecBseZejZdZRS(i(RR6RRxRKRB(((s//sys/lib/python2.7/bsddb/test/test_associate.pyRs cCs tj}|jtjt|jtjt|jtjt|jtjt|jtjt|jtjt |jtjt |jtjt t r|jtjt |jtjt|jtjtn|S(N(tunittestt TestSuitetaddTestt makeSuiteRRtRvRwRyRRRRRRR(tsuite((s//sys/lib/python2.7/bsddb/test/test_associate.pyt test_suites t__main__t defaultTestR(s Bad EnglishsThe Price Of LoveR(sDNA featuring Suzanne Vegas Tom's DinerR(sGeorge MichaelsPraying For TimeR(sGloria Estefans Here We AreR(sLinda RonstadtsDon't Know MuchR(sMichael Boltons%How Am I Supposed To Live Without YousBlues(s Paul YoungsOh GirlR(s Paula AbdulsOpposites AttractR(s Richard MarxsShould've Known BetterR(s Rod Stewarts Forever YoungR(R R R(s Sheena EastonsThe Lover In MeR(sSinead O'ConnorsNothing Compares 2 UR(s Stevie B.sBecause I Love YouR(s Taylor DaynesLove Will Lead You BackR(s The Bangless Eternal FlameR(sWilson Phillipss Release MeR(s Billy JoelsBlonde Over BlueR(s Billy JoelsFamous Last WordsR(s Billy JoelsLullabye (Goodnight, My Angel)R(s Billy JoelsThe River Of DreamsR(s Billy JoelsTwo Thousand YearsR(s Janet JacksonR R(s Janet Jacksons Black CatR(s Janet JacksonsCome Back To MeR(s Janet JacksonR R(s Janet Jacksons Love Will Never Do (Without You)R(s Janet Jacksons Miss You MuchR(s Janet Jacksons Rhythm NationR(s Janet JacksonsState Of The WorldR(s Janet Jacksons The KnowledgeR(s Spyro GyrasEnd of RomanticismsJazz(s Spyro GyraRsJazz(s Spyro GyraRsJazz(s Spyro Gyras Little LindasJazz(s Spyro Gyras Morning DancesJazz(s Spyro GyrasSong for LorrainesJazz(RsOwner Of A Lonely HeartR(RsRhythm Of LoveR(Rs Dream CatchersNew Age(RsGeronimos LaughtersNew Age(Rs Ghost DancesNew Age(sBlue Man GroupRsNew Age(sBlue Man GroupsEndless ColumnsNew Age(sBlue Man GroupsKlein MandelbrotsNew Age(sKenny GRsJazz(RsSmooth OperatorsJazz(sDavid Arkenstones(Papillon (On The Wings Of The Butterfly)sNew Age(sDavid ArkenstonesStepping StarssNew Age(sDavid ArkenstonesCarnation Lily Lily RosesNew Age(s David LanzsBehind The WaterfallsNew Age(s David LanzsCristofori's DreamsNew Age(s David LanzRsNew Age(s David LanzsLeaves on the SeinesNew Age(sunknown artists Unnamed songsUnknown(!t__doc__tsystoststringttimeRRttest_allRRRRRRR?tTestCaseRR7RtRvRwRyRRRRRRRRRRtmain(((s//sys/lib/python2.7/bsddb/test/test_associate.pyts$  . ,)