-í
Û„?c       sý     d  Z    d k l Z  d k Z  d k Z  d k Z  d k Z  d k l Z  d e i	 f d „  ƒ  YZ
 d e i	 f d „  ƒ  YZ ©d e
 f d	 „  ƒ  YZ ¯d
 e f d „  ƒ  YZ ´d „  Z ¼e d j o ½e i d d ƒ n d S(   s   Test 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   ClientCaches   ClientCacheTestsc      sÎ    t  Z  d Z  d Z   d Z " d „  Z ' d „  Z * d „  Z - d „  Z 6 d „  Z	 ? d	 „  Z
 K d
 „  Z Y d „  Z g d „  Z { d „  Z ‰ d „  Z ˜ d „  Z © d „  Z 
d „  Z RS(   Ns   abcdefghs   bcdefghis   cdefghijc    sC   " # d d d |  _ $ t d |  i ƒ |  _ % |  i i ƒ  d  S(   Ni
   iè  s   size(   s   selfs	   cachesizes   ClientCaches   caches   open(   s   self(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   setUp" s   c    s   ' ( |  i i ƒ  d  S(   N(   s   selfs   caches   close(   s   self(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   tearDown' s   c    s
   * + d  S(   N(    (   s   self(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testOpenClose* s   c    s‚   - . |  i } / |  i } 0 d d } 1 d } 2 | i | | | d d d ƒ 3 | i | d ƒ } 4 |  i	 | | | f ƒ d  S(   Ns   1234id   s   ABCDEFGHs    (
   s   selfs   caches   _oids   oids   datas   serials   stores   loads   loadeds   assertEqual(   s   selfs   oids   loadeds   caches   datas   serial(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testStoreLoad- s   	c    s|   6 7 |  i } 8 |  i } 9 d d } : d } ; | i | | | d d d ƒ < | i d d ƒ } = |  i	 | t
 ƒ d  S(   Ns   1234id   s   ABCDEFGHs    s   garbage1(   s   selfs   caches   _oids   oids   datas   serials   stores   loads   loadeds   assertEquals   None(   s   selfs   oids   loadeds   caches   datas   serial(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testMissingLoad6 s   	c    s½   ? @ |  i } A |  i } B d d } C d } D | i | | | d d d ƒ E | i | d ƒ } F |  i	 | | | f ƒ G | i
 | d ƒ H | i | d ƒ } I |  i	 | t ƒ d  S(   Ns   1234id   s   ABCDEFGHs    (   s   selfs   caches   _oids   oids   datas   serials   stores   loads   loadeds   assertEquals
   invalidates   None(   s   selfs   oids   loadeds   caches   datas   serial(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testInvalidate? s   	c 
   sÏ   K L |  i } M |  i } N d d } O d } P d } Q d d } R d } S | i	 | | | | | | ƒ T | i
 | d ƒ } U |  i | | | f ƒ V | i
 | | ƒ }	 W |  i |	 | | f ƒ d  S(	   Ns   1234id   s   ABCDEFGHs	   myversions   5678iÈ   s   IJKLMNOPs    (   s   selfs   caches   _oids   oids   datas   serials   vnames   vdatas   vserials   stores   loads   loadeds   assertEquals   vloaded(
   s   selfs   oids   vserials   vnames   vdatas   loadeds   caches   datas   serials   vloaded(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testVersionK s   			c 
   sÅ   Y Z |  i } [ |  i } \ d }	 ] d } ^ d } _ d d } ` d } a | i	 | |	 | | | | ƒ b | i
 | d ƒ } c |  i | t ƒ d | i
 | | ƒ } e |  i | | | f ƒ d  S(   Ns    s	   myversions   5678iÈ   s   IJKLMNOP(   s   selfs   caches   _oids   oids   datas   serials   vnames   vdatas   vserials   stores   loads   loadeds   assertEquals   Nones   vloaded(
   s   selfs   vdatas   vnames   oids   vloadeds   caches   vserials   loadeds   serials   data(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testVersionOnlyY s   				c 
   s2  g h |  i } i |  i } j d d }	 k d } l d } m d d } n d } o | i	 | |	 | | | | ƒ p | i
 | d ƒ } q |  i | |	 | f ƒ r | i
 | | ƒ } s |  i | | | f ƒ t | i | d ƒ u | i
 | d ƒ } v |  i | t ƒ x | i
 | | ƒ } y |  i | t ƒ d  S(	   Ns   1234id   s   ABCDEFGHs	   myversions   5678iÈ   s   IJKLMNOPs    (   s   selfs   caches   _oids   oids   datas   serials   vnames   vdatas   vserials   stores   loads   loadeds   assertEquals   vloadeds
   invalidates   None(
   s   selfs   vdatas   vnames   oids   vloadeds   caches   vserials   loadeds   serials   data(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testInvalidateNonVersiong s"   			c    sÃ   { ~ |  i }  |  i } € d d }  d } ‚ | i | | | d d d ƒ ƒ | i | d ƒ } „ |  i	 | | | f ƒ … | i
 | d ƒ † | i | d ƒ } ‡ |  i	 | | | f ƒ d  S(   Ns   1234id   s   ABCDEFGHs    s   bogus(   s   selfs   caches   _oids   oids   datas   serials   stores   loads   loadeds   assertEquals
   invalidate(   s   selfs   oids   loadeds   caches   datas   serial(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testInvalidateVersion{ s   	c    sÇ   ‰ Š |  i } ‹ g  ‰  Œ ‡  d †  } Ž | i | ƒ  |  i ˆ  g  ƒ  |  i } ‘ d d } ’ d } “ | i
 | | | d d d ƒ ” g  ‰  • | i | ƒ – |  i ˆ  | | t f g ƒ d  S(   Nc    s    Œ  ˆ  i |  | | f ƒ d  S(   N(   s   resultss   appends   oids   serials   vserial(   s   oids   serials   vserial(   s   results(    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   verifierŒ s   s   1234id   s   ABCDEFGHs    (   s   selfs   caches   resultss   verifiers   verifys   assertEquals   _oids   oids   datas   serials   stores   None(   s   selfs   verifiers   oids   caches   datas   resultss   serial(    (   s   resultssA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys
   testVerify‰ s   			c    s  ˜ › |  i } œ |  i }  d d } ž d } Ÿ | i | | | d d d ƒ   | i d |  i ƒ ¡ |  i	 } ¢ d d } £ d } ¤ | i | | | d d d ƒ ¥ | i d |  i ƒ ¦ |  i | i i | ƒ t ƒ § |  i | i i | ƒ t ƒ d  S(   Ns   1234id   s   ABCDEFGHs    i
   s   ABCDEFGZ(   s   selfs   caches   _oids   oids   datas   serials   stores	   checkSizes	   cachesizes   _oid2s   oid2s   data2s   serial2s   assertNotEquals   _indexs   gets   Nones   assertEqual(   s   selfs   serial2s   oids   caches   datas   serials   oid2s   data2(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testCheckSize˜ s   		c    sÛ  © ´ |  i } · |  i } ¸ d d } ¹ d } º |  i }	 » d d } ¼ d } ½ d } ¾ d } ¿ d	 d
 } À d } Á |  i }
 Â d d } Ã d } Æ | i | | | d d d ƒ Ç | i |	 | | | | | ƒ È | i |
 | | d d d ƒ Ë |  i t | i i | ƒ j	 o
 d j n ƒ Ì |  i t | i i |	 ƒ j	 o
 d j n ƒ Í |  i t | i i |
 ƒ j	 o
 d j n ƒ Ð |  i | i | d ƒ | | f ƒ Ñ |  i | i |	 d ƒ | | f ƒ Ò |  i | i |	 | ƒ | | f ƒ Ó |  i | i |	 | ƒ | | f ƒ Ô |  i | i |
 d ƒ | | f ƒ × |  i t | i i | ƒ j	 o
 d j n ƒ Ø |  i t | i i |	 ƒ j	 o
 d j n ƒ Ù |  i t | i i |
 ƒ j	 o
 d j n ƒ Ü | i d |  i ƒ ß |  i | i | d ƒ | | f ƒ à |  i | i |	 | ƒ | | f ƒ á |  i | i |	 | ƒ | | f ƒ â |  i | i |	 d ƒ | | f ƒ å |  i t | i i | ƒ j	 o
 d j  n ƒ æ |  i t | i i |	 ƒ j	 o
 d j  n ƒ ç |  i t | i i |
 ƒ j	 o
 d j n ƒ ê | i d |  i ƒ í |  i | i | d ƒ | | f ƒ î |  i | i |	 | ƒ | | f ƒ ï |  i | i |	 | ƒ | | f ƒ ð |  i | i |	 d ƒ | | f ƒ ó |  i t | i i | ƒ j	 o
 d j n ƒ ô |  i t | i i |	 ƒ j	 o
 d j n ƒ õ |  i t | i i |
 ƒ j ƒ ø | i |	 | ƒ ù |  i | i |	 d ƒ | | f ƒ ú |  i | i |	 | ƒ t ƒ û |  i | i |	 | ƒ t ƒ þ | i d |  i ƒ |  i | i | d ƒ | | f ƒ |  i | i |	 | ƒ t ƒ |  i | i |	 | ƒ t ƒ |  i | i |	 d ƒ | | f ƒ |  i t | i i | ƒ j	 o
 d j  n ƒ |  i t | i i |	 ƒ j	 o
 d j  n ƒ d  S(   Ns   1234id   s   ABCDEFGHs   2345iÈ   s   BCDEFGHIs	   myversions   nadas   5432iú   s   IHGFEDCBs   3456i,  s   CDEFGHIJs    i    i
   (   s   selfs   caches   _oids   oid1s   data1s   serial1s   _oid2s   oid2s   data2s   serial2s   version2s
   nonversions   vdata2s   vserial2s   _oid3s   oid3s   data3s   serial3s   stores   assert_s   Nones   _indexs   gets   assertEquals   loads	   checkSizes	   cachesizes
   invalidate(   s   selfs   serial3s   serial2s   serial1s   version2s   vdata2s   caches   vserial2s   oid1s   oid2s   oid3s
   nonversions   data1s   data3s   data2(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testCopyToCurrent© sn   						333%%%%%333%%%%333%%%%33"%%%3c    sð   
|  i } |  i | i ƒ  t j ƒ d } | i | ƒ |  i | i ƒ  | ƒ | i d |  i	 ƒ |  i | i ƒ  | ƒ | i t ƒ |  i | i ƒ  t j ƒ | i d |  i	 ƒ |  i | i ƒ  t j ƒ d  S(   Ns   pqrstuvwi
   (
   s   selfs   caches
   failUnlesss
   getLastTids   Nones   ltids
   setLastTids   assertEquals	   checkSizes	   cachesize(   s   selfs   ltids   cache(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testLastTid
s   	(   s   __name__s
   __module__s   _oids   _oid2s   _oid3s   setUps   tearDowns   testOpenCloses   testStoreLoads   testMissingLoads   testInvalidates   testVersions   testVersionOnlys   testInvalidateNonVersions   testInvalidateVersions
   testVerifys   testCheckSizes   testCopyToCurrents   testLastTid(    (    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   ClientCacheTests s"   						as   PersistentClientCacheTestsc      s†   t  Z d Z d Z d Z d „  Z -d „  Z 4d „  Z 9d „  Z Bd „  Z	 [d	 „  Z
 qd
 „  Z …d „  Z RS(   Ns   abcdefghs   bcdefghis   cdefghijc    sò   t  i ƒ  |  _ d d d |  _  d |  _ !d |  _ #d |  i |  i f } $d |  i |  i f } %xh | | f D%]W } &t  i
 i |  i | ƒ } 'y (t  i | ƒ Wn )t  i j
 o
 *n Xqƒ W+|  i ƒ  d  S(   Ni
   iè  s   foos   tests   c%s-%s-0.zecs   c%s-%s-1.zec(   s   oss   getcwds   selfs   vardirs	   cachesizes   storagenames
   clientnames   fn0s   fn1s   fns   paths   joins   unlinks   errors	   openCache(   s   selfs   fns   fn1s   fn0(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   setUps    	c  	  sS   -.t  d |  i /d |  i 0d |  i 1d |  i ƒ |  _ 2|  i i ƒ  d  S(   Ns   storages   sizes   clients   var(   s   ClientCaches   selfs   storagenames	   cachesizes
   clientnames   vardirs   caches   open(   s   self(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys	   openCache-s
   c    s.   45|  i i ƒ  6|  i ƒ  7|  i Sd  S(   N(   s   selfs   caches   closes	   openCache(   s   self(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   reopenCache4s   c    s~   9:|  i i ƒ  ;xa |  i i D;]P } <| t j	 o: =y >t i | ƒ Wn ?t i j
 o
 @n Xn q# Wd  S(   N(	   s   selfs   caches   closes   _ps   filenames   Nones   oss   unlinks   error(   s   selfs   filename(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   tearDown9s    	c    s7  BH|  i } I|  i | i d ƒ J|  i } Kd } Ld } M| i | | | d d d ƒ N| i	 | ƒ O| i
 d |  i ƒ P|  i | i d ƒ Qd } Rd } S| i | | | d d d ƒ T| i	 | ƒ U|  i ƒ  } V| i | d ƒ } X|  i | | | f ƒ Y|  i | i d ƒ d  S(	   Ni    s   1234s   ABCDEFGHs    i
   i   s   123s   ABCDEFGZ(   s   selfs   caches   assertEquals   _currents   _oids   oids   datas   serials   stores
   setLastTids	   checkSizes	   cachesizes   reopenCaches   loads   loaded(   s   selfs   oids   loadeds   caches   datas   serial(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testCacheFileSelectionBs"   				c    s  [a|  i } bt d ƒ d d >} c|  i } d|  i } ed | } fd } g| i | | | d d d ƒ h| i	 | d ƒ } i|  i | | | f ƒ j| i | d ƒ k|  i ƒ  } l| i	 | d ƒ } m| t j o. n|  i d t | d ƒ t | ƒ f ƒ n d  S(	   Ns   ii   i   s   !s   ABCDEFGHs    s-   invalidated data resurrected, size %d, was %di    (   s   selfs   caches   ords	   magicsizes   _oids   oids   datas   serials   stores   loads   loadeds   assertEquals
   invalidates   reopenCaches   Nones   fails   len(   s   selfs   oids   loadeds   caches   datas   serials	   magicsize(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testInvalidationPersists[s   	c    sn  qr|  i } s|  i | i ƒ  t j ƒ td } u| i | ƒ v|  i | i ƒ  | ƒ w|  i } xd } yd } z| i | | | d d d ƒ {|  i | i ƒ  | ƒ || i d |  i ƒ }|  i | i ƒ  | ƒ ~|  i ƒ  } |  i | i ƒ  | ƒ €| i t ƒ |  i | i ƒ  t j ƒ ‚| i d |  i ƒ ƒ|  i | i ƒ  t j ƒ d  S(   Ns   pqrstuvws   1234s   ABCDEFGHs    i
   (   s   selfs   caches
   failUnlesss
   getLastTids   Nones   ltids
   setLastTids   assertEquals   _oids   oids   datas   serials   stores	   checkSizes	   cachesizes   reopenCache(   s   selfs   caches   ltids   datas   serials   oid(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   testPersistentLastTidqs$   			c    s[  …Šd } ‹d } Œd } d } Žd } |  i i |  i | | | | | ƒ ‘|  i i	 d |  i
 ƒ “x– d d f D“]… } ”xy d	 | | f | | | f g D”]V \ } } } –|  i i |  i | ƒ \ }
 }	 —|  i |
 | ƒ ˜|  i |	 | ƒ qª Wq W›|  i i |  i d	 d	 d
 d d ƒ œ|  i i	 d |  i
 ƒ |  i i |  i d	 ƒ ž|  i i |  i d d d	 d	 d	 ƒ Ÿ|  i i	 d |  i
 ƒ  |  i i |  i d	 ƒ ¢x– d d f D¢]… } £xy d	 | | f | | | f g D£]V \ } } } ¥|  i i |  i | ƒ \ }
 }	 ¦|  i |
 | ƒ §|  i |	 | ƒ qöWqËWd  S(   Ns9   Mend your speech a little, lest it may mar your fortunes.s   12345678s   folios:   Mend your speech a little, lest you may mar your fortunes.s   12346789i
   i   i   s    s   foos   bars   23456789s   34567890(   s   nvdatas   nvserials   versions   vdatas   vserials   selfs   caches   stores   _oids	   checkSizes	   cachesizes   is   xversions   xdatas   xserials   loads   datas   serials   assertEquals   _oid2s   _oid3(   s   selfs   nvserials   vdatas   xversions   xserials   is   nvdatas   versions   vserials   serials   datas   xdata(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys+   testLoadNonversionWithVersionInFlippedCache…s6   					% 	" !%% 	" !(   s   __name__s
   __module__s   _oids   _oid2s   _oid3s   setUps	   openCaches   reopenCaches   tearDowns   testCacheFileSelections   testInvalidationPersistss   testPersistentLastTids+   testLoadNonversionWithVersionInFlippedCache(    (    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   PersistentClientCacheTestss   					s   ClientCacheLongOIDTestsc      s2   ©t  Z ªd d Z «d d Z ¬d d Z RS(   Ns   abcdefghijklmnopi   s   bcdefghijklmnopqs   cdefghijklmnopqr(   s   __name__s
   __module__s   _oids   _oid2s   _oid3(    (    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   ClientCacheLongOIDTests©s   	s!   PersistentClientCacheLongOIDTestsc      s2   ¯t  Z °d d Z ±d d Z ²d d Z RS(   Ns   abcdefghijklmnopi   s   bcdefghijklmnopqs   cdefghijklmnopqr(   s   __name__s
   __module__s   _oids   _oid2s   _oid3(    (    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys!   PersistentClientCacheLongOIDTests¯s   	c     s   ´µt  i ƒ  }  ¶|  i t  i t ƒ ƒ ·|  i t  i t ƒ ƒ ¸|  i t  i t ƒ ƒ ¹|  i t  i t ƒ ƒ º|  Sd  S(   N(	   s   unittests	   TestSuites   suites   addTests	   makeSuites   ClientCacheTestss   ClientCacheLongOIDTestss   PersistentClientCacheTestss!   PersistentClientCacheLongOIDTests(   s   suite(    (    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_scopess   oss   times   tempfiles   unittests   ZEO.ClientCaches   ClientCaches   TestCases   ClientCacheTestss   PersistentClientCacheTestss   ClientCacheLongOIDTestss!   PersistentClientCacheLongOIDTestss
   test_suites   __name__s   main(   s!   PersistentClientCacheLongOIDTestss   nested_scopess   tempfiles   unittests   PersistentClientCacheTestss
   test_suites   ClientCacheTestss   times   ClientCaches   ClientCacheLongOIDTestss   os(    (    sA   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/testClientCache.pys   ? s   û’