-ํ
ณฟh?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 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 d e d  Z d   Z RS(   Ni   c	 	   s\   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__0 s    							c    sO  |  i i   } x^ |  i i   oL y | i   d } PWn0 t t	 f j
 o t
   i   | i   n Xq W|  i } xล |  i i   oณ y] |  i | | <t
   i d |  t
   i   d |  i |  <|  i o t i |  i  n Wn2 t t f j
 o  } t
   i   | i   n X|  i i |  | |  i 7} q| W| 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    t  Z d e d  Z d   Z RS(   Ni   c	 	   s\   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    sa  |  i i   } x^ |  i i   oL y | i   d } PWn0 t t	 f j
 o t
   i   | i   n Xq Wh  } g  } xล|  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]M } y |  i | | <Wn3 t t f j
 o! } t
   i   | i   Pn Xq(Wt
   i d d i t  t! |    y< t
   i"   d |  i# |  <|  i$ o t% i$ |  i$  n Wn/ t j
 o# } t
   i   | i   q n Xx% | 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      s,   t  Z d e d  Z d   Z d d  Z RS(   Ni   c	 	   s\   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 } xt |  i i   ob 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 |  } x^ |  i i   oL y | i   d } PWn0 t	 t
 f j
 o t   i   | i   n Xq Wxฉ |  i i   o y= |  i | | <t   i   |  i o t i |  i  n PWnS t t t	 f j
 o> } t   i   | i   |  i o t i |  i  n n Xqv Wzา 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 | SWn, t	 j
 o  } t   i   | i   n Xq%WWd  | i   Xd 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      sh   t  Z d Z d Z d Z e Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   Ni   i
   i,  c    s   d } x| | ot | d 8} y t |  | i   WnK t j
 o, | 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 	   s  g  } g  } | i } x> | D]6 } | i o | d | i  n | i | i  q W| i	   t
 | i    } | | j on | d  x- | D]% } | | j o | d |  n q Wx- | 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   } xP t i   | |  i j o5 t i |  d } t	 |  t	 |  j o Pn q3 W| i   x | D] } | 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    s  |  i   |  _ } |  i   } t |  } t |  }
 t i	   } | i   } t   } | i   d <t   i   h  } |  i |  | | d | d  } |  i |  |
 | d | d  }	 |  i | | | |	  | i   |  i | |  |  i | | |	  | i   | i   |
 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 	 	  s  |  i   |  _ } t |  } t i   } | i	   } t   } | i   d <t   i   h  } |  i |  | | d | d d d } |  i |  | | d | d d d } |  i | | | |  | i   |  i | |  |  i | | |  | i   | 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  	  sG  |  i   |  _ } t |  } t |  i    }
 t i   } | i
   } t   } | i   d <t   i   h  } |  i |  | | d | d d  } |  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  	  s>  |  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 | | <qs Wt   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 qD~
 } x | D] } | | =q{Wt   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