Ñò
•à"Ic        
   @   sö  d  Z  d d k Z d d k Z d d k Z d d k l Z d d k Z d d k Z d d k l Z l	 Z	 l
 Z
 l Z l Z d Z d e i f d „  ƒ  YZ d e i f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d  e f d! „  ƒ  YZ d" e f d# „  ƒ  YZ d$ e f d% „  ƒ  YZ d& e f d' „  ƒ  YZ d( e f d) „  ƒ  YZ  d* e f d+ „  ƒ  YZ! d, e f d- „  ƒ  YZ" d. e" f d/ „  ƒ  YZ# d0 e" f d1 „  ƒ  YZ$ d2 e i f d3 „  ƒ  YZ% d4 e% f d5 „  ƒ  YZ& d6 e% f d7 „  ƒ  YZ' d8 e i f d9 „  ƒ  YZ( d: „  Z) e* d; j o e i+ d< d= ƒ n d S(>   s_   
Basic TestCases for BTree and hash DBs, with and without a DBEnv, with
various DB flags, etc.
iÿÿÿÿN(   t   pprint(   t   dbt   test_supportt   verboset   get_new_environment_patht   get_new_database_patht   -t   VersionTestCasec           B   s   e  Z d  „  Z RS(   c         C   sg   t  i ƒ  } t o. d Gd d GHd | f GHt  i GHd d GHn |  i | t  i t  i t  i f ƒ d  S(   Ns   
s   -=i   s   bsddb.db.version(): %s(   R   t   versionR   t   DB_VERSION_STRINGt   assertEqualt   DB_VERSION_MAJORt   DB_VERSION_MINORt   DB_VERSION_PATCH(   t   selft   info(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test00_version   s    (   t   __name__t
   __module__R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR      s   t   BasicTestCasec           B   sÈ   e  Z e i Z d  Z d  Z d Z d Z	 d  Z
 d  Z d  Z d Z d „  Z d „  Z d d „ Z d „  Z d „  Z d „  Z d  d  d	 „ Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   i    i°  iê  c         C   s…  |  i  o» t ƒ  |  _ yŽ t i ƒ  |  _ |  i i d ƒ |  i i d ƒ |  i i t	 t
 i
 ƒ  ƒ ƒ |  i i |  i d ƒ |  i i |  i |  i t i Bƒ d |  _ WqÚ t i |  i ƒ ‚  qÚ Xn d  |  _ t ƒ  |  _ t i |  i ƒ |  _ |  i i |  i ƒ |  i o6 |  i i |  i |  i |  i |  i t i B|  i ƒ n6 |  i i |  i d |  i d |  i d |  i t i Bƒ|  i ƒ  d  S(	   Ni   i   i   t   testt   modet   dbtypet   flagsi   (   t   useEnvR   t   homeDirR   t   DBEnvt   envt
   set_lg_maxt
   set_tx_maxt   set_tx_timestampt   intt   timet	   set_flagst   envsetflagst   opent   envflagst	   DB_CREATEt   filenameR   t   rmtreet   NoneR   t   DBt   dt
   dbsetflagst   dbnameR   t   dbopenflagst   dbmodet
   populateDB(   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   setUp.   s2    
 	
		c         C   sR   |  i  i ƒ  |  i d  j	 o! |  i i ƒ  t i |  i ƒ n t i |  i	 ƒ d  S(   N(
   R*   t   closeR   R(   R   R'   R   t   ost   removeR&   (   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   tearDownP   s
    c         C   sô   |  i  } xN t |  i d ƒ D]9 } d |  i | } |  i | ƒ } | i | | | ƒ q W| i d d | ƒ xK t |  i d d ƒ D]2 } d | } |  i | ƒ } | i | | | ƒ q… W| o | i ƒ  n t | ƒ } t o d | GHn d  S(   Ni   s   %04ds   empty valuet    i   s   created %d records(   R*   t   ranget   _numKeyst   makeDatat   putt   committ   lenR   (   R   t   _txnR*   t   xt   keyt   datat   num(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR/   Z   s"    	  
c         C   s   t  i | g d ƒ S(   Ni   (   t   DASHt   join(   R   R>   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR8   q   s    c         C   sG  |  i  } t o  d Gd d GHd |  i i GHn x< d d d d d	 g D]% } | i | ƒ } t o	 | GHqF qF W|  i | i d
 ƒ d ƒ |  i | i d ƒ d  ƒ y | i d ƒ Wn} t i	 j
 on } d d  k
 } | i d d j  o |  i | d t i ƒ n |  i | i d t i ƒ t o	 | GHq?n X|  i d ƒ | i d d ƒ |  i | i d ƒ d ƒ | i d d ƒ |  i t i @o |  i | i d ƒ d ƒ n |  i | i d ƒ d ƒ y | i d d d t i ƒWn} t i j
 on } d d  k
 } | i d d j  o |  i | d t i ƒ n |  i | i d t i ƒ t o	 | GHqin X|  i d ƒ |  i t i @o |  i | i d ƒ d ƒ n |  i | i d ƒ d ƒ | i ƒ  | i ƒ  ~ t i |  i ƒ |  _  |  i o |  i  i |  i |  i ƒ n |  i  i |  i ƒ |  i  } |  i | i d
 ƒ d ƒ |  i t i @o |  i | i d ƒ d ƒ n |  i | i d ƒ d ƒ | i d d ƒ } t o	 | GHn |  i | i d d ƒ d  ƒ | i d d ƒ } |  i | d ƒ | i d |  ƒ } |  i | |  ƒ | i ƒ  } |  i t | ƒ t h  ƒ ƒ t o d GHt | ƒ n d  S(   Ns   
s   -=i   s    Running %s.test01_GetsAndPuts...t   0001t   0100t   0400t   0700t   0999t   0321s   0321-0321-0321-0321-0321t   abcdiÿÿÿÿi    i   s   expected exceptions   a new records   same keys   this should failR   t   0555s   0555-0555-0555-0555-0555s   bad datas   bad keys"   d.stat() returned this dictionary:(    R*   R   t	   __class__R   t   getR
   R(   t   deleteR   t   DBNotFoundErrort   syst   version_infot   DB_NOTFOUNDt   argst   failR9   R+   t   DB_DUPt   DB_NOOVERWRITEt   DBKeyExistErrort   DB_KEYEXISTt   syncR1   R)   R   R,   R#   R&   t   get_botht   statt   typeR    (   R   R*   R>   R?   t   valRO   t   rect   s(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test01_GetsAndPutsx   s‚    	   


		c         C   sî  |  i  } t o  d Gd d GHd |  i i GHn xP d d d d d	 g D]9 } | | } |  i | |  i | ƒ ƒ t o	 | GHqF qF W|  i t | ƒ |  i ƒ | i ƒ  } |  i t | ƒ |  i ƒ |  i t	 | ƒ t	 g  ƒ ƒ d
 | d <|  i t | ƒ |  i d ƒ | i ƒ  } |  i t | ƒ |  i d ƒ d | d <|  i t | ƒ |  i d ƒ | i ƒ  } |  i t | ƒ |  i d ƒ t o d GHt
 | d  ƒ n |  i | d d ƒ |  i | i d d  ƒ d ƒ |  i | i d d d  ƒd ƒ | i ƒ  } |  i t | ƒ |  i d ƒ |  i t	 | ƒ t	 g  ƒ ƒ |  i t	 | d ƒ t	 d ƒ ƒ |  i t | d ƒ d ƒ t o d GHt
 | d  ƒ n | i ƒ  } |  i t | ƒ |  i d ƒ |  i t	 | ƒ t	 g  ƒ ƒ t o d GHt
 | d  ƒ n d  S(   Ns   
s   -=i   s&   Running %s.test02_DictionaryMethods...t   0002t   0101t   0401t   0701t   0998s   a new records
   new recordi   s   a replacement records   the first 10 keys are:i
   RC   t   spamt   txni    i   s   the first 10 items are:s   the first 10 values are:(    (   R*   R   RK   R   R
   R8   R;   R7   t   keysR[   R    t   has_keyR(   t   itemst   values(   R   R*   R>   R?   Rg   Ri   Rj   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test02_DictionaryMethodsÜ   sV    	 


 c         C   sg	  t  o) d Gd d GHd |  i i | | f GHn |  i o$ |  i t i @o |  i i ƒ  } n d  } |  i	 i
 d | ƒ } | i ƒ  } d } x.| d  j	 o | d } t  o | d d j o	 | GHn y | i ƒ  } Wn› t i j
 oŒ } | oo d	 d  k } | i d d
 j  o |  i | d t i ƒ n |  i | i d t i ƒ t  o	 | GHn d  } qt|  i d ƒ n X|  i | i ƒ  t | i ƒ  d ƒ d | i ƒ  | i ƒ  d f ƒ qŽ W|  i | |  i ƒ | i ƒ  } d } xë | d  j	 oÝ | d } t  o | d d j o	 | GHn y | i ƒ  } Wqät i j
 oŒ } | oo d	 d  k } | i d d
 j  o |  i | d t i ƒ n |  i | i d t i ƒ t  o	 | GHn d  } qÊ|  i d ƒ qäXqäW|  i | |  i ƒ | i d ƒ } | i ƒ  }	 |  i | |	 ƒ |  i | d d ƒ |  i | d |  i d ƒ ƒ |  i | i ƒ  t | d ƒ ƒ | i d ƒ } |  i | d d ƒ |  i | i ƒ  d ƒ y | i d ƒ }
 Wn} t i j
 on } d	 d  k } | i d d
 j  o |  i | d t i ƒ n |  i | i d t i ƒ t  o	 | GHqgn? X| o |  i d ƒ n |
 d  j o |  i d |
 f ƒ n | i d |  i d ƒ ƒ } |  i | d |  i d ƒ f ƒ y | i d d ƒ }
 Wn} t i j
 on } d	 d  k } | i d d
 j  o |  i | d t i ƒ n |  i | i d t i ƒ t  o	 | GHqtn? X| o |  i d ƒ n |
 d  j o |  i d |
 f ƒ n |  i	 i ƒ  t i j o½ | i d ƒ } t  o d G| GHn | i d d d d d ƒ} t  o d G| GHn | d d j o |  i d ƒ n | i d ƒ } t  o d G| GHn | d d j o |  i d ƒ qJn | i d ƒ | i  ƒ  y | i ƒ  } Wn• t i! j
 o† } | oi d	 d  k } | i d d
 j  o |  i | d t i" ƒ n |  i | i d t i" ƒ t  o	 | GHqq!|  i d ƒ n X| o |  i d ƒ n | i ƒ  | i# t i$ ƒ } |  i | i ƒ  | i ƒ  ƒ | i% d d  t i& ƒ |  i | i ƒ  | i ƒ  ƒ |  i | i ƒ  d d  ƒ | i% d d! t i& d d d d" ƒ|  i | i ƒ  d d# ƒ | i' ƒ  | i' ƒ  | o | i( ƒ  n h
 d1 d$ 6d2 d% 6t i$ f d& 6d3 d' 6d4 d( 6d5 d) 6d6 d* 6d7 d+ 6d d, t i& f d- 6d8 d. 6} xÓ | i) ƒ  D]Å \ } } y. t  o d/ | GHn t* t+ | | ƒ | ƒ Wnw t i, j
 oh } d	 d  k } | i d d
 j  o |  i | d d ƒ n |  i | i d d ƒ t  o	 | GHq:	quX|  i d0 | ƒ quW|  i	 i
 d | ƒ } |  i	 i' ƒ  ~ d  S(9   Ns   
