/usr/lib/python2.6/site-packages/repoze/lru
NameSizeModeActions
tests.py236470644editdlrm
tests.pyc211860644editdlrm
__init__.py130570644editdlrm
__init__.pyc104950644editdlrm
Edit: /usr/lib/python2.6/site-packages/repoze/lru/tests.pyc (21186B)
Ñò DVc @sÈddkZddkZddkZy eZWnej onXdeifd„ƒYZdefd„ƒYZdeifd„ƒYZ de fd „ƒYZ d eifd „ƒYZ d „Z dS( iÿÿÿÿNt LRUCacheTestscBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cCsddkl}|S(Niÿÿÿÿ(tLRUCache(t repoze.lruR(tselfR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyt_getTargetClass scCs¤|i|it|iƒjƒ|i|idjƒ|i|i|idƒ|it|iƒ|iƒ|it|iƒt|iƒƒ|it|iƒt|iƒjƒx·|ii ƒD]¦\}}|\}}|it |ƒt dƒjpt |ƒt dƒjƒ|i|djƒ|i||ijƒ|i|}|i||jƒ|i|}qÂWx1|iD]&}|i|t jp |t jƒqvWdS(s9Return if cache is consistent, else raise fail test case.iii*ii€Nl ( t assertTruethandtlent clock_keyst assertEqualtmaxpostsizet clock_refstdatatitemsttypetTruetFalse(Rtcachetkeytvaluetpostvalt clock_keyt clock_ref((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pytcheck_cache_is_consistents("%    cCs|iƒ|ƒS(N(R(RR ((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyt_makeOne0scCs|it|idƒdS(Ni(t assertRaisest ValueErrorR(R((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_size_lessthan_13scCsô|idƒ}|i|idƒdƒ|i|idƒdƒ|i|idƒdƒ|i|idƒdƒ|i|idƒdƒ|i|itƒƒdƒ|i|iddƒdƒ|i|idddƒdƒ|i|ƒdS(Nitfooi*ttbartdefault(Ri*(RR tgettNonetobjectR(RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_get6scCsŽ|idƒ}|i|ƒ|iddƒ|iddƒ|iddƒ|iddƒ|idd ƒ|id d ƒtƒ}|i|d ƒ|i|ƒ|i|idƒdƒ|i|idƒdƒ|i|iddƒdƒ|i|idƒdƒ|i|idƒd ƒ|i|id ƒd ƒ|i|i|ƒd ƒ|idd ƒ|i|idƒd ƒ|i|ƒdS(NiRtFOOi*tfortytwot tuple_as_keyt None_as_keyRtempty_string_as_keygTã¥›Ä @t float_as_keyt object_as_keysfortytwo again(sfooi*(sfooi*(RRtputR#R$R R"(RRt my_object((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_putEs*   cCs:|idƒ}|iddƒ|iddƒ|idƒ|i|idƒdƒ|i|idƒdƒ|i|ƒ|idƒ|i|idƒdƒ|i|idƒdƒ|i|ihƒ|i|ƒ|iddƒ|idƒ|i|idƒdƒ|i|idƒdƒ|i|ƒdS(NiRR R&tBARtnonexistingkey(RR-t invalidateR R"R#RR (RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_invalidatebs"     cCs¥|idƒ}|iddƒ|i|idƒdƒ|i|ƒ|iddƒ|i|idƒdƒ|i|idƒdƒ|i|ƒ|iddƒ|i|idƒdƒ|i|idƒdƒ|i|ƒ|idƒ|i|ƒ|i|idƒdƒ|i|idƒdƒ|iddƒ|i|idƒdƒ|iƒ|i|ƒ|i|idƒdƒ|i|idƒdƒdS(sCache of size 1 must workiRR R&R0N(RR-R R"RR#R2tclear(RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_small_cachexs,       cCsÌ|idƒ}d}d}|i|dƒ|i|i|ƒdƒ|i|i|ƒdƒ|i|ƒ|idƒ}|i|dƒ|i|ƒ|i|i|ƒdƒ|i|i|ƒdƒdS(s5equal but not identical keys must be treated the sameii*N(ii(ii(RR-R R"RR2R#(RRt tuple_onet tuple_two((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_equal_but_not_identical™s  cCséd}|i|ƒ}x(t|ƒD]}|i|d|ƒq"WxotdƒD]a}tid|dƒ}tidƒo!|i|i|ƒd|ƒqM|i|d|ƒqMW|i|idƒ|i|i dƒ|i |ƒdS(s<If cache size equals number of items, expect 100% cache hitsièsitem%si'iiN( RtrangeR-trandomt randranget getrandbitsR R"tmissest evictionsR(RR Rtcounttcache_optitem((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_perfect_hitrateªs  !c CsÌd}|i|dƒ}x(t|ƒD]}|i|d|ƒq&Wd}d}d}x´tdƒD]¦}tid|dƒ}tidƒof|i|ƒ} |d7}|i| d|jp | d jƒ| d jo|d7}q |d7}qc|i|d|ƒqcW|t |ƒd} |i| djƒ|i| d jƒd|i |i } |i| djƒ|i| d jƒd|i |i } |i| djƒ|i| d jƒ|i |ƒd S( s:If cache size == half the number of items -> hit rate ~50%ièisitem%sii'iidi-i7N(RR9R-R:R;R<R"RR#tfloatthitstlookupsR=R( RR RR?RDR=t total_getsR@RAtentryt hit_ratiotinternal_hit_ratiotinternal_miss_ratio((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_imperfect_hitrate¾s>     cCsÉ|idƒ}|iddƒ|iddƒ|i|idƒ|iddƒ|iddƒ|i|idƒ|iddƒ|iddƒ|i|idƒ|iƒ|i|idƒdS(Niiiii(RR-R R>R4(RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_eviction_counterés cCsO|idƒ}|i|idƒdƒ|iddƒ|iidƒ\}}|i|i|tƒ|i|i|dƒ|i|dƒ|i|idƒdƒ|i|i |dƒ|iidƒ\}}|i|i|tƒ|i|i |dƒ|it |iƒdƒ|iddƒ|iidƒ\}}|i|i|tƒ|i|i|dƒ|it |iƒdƒ|idd ƒ|iidƒ\}}|i|i|tƒ|i|i|dƒ|it |iƒdƒ|iidƒ\}}|i|i|tƒ|idƒ|id d ƒ|it |iƒdƒ|i|iidƒdƒ|id d ƒ|it |iƒdƒ|i|iidƒdƒ|i|id ƒd ƒ|i|id ƒd ƒ|i|idƒdƒ|i|idƒdƒ|i|idƒd ƒ|i |ƒdS(Nitat1itbt2itct3tdt4tet5( RR R"R#R-R R RRRRR(RRRR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_itûsL (t__name__t __module__RRRRR%R/R3R5R8RBRKRLRW(((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR s        !   + tExpiringLRUCacheTestscBsJeZd„Zdd„Zd„Zd„Zd„Zd„Zd„Z RS(cCsddkl}|S(Niÿÿÿÿ(tExpiringLRUCache(RR[(RR[((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR3scCs8|djo|iƒ|ƒS|iƒ|d|ƒSdS(Ntdefault_timeout(R#R(RR R\((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR7s c CsÆ|i|it|iƒjƒ|i|idjƒ|i|i|idƒ|it|iƒ|iƒ|it|iƒt|iƒƒ|it|iƒt|iƒjƒxÙ|ii ƒD]È\}}|\}}}|it |ƒt dƒjpt |ƒt dƒjƒ|i|djƒ|i||ijƒ|i|}|i||jƒ|i|}|it |ƒt dƒjƒqÂWx1|iD]&}|i|t jp |t jƒq˜WdS( sºReturn if cache is consistent, else raise fail test case. This is slightly different for ExpiringLRUCache since self.data contains 3-tuples instead of 2-tuples. iii*ii€gTã¥›Ä @Nl ( RRRRR R R R R RRRR( RRRRRRttimeoutRR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR=s("% 2  # cCs^|idƒ}|i|idƒdƒ|iddƒ|iidƒ\}}}|i|i|tƒ|i|i|dƒ|i|dƒ|i|idƒdƒ|i|i |dƒ|iidƒ\}}}|i|i|tƒ|i|i |dƒ|it |iƒdƒ|iddƒ|iidƒ\}}}|i|i|tƒ|i|i|dƒ|it |iƒdƒ|idd ƒ|iidƒ\}}}|i|i|tƒ|i|i|dƒ|it |iƒdƒ|iidƒ\}}}|i|i|tƒ|idƒ|id d ƒ|it |iƒdƒ|i|iidƒdƒ|id d ƒ|it |iƒdƒ|i|iidƒdƒ|i|id ƒd ƒ|i|id ƒd ƒ|i|idƒdƒ|i|idƒdƒ|i|idƒd ƒ|i |ƒdS(spTest a sequence of operations Looks at internal data, which is different for ExpiringLRUCache. iRMRNiRORPiRQRRRSRTRURVN( RR R"R#R-R R RRRRR(RRRRtexpires((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRWasL cCs|idƒ}|iddƒtidƒ|iddƒ|i|idƒdƒ|i|idƒdƒ|i|ƒ|idddƒ}|iddƒtidƒ|iddƒ|i|idƒdƒ|i|idƒdƒ|i|ƒdS( s5Default timeout provided at init time must be appliediRR gš™™™™™¹?R&R0R\N(RR-ttimetsleepR R"RR#(RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_default_timeoutšs   cCsµ|idddƒ}|iddƒ|idddd ƒ|id ddd ƒ|i|idƒdƒ|i|idƒdƒ|i|id ƒdƒtidƒ|i|idƒd ƒ|i|idƒdƒ|i|id ƒdƒtidƒ|i|idƒd ƒ|i|idƒd ƒ|i|id ƒdƒtidƒ|i|idƒd ƒ|i|idƒd ƒ|i|id ƒd ƒ|i|ƒd S( s>Timeouts must be per entry, default applied when none providediR\gš™™™™™¹?toneittwoiR]gš™™™™™É?tthreeg333333Ó?N(RR-R R"R_R`R#R(RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_different_timeouts°s(   cCsU|idddƒ}|iddƒ|idddd ƒ|id d dd ƒtid ƒ|i|idƒdƒ|i|idƒdƒ|i|id ƒd ƒ|i|ƒ|iddƒ|idddd ƒ|id d ƒtid ƒ|i|idƒdƒ|i|idƒd ƒ|i|id ƒd ƒ|i|ƒd S(s'Re-putting an entry must update timeoutiR\gš™™™™™É?RR tfoo2tbar2R]i tfoo3tbar3gš™™™™™¹?N(RR-R_R`R R"RR#(RR((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_renew_timeoutÑs"   N( RXRYRR#RRRWRaReRj(((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRZ1s   $ 9  !tDecoratorTestscBsAeZd„Zdd„Zd„Zd„Zd„Zd„ZRS(cCsddkl}|S(Niÿÿÿÿ(t lru_cache(RRl(RRl((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRïscCs|iƒ|d|d|ƒS(NR]R(R(RtmaxsizeRR]((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRóscCs,|iddƒ}|i|iidƒdS(Ni (RR#R RR (Rt decorator((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_ctor_nocacheöscCstƒ}|id|ƒ}d„}||ƒ}|dƒ}|i|ddƒ|i|dƒ|it|ƒdƒ|dƒ}|i|ddƒ|i|dƒ|it|ƒdƒ|dƒ}|i|ddƒ|i|dƒ|it|ƒdƒdS(NicSs|S(N((R((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pytwrappedýsii(i(i(i(t DummyLRUCacheRR R(RRRnRpt decoratedtresult((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_singleargús       cCs€tƒ}|id|ƒ}d„}||ƒ}|dddƒ}|i|ddƒ|i|d ƒ|it|ƒdƒdS( NicWs|S(N((targs((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pytmoreargssiiii(iii(iii(iii(RqRR R(RRRnRvRrRs((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_multiargs s   cCs|iddddƒd„ƒ}tiƒ}|dƒ}tiƒ}|i|dƒ|i||djƒtiƒ}|dƒ}tiƒ}|i|d ƒ|i||djƒtidƒtiƒ}|dƒ}tiƒ}|i|d ƒ|i||djƒdS( s?When timeout is given, decorator must eventually forget entriesiR]gš™™™™™¹?cSstidƒd|S(Ngš™™™™™¹?i(R_R`(tparam((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyt sleep_a_bits thelloiNt hellohelloR{R{(RR#R_R RR`(RRytstarttresult1tstoptresult2tresult3((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyt test_expirys"!          N( RXRYRR#RRoRtRwR(((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRkís      RqcBseZd„ZRS(cCs|i||ƒS(N(t __setitem__(Rtktv((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR-8s(RXRYR-(((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRq6st CacherMakercBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(cCsddkl}|S(Niÿÿÿÿ(t CacheMaker(RR†(RR†((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR>scOs|iƒ||ŽS(N(R(RRutkw((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRBscCsª|iƒ}d}d}|id|d|ƒtƒ}|it|iiƒƒ|gƒ|i|i|i|ƒ|dƒ|dƒ|it|i|i ƒdƒdS(Ni tnameRmi i( Rtlrucachet_adderR tlistt_cachetkeysR RR (RtmakerR RˆRr((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_named_cacheEs "  cCsl|iƒ}d}d}|id|d|ƒtƒ}|it|id|d|ƒ|it|iƒdS(Ni RˆRm(RR‰RŠRtKeyErrorR(RRŽR RˆRr((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_exceptionPs  cCsþd}|id|ƒ}x0tdƒD]"}|iƒtƒ}|dƒq%W|it|iƒdƒxC|iiƒD]2}|i|i|ƒ|it|i ƒdƒqtW|i ƒxC|iiƒD]2}|i|i|ƒ|it|i ƒdƒqÄWdS(Ni Rmidii( RR9R‰RŠR RRŒtvaluesR R R4(RR RŽtiRrRŒ((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_defaultvalue_and_clearXs   cCs|iddƒ}|iddƒtƒ}|iddƒtƒ}x,tdƒD]}||ƒ}||ƒ}qOW|it|idiƒdƒ|it|idiƒdƒ|idƒ|it|idiƒdƒ|it|idiƒdƒdS(NRmi RˆRbRcidi( RR‰RŠR9R RRŒR R4(RRŽRbRcR“t_((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_clear_with_single_nameis      cCsi|iddƒ}|iddƒtƒ}|iddƒtƒ}|iddƒtƒ}x8tdƒD]*}||ƒ}||ƒ}||ƒ}qgW|it|idiƒdƒ|it|idiƒdƒ|it|idiƒdƒ|iddƒ|it|idiƒdƒ|it|idiƒdƒ|it|idiƒdƒdS( NRmi RˆRbRcRdidi( RR‰RŠR9R RRŒR R4(RRŽRbRcRdR“R•((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyttest_clear_with_multiple_namesvs         cCs`d}d}d}|id|d|ƒ}xmtdƒD]_}|p6|id|ƒtƒ}|i|i|i|ƒn|iƒtƒ}|dƒq7W|it|iƒdƒxV|iiƒD]E}|i|i|ƒ|i|i |ƒ|it|i ƒdƒqÃW|i ƒxC|iiƒD]2}|i|i|ƒ|it|i ƒdƒq&WdS(Ni RˆRmR]idii( RR9texpiring_lrucacheRŠR RŒR RR’R\R R4(RR R]RˆRR“RrRŒ((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyt test_expiring‡s,  ( RXRYRRRR‘R”R–R—R™(((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyR…<s     cCs|dS(Ni ((tx((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyRŠŸs(R:R_tunittesttxrangeR9t NameErrortTestCaseRRZRktdictRqR…RŠ(((s4/usr/lib/python2.6/site-packages/repoze/lru/tests.pyts    ÿ'¼Ic