-í Û„?csÐdZdklZdkZdkZdkZdkZdklZdei fd„ƒYZ dei fd„ƒYZ de fd „ƒYZ d e fd „ƒYZ d „Zed joeiddƒndS(sTest suite for the ZEO.ClientCache module. At times, we do 'white box' testing, i.e. we know about the internals of the ClientCache object. (s nested_scopesN(s ClientCachesClientCacheTestscs˜tZdZdZdZd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zd„Zd„Zd„Zd„ZRS(Nsabcdefghsbcdefghiscdefghijcs7ddd|_td|iƒ|_|iiƒdS(Ni ièssize(sselfs cachesizes ClientCachescachesopen(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pyssetUp"scs|iiƒdS(N(sselfscachesclose(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystearDown'scsdS(N((sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys testOpenClose*scsj|i}|i}dd}d}|i|||dddƒ|i|dƒ}|i |||fƒdS(Ns1234idsABCDEFGHs( sselfscaches_oidsoidsdatasserialsstoresloadsloadeds assertEqual(sselfsoidsloadedscachesdatasserial((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys testStoreLoad-s   csd|i}|i}dd}d}|i|||dddƒ|iddƒ}|i |t ƒdS(Ns1234idsABCDEFGHssgarbage1( sselfscaches_oidsoidsdatasserialsstoresloadsloadeds assertEqualsNone(sselfsoidsloadedscachesdatasserial((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestMissingLoad6s   csœ|i}|i}dd}d}|i|||dddƒ|i|dƒ}|i |||fƒ|i |dƒ|i|dƒ}|i |t ƒdS(Ns1234idsABCDEFGHs( sselfscaches_oidsoidsdatasserialsstoresloadsloadeds assertEquals invalidatesNone(sselfsoidsloadedscachesdatasserial((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestInvalidate?s   c s¨|i}|i}dd}d}d}dd}d}|i ||||||ƒ|i |dƒ}|i |||fƒ|i ||ƒ} |i | ||fƒdS( Ns1234idsABCDEFGHs myversions5678iÈsIJKLMNOPs(sselfscaches_oidsoidsdatasserialsvnamesvdatasvserialsstoresloadsloadeds assertEqualsvloaded( sselfsoidsvserialsvnamesvdatasloadedscachesdatasserialsvloaded((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys testVersionKs    c sž|i}|i}d} d}d}dd}d}|i || ||||ƒ|i |dƒ}|i |t ƒ|i ||ƒ}|i |||fƒdS(Nss myversions5678iÈsIJKLMNOP(sselfscaches_oidsoidsdatasserialsvnamesvdatasvserialsstoresloadsloadeds assertEqualsNonesvloaded( sselfsvdatasvnamesoidsvloadedscachesvserialsloadedsserialsdata((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestVersionOnlyYs   c sü|i}|i}dd} d}d}dd}d}|i || ||||ƒ|i |dƒ}|i || |fƒ|i ||ƒ}|i |||fƒ|i|dƒ|i |dƒ}|i |tƒ|i ||ƒ}|i |tƒdS( Ns1234idsABCDEFGHs myversions5678iÈsIJKLMNOPs(sselfscaches_oidsoidsdatasserialsvnamesvdatasvserialsstoresloadsloadeds assertEqualsvloadeds invalidatesNone( sselfsvdatasvnamesoidsvloadedscachesvserialsloadedsserialsdata((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestInvalidateNonVersiongs"    cs¢|i}|i}dd}d}|i|||dddƒ|i|dƒ}|i |||fƒ|i |dƒ|i|dƒ}|i |||fƒdS(Ns1234idsABCDEFGHssbogus( sselfscaches_oidsoidsdatasserialsstoresloadsloadeds assertEquals invalidate(sselfsoidsloadedscachesdatasserial((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestInvalidateVersion{s   cs |i}g‰‡d†}|i|ƒ|iˆgƒ|i}dd}d}|i |||dddƒg‰|i|ƒ|iˆ||t fgƒdS(Ncsˆi|||fƒdS(N(sresultssappendsoidsserialsvserial(soidsserialsvserial(sresults(sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pysverifierŒss1234idsABCDEFGHs( sselfscachesresultssverifiersverifys assertEquals_oidsoidsdatasserialsstoresNone(sselfsverifiersoidscachesdatasresultssserial((sresultssA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys testVerify‰s      cs×|i}|i}dd}d}|i|||dddƒ|id|iƒ|i }dd}d}|i|||dddƒ|id|iƒ|i |ii|ƒtƒ|i|ii|ƒtƒdS(Ns1234idsABCDEFGHsi sABCDEFGZ(sselfscaches_oidsoidsdatasserialsstores checkSizes cachesizes_oid2soid2sdata2sserial2sassertNotEquals_indexsgetsNones assertEqual(sselfsserial2soidscachesdatasserialsoid2sdata2((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys testCheckSize˜s     cs3|i}|i}dd} d}|i} dd}d}d}d} d d }d }|i} d d } d}|i|| |dddƒ|i| |||||ƒ|i| | |dddƒ|it|ii|ƒj o djnƒ|it|ii| ƒj o djnƒ|it|ii| ƒj o djnƒ|i|i|dƒ| |fƒ|i|i| dƒ||fƒ|i|i| | ƒ||fƒ|i|i| |ƒ||fƒ|i|i| dƒ| |fƒ|it|ii|ƒj o djnƒ|it|ii| ƒj o djnƒ|it|ii| ƒj o djnƒ|id|iƒ|i|i|dƒ| |fƒ|i|i| |ƒ||fƒ|i|i| | ƒ||fƒ|i|i| dƒ||fƒ|it|ii|ƒj o djnƒ|it|ii| ƒj o djnƒ|it|ii| ƒj o djnƒ|id|iƒ|i|i|dƒ| |fƒ|i|i| | ƒ||fƒ|i|i| |ƒ||fƒ|i|i| dƒ||fƒ|it|ii|ƒj o djnƒ|it|ii| ƒj o djnƒ|it|ii| ƒjƒ|i| | ƒ|i|i| dƒ||fƒ|i|i| | ƒtƒ|i|i| |ƒtƒ|id|iƒ|i|i|dƒ| |fƒ|i|i| |ƒtƒ|i|i| | ƒtƒ|i|i| dƒ||fƒ|it|ii|ƒj o djnƒ|it|ii| ƒj o djnƒdS(Ns1234idsABCDEFGHs2345iÈsBCDEFGHIs myversionsnadas5432iúsIHGFEDCBs3456i,sCDEFGHIJsii (sselfscaches_oidsoid1sdata1sserial1s_oid2soid2sdata2sserial2sversion2s nonversionsvdata2svserial2s_oid3soid3sdata3sserial3sstoresassert_sNones_indexsgets assertEqualsloads checkSizes cachesizes invalidate(sselfsserial3sserial2sserial1sversion2svdata2scachesvserial2soid1soid2soid3s nonversionsdata1sdata3sdata2((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestCopyToCurrent©sn        000"""""000""""000""""00"""0csÌ|i}|i|iƒtjƒd}|i|ƒ|i|iƒ|ƒ|id|i ƒ|i|iƒ|ƒ|itƒ|i|iƒtjƒ|id|i ƒ|i|iƒtjƒdS(Nspqrstuvwi ( sselfscaches failUnlesss getLastTidsNonesltids setLastTids assertEquals checkSizes cachesize(sselfsltidscache((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys testLastTid s   (s__name__s __module__s_oids_oid2s_oid3ssetUpstearDowns testOpenCloses testStoreLoadstestMissingLoadstestInvalidates testVersionstestVersionOnlystestInvalidateNonVersionstestInvalidateVersions testVerifys testCheckSizestestCopyToCurrents testLastTid(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pysClientCacheTestss"          asPersistentClientCacheTestscsbtZdZdZdZd„Zd„Zd„Zd„Zd„Z d „Z d „Z d „Z RS( NsabcdefghsbcdefghiscdefghijcsÅtiƒ|_ddd|_d|_d|_d|i|if}d|i|if}xV||fD]H}ti i |i|ƒ}yti |ƒWnti j onXqkW|iƒdS(Ni ièsfoostests c%s-%s-0.zecs c%s-%s-1.zec(sossgetcwdsselfsvardirs cachesizes storagenames clientnamesfn0sfn1sfnspathsjoinsunlinkserrors openCache(sselfsfnsfn1sfn0((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pyssetUps    c sAtd|id|id|id|iƒ|_|iiƒdS(Nsstoragessizesclientsvar(s ClientCachesselfs storagenames cachesizes clientnamesvardirscachesopen(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys openCache-s    cs"|iiƒ|iƒ|iSdS(N(sselfscachescloses openCache(sself((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys reopenCache4s  csc|iiƒxO|iiD]A}|tj o.yti|ƒWntij onXnqWdS(N( sselfscachescloses_psfilenamesNonesossunlinkserror(sselfsfilename((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystearDown9s   cs|i}|i|idƒ|i}d}d}|i|||dddƒ|i |ƒ|i d|i ƒ|i|idƒd}d}|i|||dddƒ|i |ƒ|i ƒ}|i |dƒ}|i|||fƒ|i|idƒdS( Nis1234sABCDEFGHsi is123sABCDEFGZ(sselfscaches assertEquals_currents_oidsoidsdatasserialsstores setLastTids checkSizes cachesizes reopenCachesloadsloaded(sselfsoidsloadedscachesdatasserial((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestCacheFileSelectionBs"     csí|i}tdƒdd>}|i}|i}d|}d}|i|||dddƒ|i |dƒ}|i |||fƒ|i |dƒ|i ƒ}|i |dƒ}|tjo+|idt|dƒt|ƒfƒndS( Nsiiis!sABCDEFGHss-invalidated data resurrected, size %d, was %di(sselfscachesords magicsizes_oidsoidsdatasserialsstoresloadsloadeds assertEquals invalidates reopenCachesNonesfailslen(sselfsoidsloadedscachesdatasserials magicsize((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestInvalidationPersists[s      cs5|i}|i|iƒtjƒd}|i|ƒ|i|iƒ|ƒ|i}d}d}|i |||dddƒ|i|iƒ|ƒ|i d|iƒ|i|iƒ|ƒ|iƒ}|i|iƒ|ƒ|itƒ|i|iƒtjƒ|i d|iƒ|i|iƒtjƒdS(Nspqrstuvws1234sABCDEFGHsi (sselfscaches failUnlesss getLastTidsNonesltids setLastTids assertEquals_oidsoidsdatasserialsstores checkSizes cachesizes reopenCache(sselfscachesltidsdatasserialsoid((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pystestPersistentLastTidqs$     c sd}d}d}d}d}|ii|i|||||ƒ|ii d|i ƒx„ddfD]v}xmd ||f|||fgD]M\}} }|ii|i|ƒ\} } |i| | ƒ|i| |ƒq‰WqdW|ii|id d d d d ƒ|ii d|i ƒ|ii|id ƒ|ii|id d d d d ƒ|ii d|i ƒ|ii|id ƒx„ddfD]v}xmd ||f|||fgD]M\}} }|ii|i|ƒ\} } |i| | ƒ|i| |ƒq®Wq‰WdS(Ns9Mend your speech a little, lest it may mar your fortunes.s12345678sfolios:Mend your speech a little, lest you may mar your fortunes.s12346789i iissfoosbars23456789s34567890(snvdatasnvserialsversionsvdatasvserialsselfscachesstores_oids checkSizes cachesizesisxversionsxdatasxserialsloadsdatasserials assertEquals_oid2s_oid3( sselfsnvserialsvdatasxversionsxserialsisnvdatasversionsvserialsserialsdatasxdata((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys+testLoadNonversionWithVersionInFlippedCache…s6" "" ( s__name__s __module__s_oids_oid2s_oid3ssetUps openCaches reopenCachestearDownstestCacheFileSelectionstestInvalidationPersistsstestPersistentLastTids+testLoadNonversionWithVersionInFlippedCache(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pysPersistentClientCacheTestss      sClientCacheLongOIDTestscs&tZddZddZddZRS(Nsabcdefghijklmnopisbcdefghijklmnopqscdefghijklmnopqr(s__name__s __module__s_oids_oid2s_oid3(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pysClientCacheLongOIDTests©s  s!PersistentClientCacheLongOIDTestscs&tZddZddZddZRS(Nsabcdefghijklmnopisbcdefghijklmnopqscdefghijklmnopqr(s__name__s __module__s_oids_oid2s_oid3(((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys!PersistentClientCacheLongOIDTests¯s  csltiƒ}|ititƒƒ|ititƒƒ|ititƒƒ|ititƒƒ|SdS(N( sunittests TestSuitessuitesaddTests makeSuitesClientCacheTestssClientCacheLongOIDTestssPersistentClientCacheTestss!PersistentClientCacheLongOIDTests(ssuite((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys test_suite´s  s__main__s defaultTests test_suite(s__doc__s __future__s nested_scopessosstimestempfilesunittestsZEO.ClientCaches ClientCachesTestCasesClientCacheTestssPersistentClientCacheTestssClientCacheLongOIDTestss!PersistentClientCacheLongOIDTestss test_suites__name__smain( s!PersistentClientCacheLongOIDTestss nested_scopesstempfilesunittestsPersistentClientCacheTestss test_suitesClientCacheTestsstimes ClientCachesClientCacheLongOIDTestssos((sA/usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys?s      û’