s   -=i   sC   Running %s.test03_SimpleCursorStuff (get_error %s, set_error %s)...Rf   i    i   id   iÿÿÿÿi   s   unexpected DBNotFoundErrors   %s != len(%r)t   0505s   empty valueR5   s   bad keys   expected exceptions   expected None: %rt   0404s   bad datat   011s   searched for '011', found: t   dlent   doffs%   searched (partial) for '011', found: s   expected empty data portions!   search for 'empty value' returneds   empty value lookup failedt   0499s   unexpected DBKeyEmptyErrors"   DBKeyEmptyError exception expecteds   a new valuet   eri   s   a newer valuet   currentRM   t   dupt   firstRL   t   nextt   prevt   lastRe   R9   t   sets-   attempting to use a closed cursor's %s methods8   no exception raised when using a buggy cursor's%s method(    (    (    (   i    (    (    (    (   Rl   (-   R   RK   R   R   R-   R   t   DB_AUTO_COMMITt	   txn_beginR(   R*   t   cursorRu   Rv   RN   RO   RP   R
   RQ   RR   RS   t   get_current_sizeR;   Rs   R7   Rx   Rw   Ry   R8   RY   t   get_typet   DB_BTREEt	   set_rangeRM   t   DBKeyEmptyErrort   DB_KEYEMPTYRt   t   DB_POSITIONR9   t
   DB_CURRENTR1   R:   Ri   t   applyt   getattrt   DBError(   R   t   get_raises_errort   set_raises_errorRf   t   cR]   t   countR\   RO   t   rec2t   nt   evt   c2t   methods_to_testt   methodRR   t	   oldcursor(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test03_SimpleCursorStuff  s<    
	 	
"& 
	 	
     
 
"


 
 	c         C   sc   t  o  d Gd d GHd |  i i GHn |  i i d ƒ } |  i | d ƒ |  i d d d	 d ƒ d  S(
   Ns   
s   -=i   s<   Running %s.test03b_SimpleCursorStuffWithoutGetReturnsNone...i    i   Rˆ   i   R‰   (   R   RK   R   R*   t   set_get_returns_noneR
   R“   (   R   t   old(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt*   test03b_SimpleCursorWithoutGetReturnsNone0Ý  s    c         C   sS   t  o  d Gd d GHd |  i i GHn |  i i d ƒ } |  i d d d d ƒ d  S(	   Ns   
s   -=i   s<   Running %s.test03b_SimpleCursorStuffWithoutGetReturnsNone...i   Rˆ   i    R‰   (   R   RK   R   R*   R”   R“   (   R   R•   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt'   test03b_SimpleCursorWithGetReturnsNone1è  s    c         C   s…   t  o  d Gd d GHd |  i i GHn |  i i d ƒ } |  i | d ƒ |  i i d ƒ } |  i | d ƒ |  i d d d	 d ƒ d  S(
   Ns   
s   -=i   s<   Running %s.test03c_SimpleCursorStuffWithoutSetReturnsNone...i   i   Rˆ   i    R‰   (   R   RK   R   R*   R”   R
   R“   (   R   R•   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt#   test03c_SimpleCursorGetReturnsNone2ó  s    c         C   s\  |  i  } t o  d Gd d GHd |  i i GHn d } d d d d } | i | | ƒ |  i | i | ƒ | ƒ |  i | i | d	 d
 d d ƒd d ƒ | i d d d d ƒ |  i | i d d	 d d d ƒd ƒ |  i t i	 j on | i | d d	 d d d ƒ|  i | i | ƒ d ƒ | i | d d	 d d d ƒ|  i | i | ƒ d ƒ n d  S(   Ns   
s   -=i   s%   Running %s.test04_PartialGetAndPut...t   partialTestt   1iè  t   2Ro   i   Rp   iÞ  i
   t   partialtest2i0u  t   robini   t   0000iÐ  i    t   1111i   i   t   0011110t
   1111111111t
   2222222222(
   R*   R   RK   R   R9   R
   RL   R+   R   RT   (   R   R*   R>   R?   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test04_PartialGetAndPut  s$    	%c         C   sˆ   |  i  } t o  d Gd d GHd |  i i GHn xQ t d d d ƒ D]= } d | } | i | d	 | ƒ |  i | i | ƒ | ƒ qC Wd  S(
   Ns   
s   -=i   s   Running %s.test05_GetSize...i   iPÃ  iô  s   size%sRš   (   R*   R   RK   R   R6   R9   R
   t   get_size(   R   R*   t   iR>   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test05_GetSize!  s    	 
c         C   sŒ   |  i  } t o  d Gd d GHd |  i i GHn | i d d ƒ | i ƒ  } |  i | d j d ƒ | i ƒ  } |  i | d	 d
 | f ƒ d  S(   Ns   
s   -=i   s   Running %s.test99_Truncate...t   abcdet   ABCDEi   s,   truncate returned <= 0 on non-empty databasei    s*   truncate on empty DB returned nonzero (%r)(   R*   R   RK   R   R9   t   truncatet   assert_R
   (   R   R*   R@   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test06_Truncate1  s    	c         C   s3   |  i  i ƒ  t i |  i ƒ } | i |  i ƒ d  S(   N(   R*   R1   R   R)   R   t   verifyR&   (   R   R*   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test07_verify@  s    N(   R   R   R   t
   DB_UNKNOWNR   R-   R+   R.   R(   R,   R   R$   R"   R7   R0   R4   R/   R8   R_   Rk   R“   R–   R—   R˜   R£   R¦   R«   R­   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR   "   s.   		"	
		d	>Ã						t   BasicBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR¯   M  s   t   BasicHashTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   t   DB_HASHR   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR°   Q  s   t    BasicBTreeWithThreadFlagTestCasec           B   s   e  Z e i Z e i Z RS(    (   R   R   R   R   R   t	   DB_THREADR-   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR²   U  s   	t   BasicHashWithThreadFlagTestCasec           B   s   e  Z e i Z e i Z RS(    (   R   R   R   R±   R   R³   R-   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR´   Z  s   	t   BasicWithEnvTestCasec           B   sQ   e  Z e i Z d  Z e i e i Be i BZ d „  Z	 e i
 ƒ  d j  o [	 n RS(   i   c         C   s}   |  i  p d  St o  d Gd d GHd |  i i GHn |  i i ƒ  |  i d } |  i  i |  i d  | ƒ |  i  i	 | ƒ d  S(   Ns   
s   -=i   s'   Running %s.test08_EnvRemoveAndRename...s   .renamed(
   R   R   RK   R   R*   R1   R&   t   dbrenameR(   t   dbremove(   R   t   newname(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test08_EnvRemoveAndRenamef  s    
i   (   i   i   (   R   R   R   R³   R-   R   t   DB_INIT_MPOOLt   DB_INIT_LOCKR$   R¹   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRµ   _  s   		t   BasicBTreeWithEnvTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR¼   {  s   t   BasicHashWithEnvTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R±   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR½     s   t   BasicTransactionTestCasec           B   s¢   e  Z d  d k Z e i d  d j  o d d „ Z n e i e i BZ	 d Z
 e i e i Be i Be i BZ e i Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z RS(   iÿÿÿÿNi   i   i   i    c         C   s   |  i  | d | ƒd  S(   Nt   msg(   t
   failUnless(   R   t   exprR¿   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt
   assertTrueˆ  s    i   c         C   s   |  i  i ƒ  t i |  ƒ d  S(   N(   Rf   R:   R   R4   (   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR4   ’  s    c         C   s8   |  i  i ƒ  } t i |  d | ƒ|  i  i ƒ  |  _ d  S(   NR<   (   R   R{   R   R/   Rf   (   R   Rf   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR/   —  s    c         C   s0  |  i  } t o  d Gd d GHd |  i i GHn |  i | i d d |  i ƒd  ƒ | i d d |  i ƒ |  i | i d d |  i ƒd ƒ |  i i	 ƒ  |  i | i d ƒ d  ƒ |  i
 i ƒ  |  _ |  i | i d d |  i ƒd  ƒ | i d d |  i ƒ |  i | i d d |  i ƒd ƒ |  i i ƒ  |  i | i d ƒ d ƒ |  i
 i ƒ  |  _ | i |  i ƒ } | i ƒ  } d } xI | d  j	 o; | d	 } t o | d
 d j o	 | GHn | i ƒ  } q{W|  i | |  i d	 ƒ | i ƒ  |  i i ƒ  y |  i
 i d d d ƒ Wn t i j
 o n X|  i
 i d ƒ } |  i | i d ƒ ƒ |  i | i d ƒ ƒ |  i | i d ƒ ƒ |  i | i d ƒ ƒ |  i
 i t i t i Bƒ } |  i | d  ƒ x" | D] } t o d | GHqÂqÂWt i ƒ  d j o' |  i
 i t i ƒ } |  i | ƒ n |  i
 i ƒ  |  _ d  S(   Ns   
s   -=i   s!   Running %s.test06_Transactions...s   new recRf   s   this is a new recordi    i   id   t   magicR   t   cur_filet   region_nowaits
   log file: i   i   (   i   i   (   R*   R   RK   R   R
   RL   Rf   R(   R9   t   abortR   R{   R:   R|   Ru   Rv   R7   R1   t   txn_checkpointR   t   DBIncompleteErrort   log_statRª   Rh   t   log_archivet   DB_ARCH_ABSt   DB_ARCH_LOGt   assertNotEqualR   t   DB_ARCH_REMOVERÂ   (   R   R*   RŠ   R]   R‹   t   statDictt   logst   log(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test06_Transactionsž  sb    	"" 
	
 c         C   s«   |  i  } t o  d Gd d GHd |  i i GHn | i d d ƒ |  i i ƒ  } | i | ƒ } |  i | d j d ƒ | i | ƒ } |  i	 | d	 d
 | f ƒ | i
 ƒ  d  S(   Ns   
s   -=i   s    Running %s.test08_TxnTruncate...R§   R¨   i   s,   truncate returned <= 0 on non-empty databasei    s*   truncate on empty DB returned nonzero (%r)(   R*   R   RK   R   R9   R   R{   R©   Rª   R
   R:   (   R   R*   Rf   R@   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test08_TxnTruncateÜ  s    	c         C   sš   |  i  i ƒ  } | i ƒ  y | i ƒ  Wn t i j
 o	 } n Xt d ‚ |  i  i ƒ  } | i ƒ  y | i ƒ  Wn t i j
 o	 } n Xt d ‚ d  S(   NsB   DBTxn.abort() called after DB_TXN no longer valid w/o an exceptionsC   DBTxn.commit() called after DB_TXN no longer valid w/o an exception(   R   R{   RÆ   R   R‡   t   RuntimeErrorR:   (   R   Rf   t   e(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test09_TxnLateUseí  s    
	
(   i   i   i    (   R   R   RO   RP   R(   RÂ   R   R³   Rz   R-   R   Rº   R»   t   DB_INIT_TXNR$   R"   R4   R/   RÒ   RÓ   RÖ   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR¾   …  s   
				>	t   BTreeTransactionTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRØ     s   t   HashTransactionTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R±   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRÙ     s   t   BTreeRecnoTestCasec           B   s#   e  Z e i Z e i Z d  „  Z RS(   c         C   s  |  i  } t o  d Gd d GHd |  i i GHn | i d ƒ } |  i t | ƒ t d ƒ ƒ |  i t | ƒ d ƒ t o d G| GHn | i ƒ  } | i	 d ƒ | i
 ƒ  } |  i t | ƒ t d	 ƒ ƒ t o d
 G| GHn | i ƒ  } |  i | i | ƒ | ƒ | i ƒ  d  S(   Ns   
s   -=i   s!   Running %s.test08_RecnoInBTree...iÈ   i   s   Record #200 is t   0200i   s   recno of d['0200'] is (    (   R*   R   RK   R   RL   R
   R[   R;   R|   Ry   t	   get_recnoRs   t	   set_recnoR1   (   R   R*   R]   RŠ   R@   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test08_RecnoInBTree  s$    	(   R   R   R   R   R   t	   DB_RECNUMR+   RÞ   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRÚ     s   		t    BTreeRecnoWithThreadFlagTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R³   R-   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRà   )  s   t   BasicDUPTestCasec           B   s   e  Z e i Z d  „  Z RS(   c   	      C   s¿  |  i  } t o  d Gd d GHd |  i i GHn | i d d ƒ x$ d i ƒ  D] } | i d | ƒ qM W| i d	 d
 ƒ | i d ƒ } |  i | d ƒ t o	 | GHn | i ƒ  } | i	 d ƒ } |  i | d ƒ | i
 ƒ  } |  i | d ƒ | i	 d ƒ } | i ƒ  } |  i | d ƒ | i ƒ  } |  i | d ƒ | i	 d ƒ } x. | d  j	 o  t o	 | GHn | i ƒ  } qFW| i	 d ƒ | i ƒ  } |  i | d d ƒ t o	 | GHn | i ƒ  d  S(   Ns   
s   -=i   s"   Running %s.test09_DuplicateKeys...t   dup0t   befores-   The quick brown fox jumped over the lazy dog.t   dup1t   dup2t   aftert   Thet   quicki	   i    (   Rä   Rç   (   Rä   Rè   (   Rä   Rè   (   R*   R   RK   R   R9   t   splitRL   R
   R|   Ry   Rv   R‹   t   next_dupR(   t
   next_nodupRÍ   R1   (	   R   R*   R=   R?   RŠ   R]   t   next_regR‹   Rê   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test09_DuplicateKeys1  sH    	 	 		(   R   R   R   RT   R+   Rí   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRá   .  s   	t   BTreeDUPTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRî   `  s   t   HashDUPTestCasec           B   s   e  Z e i Z RS(    (   R   R   R   R±   R   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRï   c  s   t   BTreeDUPWithThreadTestCasec           B   s   e  Z e i Z e i Z RS(    (   R   R   R   R   R   R³   R-   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRð   f  s   	t   HashDUPWithThreadTestCasec           B   s   e  Z e i Z e i Z RS(    (   R   R   R   R±   R   R³   R-   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRñ   j  s   	t   BasicMultiDBTestCasec           B   s    e  Z d  Z d „  Z d „  Z RS(   Ru   c         C   s&   |  i  t i j o t i St i Sd  S(   N(   R   R   R   R±   (   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt	   otherTypet  s    c   
   	   C   sn  |  i  } t o  d Gd d GHd |  i i GHn t i |  i ƒ } | i |  i d |  i	 |  i
 t i Bƒ t i |  i ƒ } | i |  i d |  i ƒ  |  i
 t i Bƒ x- d i ƒ  D] } | i | |  i | ƒ ƒ q° Wx% t i D] } | i | | d ƒ qÝ W| i ƒ  | i ƒ  | i ƒ  | i ƒ  | i ƒ  | i ƒ  d  |  _  } } } t i |  i ƒ |  _  } | i |  i |  i d	 |  i
 ƒt i |  i ƒ } | i |  i d d	 |  i
 ƒt i |  i ƒ } | i |  i d d	 |  i
 ƒ| i ƒ  } | i ƒ  } | i ƒ  } d
 } | i ƒ  }	 xI |	 d  j	 o; | d } t o | d d
 j o	 |	 GHn | i ƒ  }	 qW|  i | |  i ƒ d
 } | i ƒ  }	 x8 |	 d  j	 o* | d } t o	 |	 GHn | i ƒ  }	 qŠW|  i | d ƒ d
 } | i ƒ  }	 x8 |	 d  j	 o* | d } t o	 |	 GHn | i ƒ  }	 qçW|  i | t t i ƒ ƒ | i ƒ  | i ƒ  | i ƒ  | i ƒ  | i ƒ  d  S(   Ns   
s   -=i   s   Running %s.test10_MultiDB...t   secondt   thirds,   The quick brown fox jumped over the lazy dogiF   R   i    i   i2   i	   (   R*   R   RK   R   R   R)   R   R#   R&   R   R-   R%   Ró   Ré   R9   R8   t   stringt   lettersRX   R1   R(   R,   R|   Ru   Rv   R
   R7   R;   (
   R   t   d1t   d2t   d3R=   t   c1R   t   c3R‹   R]   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test10_MultiDBz  s€    	 
 





 
	 
	 
	



(   R   R   R,   Ró   Rý   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRò   q  s   	t   BTreeMultiDBTestCasec           B   s7   e  Z e i Z e i Z d  Z e i e i Be i	 BZ
 RS(   i   (   R   R   R   R   R   R³   R-   R   Rº   R»   R$   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRþ   É  s   		t   HashMultiDBTestCasec           B   s7   e  Z e i Z e i Z d  Z e i e i Be i	 BZ
 RS(   i   (   R   R   R   R±   R   R³   R-   R   Rº   R»   R$   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRÿ   Ï  s   		t   PrivateObjectc           B   se   e  Z d  d k Z e i d  d j  o d d „ Z n d „  Z d „  Z d	 „  Z d
 „  Z	 d „  Z
 RS(   iÿÿÿÿNi   i   i   i    c         C   s   |  i  | d | ƒd  S(   NR¿   (   RÀ   (   R   RÁ   R¿   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRÂ   Ù  s    c         C   s
   |  `  d  S(   N(   t   obj(   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR4   Ü  s    c         C   s   |  i  |  i i ƒ  d  ƒ d  S(   N(   R
   R  t   get_privateR(   (   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test01_DefaultIsNoneß  s    c         C   s<   d } |  i  i | ƒ |  i  i ƒ  } |  i | | j ƒ d  S(   Ns   example of private object(   R  t   set_privateR  RÂ   (   R   t   at   b(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test02_assignmentâ  s    c         C   s{   d d  k  } d } | i | ƒ } |  i i | ƒ |  i | d | i | ƒ ƒ |  i i d  ƒ |  i | | i | ƒ ƒ d  S(   Niÿÿÿÿs   example of private objecti   (   RO   t   getrefcountR  R  R
   R(   (   R   RO   R  t   refcount(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test03_leak_assignmentè  s    c         C   sW   d d  k  } d } | i | ƒ } |  i i | ƒ d  |  _ |  i | | i | ƒ ƒ d  S(   Niÿÿÿÿs   example of private object(   RO   R  R  R  R(   R
   (   R   RO   R  R	  (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test04_leak_GCñ  s    	(   i   i   i    (   R   R   RO   RP   R(   RÂ   R4   R  R  R
  R  (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR   Ö  s   					t   DBEnvPrivateObjectc           B   s   e  Z d  „  Z RS(   c         C   s   t  i ƒ  |  _ d  S(   N(   R   R   R  (   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR0   ú  s    (   R   R   R0   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR  ù  s   t   DBPrivateObjectc           B   s   e  Z d  „  Z RS(   c         C   s   t  i ƒ  |  _ d  S(   N(   R   R)   R  (   R   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR0   þ  s    (   R   R   R0   (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR  ý  s   t   CrashAndBurnc           B   sA   e  Z d  d k Z e i d  d j  o d d „ Z n d „  Z RS(	   iÿÿÿÿNi   i   i   i    c         C   s   |  i  | d | ƒd  S(   NR¿   (   RÀ   (   R   RÁ   R¿   (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyRÂ     s    c         C   s7   d d  k  } |  i t i t i t i ƒ | i ƒ  d  S(   Niÿÿÿÿ(   t   gct   assertRaisesR   t   DBInvalidArgErrorR   t   DB_RPCCLIENTt   collect(   R   R  (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   test02_DBEnv_dealloc  s    (   i   i   i    (   R   R   RO   RP   R(   RÂ   R  (    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyR    s   c          C   sÈ  t  i ƒ  }  |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t	 ƒ ƒ |  i t  i t
 ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  i t  i t ƒ ƒ |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   R¯   R°   R²   R´   R¼   R½   RØ   RÙ   RÚ   Rà   Rî   Rï   Rð   Rñ   Rþ   Rÿ   R  R  R  (   t   suite(    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt
   test_suite  s,    t   __main__t   defaultTestR  (,   t   __doc__R2   t   errnoRö   R    R  R    t   test_allR   R   R   R   R   RA   t   TestCaseR   R   R¯   R°   R²   R´   Rµ   R¼   R½   R¾   RØ   RÙ   RÚ   Rà   Rá   Rî   Rï   Rð   Rñ   Rò   Rþ   Rÿ   R   R  R  R  R  R   t   main(    (    (    s3   /mit/python/lib/python2.6/bsddb/test/test_basics.pyt   <module>   sN   (ÿ ÿ -|2X#	