-í
Û„?c       sâ      d  k  Z   d  k Z  d k l Z l Z  d k l Z  d k l Z  d k	 l
 Z
  d k l Z l Z l Z * d e f d „  ƒ  YZ Z d e f d	 „  ƒ  YZ ¥ d
 e f d „  ƒ  YZ ð d f  d „  ƒ  YZ d  S(   N(   s   checks   display(   s   OOBTree(   s
   TestThread(   s   DB(   s   ReadConflictErrors   ConflictErrors   VersionLockErrors   StressThreadc      s)   * t  Z 0 d e d „ Z < d „  Z RS(   Ni   c	 	   sz   0 2 t  i |  | ƒ 3 | |  _ 4 | |  _ 5 | |  _ 6 | |  _ 7 | |  _ 8 | |  _	 9 g  |  _
 : | |  _ d  S(   N(   s
   TestThreads   __init__s   selfs   testcases   dbs   stops	   threadnums   startnums   steps   sleeps
   added_keyss
   commitdict(	   s   selfs   testcases   dbs   stops	   threadnums
   commitdicts   startnums   steps   sleep(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   __init__0 s   c    s  < = |  i i ƒ  } > xs > |  i i ƒ  o^ ? y @ | i ƒ  d } A PWn9 B t t	 f j
 o$ C t
 ƒ  i ƒ  D | i ƒ  n Xq WE |  i } F xì F |  i i ƒ  o× G yo H |  i | | <I t
 ƒ  i d | ƒ J t
 ƒ  i ƒ  K d |  i |  <L |  i o M t i |  i ƒ n Wn; N t t f j
 o& } O t
 ƒ  i ƒ  T | i ƒ  n XV |  i i | ƒ W | |  i 7} q  WX | i ƒ  d  S(   Ns   trees
   add key %si   (   s   selfs   dbs   opens   cns   stops   isSets   roots   trees   ConflictErrors   KeyErrors   get_transactions   aborts   syncs   startnums   keys	   threadnums   notes   commits
   commitdicts   sleeps   times   ReadConflictErrors   msgs
   added_keyss   appends   steps   close(   s   selfs   cns   keys   msgs   tree(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   testrun< s2     (   s   __name__s
   __module__s   Nones   __init__s   testrun(    (    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   StressThread* s   	s   LargeUpdatesThreadc      s)   Z t  Z ` d e d „ Z l d „  Z RS(   Ni   c	 	   sz   ` b t  i |  | ƒ c | |  _ d | |  _ e | |  _ f | |  _ g | |  _ h | |  _	 i g  |  _
 j | |  _ d  S(   N(   s
   TestThreads   __init__s   selfs   testcases   dbs   stops	   threadnums   startnums   steps   sleeps
   added_keyss
   commitdict(	   s   selfs   testcases   dbs   stops	   threadnums
   commitdicts   startnums   steps   sleep(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   __init__` s   c    së  l m |  i i ƒ  } n xs n |  i i ƒ  o^ o y p | i ƒ  d } q PWn9 r t t	 f j
 o$ t t
 ƒ  i ƒ  u | i ƒ  n Xq Ww h  } x g  } y x"y |  i i ƒ  o t | ƒ }
 € |
 d j  o.  t |  i d |  i ƒ } ‚ t | ƒ }
 n ƒ t t |
 d ƒ d ƒ } „ g  i }	 t d |
 | ƒ D„ ] } |	 | | ƒ q@~	 } … x]| D… ]_ } † y ‡ |  i | | <Wn? ˆ t t f j
 o* } Š t
 ƒ  i ƒ  ‹ | i ƒ  Œ Pn XqjW t
 ƒ  i d d i t  t! | ƒ ƒ ƒ  yH ‘ t
 ƒ  i" ƒ  ’ d |  i# |  <“ |  i$ o ” t% i$ |  i$ ƒ n Wn; • t j
 o, } — t
 ƒ  i ƒ  ˜ | i ƒ  ™ q¦ n Xš x. | Dš ]# } › | i' | ƒ œ d | | <qŒW¡ | i ƒ  q¦ W¢ | i ƒ  |  _( £ | i) ƒ  d  S(   Ns   treei2   i¸  i   i    s   keys %ss   , (*   s   selfs   dbs   opens   cns   stops   isSets   roots   trees   ConflictErrors   KeyErrors   get_transactions   aborts   syncs
   keys_addeds   tkeyss   lens   nkeyss   ranges   startnums   steps   maxs   ints   appends   _[1]s   is   keyss   keys	   threadnums   ReadConflictErrors   msgs   notes   joins   maps   strs   commits
   commitdicts   sleeps   times   ks   removes
   added_keyss   close(   s   selfs   cns   keyss   keys   tkeyss   is
   keys_addeds   trees   steps   _[1]s   nkeyss   msgs   k(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   testrunl sZ    		   
 	)
 	(   s   __name__s
   __module__s   Nones   __init__s   testrun(    (    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   LargeUpdatesThreadZ s   	s   VersionStressThreadc      s8   ¥ t  Z § d e d „ Z ³ d „  Z ¾ d d „ Z RS(   Ni   c	 	   sz   § © t  i |  | ƒ ª | |  _ « | |  _ ¬ | |  _ ­ | |  _ ® | |  _ ¯ | |  _	 ° g  |  _
 ± | |  _ d  S(   N(   s
   TestThreads   __init__s   selfs   testcases   dbs   stops	   threadnums   startnums   steps   sleeps
   added_keyss
   commitdict(	   s   selfs   testcases   dbs   stops	   threadnums
   commitdicts   startnums   steps   sleep(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   __init__§ s   c    s«   ³ ´ d } µ |  i } ¶ x‰ ¶ |  i i ƒ  ot · d |  i | f } ¸ | } ¹ |  i | | | ƒ o' º |  i	 i
 | ƒ » d |  i |  <n ¼ | |  i 7} q Wd  S(   Ni    s   %s:%si   (   s   commits   selfs   startnums   keys   stops   isSets	   threadnums   versions	   oneupdates
   added_keyss   appends
   commitdicts   step(   s   selfs   commits   versions   key(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   testrun³ s   	 
i   c    s…  ¾ Ä |  i i | ƒ } Å xs Å |  i i ƒ  o^ Æ y Ç | i ƒ  d } È PWn9 É t	 t
 f j
 o$ Ê t ƒ  i ƒ  Ë | i ƒ  n Xq WÌ xÍ Ì |  i i ƒ  o¸ Í yL Î |  i | | <Ï t ƒ  i ƒ  Ð |  i o Ñ t i |  i ƒ n Ò PWnb Ó t t t	 f j
 oJ } Ô t ƒ  i ƒ  Ù | i ƒ  Ú |  i o Û t i |  i ƒ n n Xq— WÜ zÿ Ý xõ Ý |  i i ƒ  oà Þ y¡ ß | o. à |  i i | ƒ á t ƒ  i d | ƒ n+ ã |  i i | ƒ ä t ƒ  i d | ƒ å t ƒ  i ƒ  æ |  i o ç t i |  i ƒ n è | SWn5 é t	 j
 o& } ê t ƒ  i ƒ  ë | i ƒ  n XqpWWd  ì í | i ƒ  Xî d Sd  S(   Ns   trees   commit version %ss   abort version %si    (   s   selfs   dbs   opens   versions   cns   stops   isSets   roots   trees   ConflictErrors   KeyErrors   get_transactions   aborts   syncs	   threadnums   keys   commits   sleeps   times   VersionLockErrors   ReadConflictErrors   msgs   commitVersions   notes   abortVersions   close(   s   selfs   versions   keys   commits   cns   trees   msg(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys	   oneupdate¾ sR     ! 
(   s   __name__s
   __module__s   Nones   __init__s   testruns	   oneupdate(    (    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   VersionStressThread¥ s   	s   InvalidationTestsc      s   ð t  Z ò d Z ÷ d Z ü d Z þ e Z  d „  Z d „  Z *d „  Z :d „  Z	 Sd „  Z
 id	 „  Z †d
 „  Z £d „  Z RS(   Ni   i
   i,  c    s¹    d } x£ | o˜ | d 8} y t | ƒ | i ƒ  Wnc t j
 o8 	| o! 
t ƒ  i ƒ  | i ƒ  n ‚  n t	 | ƒ ‚  n Xq Wd  S(   Ni   i   (
   s   retriess   checks   trees   _checks   ReadConflictErrors   get_transactions   aborts   cns   syncs   display(   s   selfs   cns   trees   retries(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   _check_tree s   	 


c 	   sd  g  } g  } | i } xJ | D]? } | i o | d | i ƒ n | i | i ƒ q+ W| i	 ƒ  t
 | i ƒ  ƒ } | | j o‰ | d ƒ  x6 | D ]+ } !| | j o "| d | ƒ n qº W#x6 | D#]+ } $| | j o %| d | ƒ n qö Wn &| o* 't | ƒ (|  i d i | ƒ ƒ n d  S(   Ns   thread %d didn't add any keyss   expected keys != actual keyss   key %s expected but not in trees   key %s in tree but not expecteds   
(   s   expected_keyss	   errormsgss   appends   errs   threadss   ts
   added_keyss	   threadnums   extends   sorts   lists   trees   keyss   actual_keyss   ks   displays   selfs   fails   join(	   s   selfs   trees   threadss   errs   ts	   errormsgss   actual_keyss   expected_keyss   k(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   _check_threadss.   		
 	
 	
 	
c    sÜ   *,x | D,] } -| i ƒ  q W.|  i } /t i ƒ  } 0x_ 0t i ƒ  | |  i j oA 1t i | ƒ 2d } 3t	 | ƒ t	 | ƒ j o 4Pn qH W6| i ƒ  7x | D7] } 8| i ƒ  q¾ Wd  S(   Nf2.0(   s   threadss   ts   starts   selfs   MINTIMEs   delays   times   MAXTIMEs   sleeps   lens
   commitdicts   stops   sets   cleanup(   s   selfs   stops
   commitdicts   threadss   delays   ts   start(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   go*s   
 	 	
 	c    sS  :;|  i ƒ  |  _ } <|  i ƒ  } =t | ƒ } >t | ƒ }
 ?t i	 ƒ  } A| i ƒ  } Bt ƒ  } | i ƒ  d <Ct ƒ  i ƒ  Fh  } G|  i |  | | d | d ƒ } H|  i |  |
 | d | d ƒ }	 I|  i | | | |	 ƒ K| i ƒ  L|  i | | ƒ M|  i | | |	 ƒ O| i ƒ  P| i ƒ  Q|
 i ƒ  d  S(   Ns   treei   i   (   s   selfs   openClientStorages   _storages   storage1s   storage2s   DBs   db1s   db2s	   threadings   Events   stops   opens   cns   OOBTrees   trees   roots   get_transactions   commits   cds   StressThreads   t1s   t2s   gos   syncs   _check_trees   _check_threadss   close(   s   selfs   storage2s   cns   t1s   stops   trees   cds   storage1s   db1s   t2s   db2(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   checkConcurrentUpdates2Storages:s$   	!!c 	 	  s4  ST|  i ƒ  |  _ } Ut | ƒ } Vt i ƒ  } X| i	 ƒ  } Yt ƒ  } | i ƒ  d <Zt ƒ  i ƒ  ]h  } ^|  i |  | | d | d d d ƒ} _|  i |  | | d | d d d ƒ} `|  i | | | | ƒ b| i ƒ  c|  i | | ƒ d|  i | | | ƒ f| i ƒ  g| i ƒ  d  S(   Ns   treei   s   sleepf0.01i   (   s   selfs   openClientStorages   _storages   storage1s   DBs   db1s	   threadings   Events   stops   opens   cns   OOBTrees   trees   roots   get_transactions   commits   cds   StressThreads   t1s   t2s   gos   syncs   _check_trees   _check_threadss   close(	   s   selfs   cns   stops   trees   cds   storage1s   db1s   t2s   t1(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   checkConcurrentUpdates1StorageSs   	''c  	  s€  ij|  i ƒ  |  _ } kt | ƒ } lt |  i ƒ  ƒ }
 mt i ƒ  } o| i
 ƒ  } pt ƒ  } | i ƒ  d <qt ƒ  i ƒ  xh  } y|  i |  | | d | d d ƒ } z|  i |  |
 | d | d d d ƒ }	 {|  i |  |
 | d | d d d ƒ } ||  i | | | |	 | ƒ ~| i ƒ  |  i | | ƒ €|  i | | |	 | ƒ ‚| i ƒ  ƒ| i ƒ  „|
 i ƒ  d  S(   Ns   treei   i   i   f0.01(   s   selfs   openClientStorages   _storages   storage1s   DBs   db1s   db2s	   threadings   Events   stops   opens   cns   OOBTrees   trees   roots   get_transactions   commits   cds   StressThreads   t1s   t2s   t3s   gos   syncs   _check_trees   _check_threadss   close(   s   selfs   cns   t1s   stops   t3s   trees   cds   storage1s   db1s   t2s   db2(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys!   checkConcurrentUpdates2StoragesMTis$   	$''c  	  sw  †‡|  i ƒ  |  _ } ˆt | ƒ } ‰t |  i ƒ  ƒ }
 Št i ƒ  } Œ| i
 ƒ  } t ƒ  } | i ƒ  d <Žt ƒ  i ƒ  •h  } –t |  | | d | d d ƒ } —t |  |
 | d | d d d ƒ }	 ˜t |  |
 | d | d d d ƒ } ™|  i | | | |	 | ƒ ›| i ƒ  œ|  i | | ƒ |  i | | |	 | ƒ Ÿ| i ƒ   | i ƒ  ¡|
 i ƒ  d  S(   Ns   treei   i   i   f0.01(   s   selfs   openClientStorages   _storages   storage1s   DBs   db1s   db2s	   threadings   Events   stops   opens   cns   OOBTrees   trees   roots   get_transactions   commits   cds   VersionStressThreads   t1s   t2s   t3s   gos   syncs   _check_trees   _check_threadss   close(   s   selfs   cns   t1s   stops   trees   cds   t3s   storage1s   db1s   t2s   db2(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys    checkConcurrentUpdatesInVersions†s$   	!$$c  	  s(  £¥|  i ƒ  |  _ } ¦t | ƒ } §t |  i ƒ  ƒ } ¨t i ƒ  } ª| i
 ƒ  } «t ƒ  } | i ƒ  d <¬x* t d d d ƒ D¬] } ­d | | <q‹ W®t ƒ  i ƒ  µh  } ¶t |  | | d | d d d ƒ }	 ·t |  | | d | d d d ƒ } ¸t |  | | d | d d d ƒ } ¹|  i | | |	 | | ƒ »| i ƒ  ¼|  i | | ƒ ¿g  i }
 | i ƒ  D¿]* \ } } ¿| d j o |
 | ƒ n q}~
 } Àx | DÀ] } Á| | =q½WÂt ƒ  i ƒ  Ä|  i! | |	 | | ƒ Æ| i" ƒ  Ç| i" ƒ  È| i" ƒ  d  S(	   Ns   treei    i¸  i   i   i   f0.02f0.01(#   s   selfs   openClientStorages   _storages   storage1s   DBs   db1s   db2s	   threadings   Events   stops   opens   cns   OOBTrees   trees   roots   ranges   is   get_transactions   commits   cds   LargeUpdatesThreads   t1s   t2s   t3s   gos   syncs   _check_trees   appends   _[1]s   itemss   ks   vs   loserss   _check_threadss   close(   s   selfs   cns   stops   cds   db1s   db2s   is   trees   t3s   t1s   _[1]s   loserss   vs   storage1s   t2s   k(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   checkConcurrentLargeUpdates£s8    		$$$  '
 	(   s   __name__s
   __module__s   levels   MINTIMEs   MAXTIMEs   StressThreads   _check_trees   _check_threadss   gos   checkConcurrentUpdates2Storagess   checkConcurrentUpdates1Storages!   checkConcurrentUpdates2StoragesMTs    checkConcurrentUpdatesInVersionss   checkConcurrentLargeUpdates(    (    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   InvalidationTestsð s   					(   s	   threadings   times   BTrees.checks   checks   displays   BTrees.OOBTrees   OOBTrees   ZEO.tests.TestThreads
   TestThreads   ZODB.DBs   DBs   ZODB.POSExceptions   ReadConflictErrors   ConflictErrors   VersionLockErrors   StressThreads   LargeUpdatesThreads   VersionStressThreads   InvalidationTests(   s   StressThreads   OOBTrees   ConflictErrors   ReadConflictErrors   DBs   checks	   threadings   InvalidationTestss   times   VersionLockErrors   VersionStressThreads   displays
   TestThreads   LargeUpdatesThread(    (    sC   /usr/pkg/lib/python2.2/site-packages/ZEO/tests/InvalidationTests.pys   ? s   0KK