-í
Û„?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