Ñò
•à"Ic           @   s°  d  Z  d d k Z d d k Z d d k Z d d k Z d d k l Z l Z l Z l	 Z	 l
 Z
 l Z d d" 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 „  Z e d j o e i d  d! ƒ n d S(#   s*   
TestCases for checking dbShelve objects.
iÿÿÿÿN(   t   dbt   dbshelvet   test_supportt   verboset   get_new_environment_patht   get_new_database_patht	   DataClassc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   t  i  ƒ  |  _ d  S(   N(   t   randomt   value(   t   self(    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   __init__   s    c         C   s   d |  i  S(   Ns   DataClass %f(   R   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   __repr__   s    c         C   s   t  |  i | ƒ S(   N(   t   cmpR   (   R	   t   other(    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   __cmp__   s    (   t   __name__t
   __module__R
   R   R   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR      s   		t   DBShelveTestCasec           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   s]   d d  k  } | i d d j o# d d k l } | t ƒ |  _ n t ƒ  |  _ |  i ƒ  d  S(   Niÿÿÿÿi    i   (   t   do_proxy_db_py3k(	   t   syst   version_infot   test_allR   t   Falset   _flag_proxy_db_py3kR   t   filenamet   do_open(   R	   R   R   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   setUp   s    c         C   s_   d d  k  } | i d d j o! d d k l } | |  i ƒ n |  i ƒ  t i |  i ƒ d  S(   Niÿÿÿÿi    i   (   R   (	   R   R   R   R   R   t   do_closeR   t   unlinkR   (   R	   R   R   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   tearDown'   s    
c         C   s6   d d k  } | i d d j  o | St | d ƒ Sd S(   s1   Turn key into an appropriate key type for this dbiÿÿÿÿNi    i   s	   iso8859-1(   R   R   t   bytes(   R	   t   keyR   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   mk/   s    c         C   sº   x³ t  i D]¨ } d | | |  i d | ƒ <t | ƒ | |  i d | ƒ <| g d | |  i d | ƒ <t ƒ  } d | | _ t | ƒ | _ | g d | _ | | |  i d | ƒ <q
 Wd  S(   Ni
   t   St   It   Lt   O(   t   stringt   lettersR    t   ordR   R!   R"   R#   (   R	   t   dt   xt   inst(    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt
   populateDB8   s    
 	c         C   s   t  i |  i ƒ |  _ d  S(   N(   R   t   openR   R(   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR   F   s    c         C   s   |  i  i ƒ  d  S(   N(   R(   t   close(   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR   J   s    c         C   sA  t  o  d Gd d GHd |  i i GHn |  i |  i ƒ |  i i ƒ  |  i ƒ  |  i ƒ  |  i } t | ƒ } | i	 ƒ  } | i
 ƒ  } | i ƒ  } t  o d G| GHd G| GHd G| GHn |  i d | i |  i d	 ƒ ƒ ƒ |  i d
 | i |  i d ƒ ƒ ƒ |  i d
 | i |  i d ƒ ƒ ƒ | i |  i d ƒ ƒ | |  i d ƒ =|  i d | i |  i d ƒ ƒ ƒ |  i d | i |  i d ƒ ƒ ƒ |  i t | ƒ | d ƒ g  } xU | i	 ƒ  D]G } | | } | i | ƒ t  o d | | f GHn |  i | | ƒ q´W| i ƒ  }	 |  i t |	 ƒ t | i	 ƒ  ƒ ƒ d d  k }
 |
 i d d j  o( | i ƒ  |	 i ƒ  |  i | |	 ƒ nC | i d d „  ƒ |	 i d d „  ƒ |  i t | ƒ t |	 ƒ ƒ | i ƒ  } |  i t | ƒ t | ƒ ƒ x$ | D] \ } } |  i | | ƒ qæW|  i | i |  i d	 ƒ ƒ d  ƒ |  i | i |  i d	 ƒ d  ƒ d  ƒ |  i | i |  i d	 ƒ d ƒ d ƒ |  i | i |  i d	 ƒ d
 d d g ƒ d
 d d g ƒ | i d ƒ |  i t i | i |  i d	 ƒ ƒ | i d
 ƒ | i |  i d ƒ d ƒ |  i | i |  i d ƒ ƒ d ƒ |  i | |  i d ƒ d ƒ d  S(   Ns   
s   -=i   s   Running %s.test01_basics...s   length:s   keys:s   stats:i    s   bad keyi   t   IAt   OAi   s   %s: %siÿÿÿÿi   R   c         S   s
   t  |  ƒ S(    (   t   str(   R)   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   <lambda>~   s    c         S   s
   t  |  ƒ S(    (   R0   (   R)   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR1      s    s   a strings   new keys   new data(   R   t	   __class__R   R+   R(   t   syncR   R   t   lent   keyst   statt   fdt   assertEqualt   has_keyR    t   deletet   appendt   checkrect   valuesR   R   t   sortt   reprt   itemst   gett   Nonet   set_get_returns_nonet   assertRaisesR    t   DBNotFoundErrort   put(   R	   R(   t   lt   kt   st   fR=   R   R   t   dbvaluesR   R@   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   test01_basicsO   sr    

			""""" 
"

 "%%7""c         C   sž  t  o  d Gd d GHd |  i i GHn |  i |  i ƒ |  i } d } | i ƒ  } | i ƒ  } xZ | d  j	 oL | d } t  o	 | GHn | \ } } |  i | | ƒ t	 | d ƒ ƒ  } qa W~ |  i
 | t | ƒ ƒ d } | i ƒ  } | i ƒ  } xT | d  j	 oF | d } t  o	 | GHn | \ } } |  i | | ƒ | i ƒ  } qõ W|  i
 | t | ƒ ƒ | i |  i d ƒ ƒ | i ƒ  \ } } |  i | | ƒ ~ d  S(	   Ns   
s   -=i   s   Running %s.test02_cursors...i    i   t   nextt   SS(   R   R2   R   R+   R(   t   cursort   firstRB   R<   t   getattrR8   R4   t   lastt   prevt   setR    t   current(   R	   R(   t   countt   ct   recR   R   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   test02_cursors—   sD    	 
	 
	c         C   sG   t  o  d Gd d GHd |  i i GHn |  i t i |  i i d ƒ d  S(   Ns   
s   -=i   s   Running %s.test03_append...s   unit test was here(   R   R2   R   RD   R   t   DBShelveErrorR(   R;   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   test03_appendÁ   s
    c         C   sæ  d d  k  } | i d d j o' t | t ƒ o | i d ƒ } qG n | d } | d d j o. |  i t | ƒ t ƒ |  i | d | ƒ nS| d d j o0 |  i t | ƒ t ƒ |  i | t	 | ƒ ƒ n| d d	 j o1 |  i t | ƒ t
 ƒ |  i | | g d ƒ nÐ | d d
 j o® d d  k  } | i d d j  o* d d k l } |  i t | ƒ | ƒ n |  i t | ƒ t ƒ |  i | i d | ƒ |  i | i t	 | ƒ ƒ |  i | i | g d ƒ n |  i d d ƒ d  S(   Niÿÿÿÿi    i   s	   iso8859-1i   R!   i
   R"   R#   R$   (   t   InstanceTypes   Unknown key type, fix the test(   R   R   t
   isinstanceR   t   decodeR8   t   typeR0   t   intR'   t   listt   typesR\   R   R!   R"   R#   t   assert_(   R	   R   R   R   R)   R\   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR<   Ë   s0    
(   R   R   R   R   R    R+   R   R   RL   RY   R[   R<   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR      s   								H	*	
t   BasicShelveTestCasec           B   s   e  Z d  „  Z d „  Z RS(   c         C   s2   t  i ƒ  |  _ |  i i |  i |  i |  i ƒ d  S(   N(   R   t   DBShelfR(   R,   R   t   dbtypet   dbflags(   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR   ò   s    c         C   s   |  i  i ƒ  d  S(   N(   R(   R-   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR   ö   s    (   R   R   R   R   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRd   ñ   s   	t   BTreeShelveTestCasec           B   s   e  Z e i Z e i Z RS(    (   R   R   R    t   DB_BTREERf   t	   DB_CREATERg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRh   ú   s   	t   HashShelveTestCasec           B   s   e  Z e i Z e i Z RS(    (   R   R   R    t   DB_HASHRf   Rj   Rg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRk   ÿ   s   	t   ThreadBTreeShelveTestCasec           B   s!   e  Z e i Z e i e i BZ RS(    (   R   R   R    Ri   Rf   Rj   t	   DB_THREADRg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRm     s   	t   ThreadHashShelveTestCasec           B   s!   e  Z e i Z e i e i BZ RS(    (   R   R   R    Rl   Rf   Rj   Rn   Rg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRo   	  s   	t   BasicEnvShelveTestCasec           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   sŠ   t  i ƒ  |  _ |  i i |  i |  i t  i Bt  i Bƒ t i	 i
 |  i ƒ d |  _ t i |  i ƒ |  _ |  i i |  i |  i |  i ƒ d  S(   Ni   (   R    t   DBEnvt   envR,   t   homeDirt   envflagst   DB_INIT_MPOOLRj   t   ost   patht   splitR   R   Re   R(   Rf   Rg   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR     s    c         C   s   |  i  i ƒ  |  i i ƒ  d  S(   N(   R(   R-   Rr   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR     s    c         C   s   t  ƒ  |  _ t i |  ƒ d  S(   N(   R   Rs   R   R   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR      s    c         C   s_   d d  k  } | i d d j o! d d k l } | |  i ƒ n |  i ƒ  t i |  i ƒ d  S(   Niÿÿÿÿi    i   (   R   (	   R   R   R   R   R   R   R   t   rmtreeRs   (   R	   R   R   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR   $  s    
(   R   R   R   R   R   R   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRp     s   	
		t   EnvBTreeShelveTestCasec           B   s    e  Z d  Z e i Z e i Z RS(   i    (   R   R   Rt   R    Ri   Rf   Rj   Rg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyRz   -  s   	t   EnvHashShelveTestCasec           B   s    e  Z d  Z e i Z e i Z RS(   i    (   R   R   Rt   R    Rl   Rf   Rj   Rg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR{   3  s   	t   EnvThreadBTreeShelveTestCasec           B   s*   e  Z e i Z e i Z e i e i BZ RS(    (	   R   R   R    Rn   Rt   Ri   Rf   Rj   Rg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR|   9  s   		t   EnvThreadHashShelveTestCasec           B   s*   e  Z e i Z e i Z e i e i BZ RS(    (	   R   R   R    Rn   Rt   Rl   Rf   Rj   Rg   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR}   ?  s   		t   RecNoShelveTestCasec           B   s>   e  Z e i Z e i Z d  „  Z d „  Z d „  Z	 d „  Z
 RS(   c         C   s;   t  i |  ƒ t t d d ƒ ƒ |  _ h  |  _ h  |  _ d  S(   Ni   iˆ  (   Rd   R   Ra   t   ranget   key_poolt   key_mapt
   intkey_map(   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR   L  s    	c         C   sL   | |  i  j o1 |  i i d ƒ |  i  | <| |  i |  i  | <n |  i  | S(   Ni    (   R   R€   t   popR‚   (   R	   R   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR    T  s    c         C   s$   |  i  | } t i |  | | ƒ d  S(   N(   R‚   Rd   R<   (   R	   t   intkeyR   R   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR<   Z  s    c         C   sí   t  o  d Gd d GHd |  i i GHn d |  i d <d |  i d <|  i d	 |  i i d ƒ ƒ |  i d
 |  i i d ƒ ƒ |  i d |  i i d	 ƒ ƒ |  i d |  i i d ƒ ƒ |  i d |  i i d
 ƒ ƒ |  i d |  i i d ƒ ƒ d  S(   Ns   
s   -=i   s   Running %s.test03_append...t   spami   t   eggsi   i   i   s   baked beans(   R   R2   R   R(   R8   R;   RA   (   R	   (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR[   ^  s    (   R   R   R    t   DB_RECNORf   Rj   Rg   R   R    R<   R[   (    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyR~   H  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 ƒ ƒ |  S(   N(   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   Rh   Rk   Rm   Ro   Rz   R{   R|   R}   R~   (   t   suite(    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt
   test_suiteo  s    t   __main__t   defaultTestR   (    (   t   __doc__Rv   R%   R   Rˆ   R   R    R   R   R   R   R   R   t   TestCaseR   Rd   Rh   Rk   Rm   Ro   Rp   Rz   R{   R|   R}   R~   R   R   t   main(    (    (    s5   /mit/python/lib/python2.6/bsddb/test/test_dbshelve.pyt   <module>   s(   .	Ó		'	