
"Ic           @   so  d  Z  d d k 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 l Z l	 Z	 l
 Z
 l Z l Z l Z h7 d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d! 6d d$ 6d d' 6d d* 6d d- 6d d0 6d d3 6d d6 6d d9 6d d< 6d d> 6d d@ 6d dB 6d dD 6d dG 6d dI 6d dK 6d dM 6d dO 6d dQ 6d dS 6d dU 6d dW 6d d[ 6d d] 6d d_ 6d da 6d dc 6d de 6d dh 6d dj 6d dn 6d dp 6d dr 6d du 6d dw 6d dy 6d d| 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6Z 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   Z e d j o e i  d d  n d S(   s   
TestCases for DB.associate.
iN(   t   pprint(   t   dbt   dbshelvet   test_supportt   verboset   have_threadst   get_new_environment_paths   Bad Englishs   The Price Of Lovet   Rocki   s   DNA featuring Suzanne Vegas   Tom's Dineri   s   George Michaels   Praying For Timei   s   Gloria Estefans   Here We Arei   s   Linda Ronstadts   Don't Know Muchi   s   Michael Boltons%   How Am I Supposed To Live Without Yout   Bluesi   s
   Paul Youngs   Oh Girli   s   Paula Abduls   Opposites Attracti   s   Richard Marxs   Should've Known Betteri	   s   Rod Stewarts   Forever Youngi
   t   Roxettet	   Dangerousi   s   Sheena Eastons   The Lover In Mei   s   Sinead O'Connors   Nothing Compares 2 Ui   s	   Stevie B.s   Because I Love Youi   s   Taylor Daynes   Love Will Lead You Backi   s   The Bangless   Eternal Flamei   s   Wilson Phillipss
   Release Mei   s
   Billy Joels   Blonde Over Bluei   s   Famous Last Wordsi   s   Lullabye (Goodnight, My Angel)i   s   The River Of Dreamsi   s   Two Thousand Yearsi   s   Janet Jacksont   Alrighti   s	   Black Cati   s   Come Back To Mei   t   Escapadei   s    Love Will Never Do (Without You)i   s   Miss You Muchi   s   Rhythm Nationi   s   State Of The Worldi   s   The Knowledgei   s
   Spyro Gyras   End of Romanticismt   Jazzi    t
   Heliopolisi!   t   Jubileei"   s   Little Lindai#   s   Morning Dancei$   s   Song for Lorrainei%   t   Yess   Owner Of A Lonely Hearti&   s   Rhythm Of Lovei'   t   Cuscos   Dream Catchers   New Agei(   s   Geronimos Laughteri)   s   Ghost Dancei*   s   Blue Man Groupt   Drumbonei+   s   Endless Columni,   s   Klein Mandelbroti-   s   Kenny Gt
   Silhouettei.   t   Sades   Smooth Operatori/   s   David Arkenstones(   Papillon (On The Wings Of The Butterfly)i0   s   Stepping Starsi1   s   Carnation Lily Lily Rosei2   s
   David Lanzs   Behind The Waterfalli3   s   Cristofori's Dreami4   t   Heartsoundsi5   s   Leaves on the Seinei6   s   unknown artists   Unnamed songt   Unknownic   t   AssociateErrorTestCasec           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   sR   |  i  i d |  _ t   |  _ t i   |  _ |  i i |  i t i	 t i
 B d  S(   Ns   .db(   t	   __class__t   __name__t   filenameR   t   homeDirR   t   DBEnvt   envt   opent	   DB_CREATEt   DB_INIT_MPOOL(   t   self(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   setUpO   s    c         C   s*   |  i  i   d  |  _  t i |  i  d  S(   N(   R   t   closet   NoneR   t   rmtreeR   (   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   tearDownU   s    	c         C   s  t  o  d Gd d GHd |  i i GHn t i |  i  } | i t i  | i |  i	 d t i
 t i  t i |  i  } | i |  i	 d t i
 t i  y d   } | i | |  Wn* t i j
 o | i   | i   n# X| i   | i   |  i d  d  S(	   Ns   
s   -=i   s%   Running %s.test00_associateDBError...t   primaryt	   secondaryc         S   s   |  | S(   N(    (   t   at   b(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   fj   s    s   DBError exception was expected(   R   R   R   R   t   DBR   t	   set_flagst   DB_DUPR   R   t   DB_BTREER   t	   associatet   DBErrorR#   t   fail(   R!   t   dupDBt   secDBR+   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   test00_associateDBErrorZ   s$    	


(   R   t
   __module__R"   R&   R5   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR   N   s   		t   AssociateTestCasec           B   s}   e  Z d  Z d Z d Z d   Z d   Z d d  Z d d  Z	 d   Z
 d   Z d   Z d	   Z d d
  Z d   Z RS(   t    i    c         C   sg   |  i  i d |  _ t   |  _ t i   |  _ |  i i |  i t i	 t i
 Bt i Bt i B|  i B d  S(   Ns   .db(   R   R   R   R   R   R   R   R   R   R   R    t   DB_INIT_LOCKt	   DB_THREADt   envFlags(   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR"      s
    c         C   s4   |  i    |  i i   d  |  _ t i |  i  d  S(   N(   t   closeDBR   R#   R$   R   R%   R   (   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR&      s    
	c         C   sj   xc t  i   D]U \ } } t |  i  t d  j o d | } n | i | d i |  d | q Wd  S(   NR8   s   %02dt   |t   txn(   t	   musicdatat   itemst   typet   keytypet   putt   join(   R!   t   dR>   t   keyt   value(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   addDataToDB   s
     c         C   s   d  |  _ d  |  _ t i |  i  |  _ |  i i d  t i   d j o: |  i i	 |  i
 d |  i t i t i B|  i Bd | n1 |  i i	 |  i
 d |  i t i t i B|  i B d  S(   Ni   i   i   R'   R>   (   i   i   (   R$   t   curR4   R   R,   R   R'   t   set_get_returns_nonet   versionR   R   t   dbtypeR   R:   t   dbFlags(   R!   R>   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   createDB   s    		"c         C   sb   |  i  o |  i  i   d  |  _  n |  i o |  i i   d  |  _ n |  i i   d  |  _ d  S(   N(   RI   R#   R$   R4   R'   (   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR<      s    

c         C   s   |  i  S(   N(   R'   (   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   getDB   s    c         C   s   t  o  d Gd d GHd |  i i GHn |  i   t i |  i  |  _ |  i i t i	  |  i i
 d  |  i i |  i d t i t i t i B|  i B |  i   i |  i |  i  |  i |  i    |  i |  i  d  S(   Ns   
s   -=i   s$   Running %s.test01_associateWithDB...i   R(   (   R   R   R   RN   R   R,   R   R4   R-   R.   RJ   R   R   R/   R   R:   RM   RO   R0   t   getGenreRH   t   finish_test(   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   test01_associateWithDB   s    
c         C   s   t  o  d Gd d GHd |  i i GHn |  i   |  i |  i    t i |  i  |  _	 |  i	 i
 t i  |  i	 i |  i d t i t i t i B|  i B |  i   i |  i	 |  i t i  |  i |  i	  d  S(   Ns   
s   -=i   s%   Running %s.test02_associateAfterDB...R(   (   R   R   R   RN   RH   RO   R   R,   R   R4   R-   R.   R   R   R/   R   R:   RM   R0   RP   RQ   (   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   test02_associateAfterDB   s    
"c         C   s  | i  d d | } |  i | d  |  | i  d d | } |  i | d d j p | d d j |  | d i d  | d i d  | d i d	  t o	 d
 GHn |  i   i |  |  _ d } |  i i	   } x | d  j	 o t
 |  i  t
 d  j o |  i t | d   n/ |  i | d o t
 | d  t
 d  j  | d } t o	 | GHn t |  i d    } q W|  i | t t   t o	 d GHn | i |  |  _ d } |  i i  d d t i } |  i | d d j p | d d j |  |  i | d d  | d i d  | d i d  | d i d	  |  i i  d d d d t i } |  i | d  |  |  i i	   } |  i | d d  xA | d  j	 o3 | d } t o	 | GHn t |  i d    } qW|  i | t t  d  d  |  _ d  S(   NR   R>   R   i    ic   t   99i   t   Unnamedt   unknowns   Primary key traversal:R8   t   nexts   Secondary key traversal:t   flagsi   t   datas   wrong valueR   (   t   pgett   assertEqualR$   t   assert_t   indexR   RO   t   cursorRI   t   firstRA   RB   t   intt   getattrt   lenR?   R   t   DB_LASTt   DB_GET_BOTH(   R!   R4   R>   t   valst   countt   rec(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRQ      sX    +	 .
		+! 
	c         C   sf   |  i  t |  t d   | i d  d } t o d | | f GHn | d j o t i S| Sd  S(   NR8   R=   i   s   getGenre key: %r data: %rR   (   R[   RA   t   splitR   R   t   DB_DONOTINDEX(   R!   t   priKeyt   priDatat   genre(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRP     s    N(   R   R6   RB   R;   RM   R"   R&   R$   RH   RN   R<   RO   RR   RS   RQ   RP   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR7   z   s   			
			8t   AssociateHashTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   t   DB_HASHRL   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRm     s   t   AssociateBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   R/   RL   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRo     s   t   AssociateRecnoTestCasec           B   s   e  Z e i Z d  Z RS(   i    (   R   R6   R   t   DB_RECNORL   RB   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRp   "  s   	t   AssociateBTreeTxnTestCasec           B   s)   e  Z e i Z d  Z d   Z d   Z RS(   i    c         C   sX   z |  i  | d | Wd  |  i o |  i i   d  |  _ n | o | i   n Xd  S(   NR>   (   RQ   RI   R#   R$   t   commit(   R!   t   sDBR>   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   txn_finish_test,  s    
c      
   C   sP  t  o  d Gd d GHd |  i i GHn |  i i   } y |  i d |  t i |  i  |  _ |  i i	 t i
  |  i i d  |  i i |  i d t i t i t i Bd | t i   d
 j o& |  i   i |  i |  i d | n |  i   i |  i |  i  |  i |  i   d | Wn | i     n X|  i |  i d | d  S(   Ns   
s   -=i   s(   Running %s.test13_associateAutoCommit...R>   i   R(   i   i   (   i   i   (   R   R   R   R   t	   txn_beginRN   R   R,   R4   R-   R.   RJ   R   R   R/   R   R:   RK   RO   R0   RP   RH   t   abortRu   (   R!   R>   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   test13_associate_in_transaction6  s(    &
(   R   R6   R   t   DB_INIT_TXNR;   RM   Ru   Rx   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRr   (  s   		
t   ShelveAssociateTestCasec           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s1   t  i |  i d d d |  i d |  i |  _ d  S(   Nt   dbnameR'   t   dbenvt   filetype(   R   R   R   R   RL   R'   (   R!   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRN   V  s    	c         C   s[   xT t  i   D]F \ } } t |  i  t d  j o d | } n | i | |  q Wd  S(   NR8   s   %02d(   R?   R@   RA   RB   RC   (   R!   RE   RF   RG   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRH   \  s
     c         C   s]   |  i  t |  t d   t o d | | f GHn | d } | d j o t i S| Sd  S(   Ns   getGenre key: %r data: %ri   R   (    (   R[   RA   R   R   Ri   (   R!   Rj   Rk   Rl   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRP   c  s    
(   R   R6   RN   RH   RP   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRz   T  s   		t   ShelveAssociateHashTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   Rn   RL   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR~   n  s   t   ShelveAssociateBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   R/   RL   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR   q  s   t   ShelveAssociateRecnoTestCasec           B   s   e  Z e i Z d  Z RS(   i    (   R   R6   R   Rq   RL   RB   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR   t  s   	t   ThreadedAssociateTestCasec           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s|   t  d |  i d | f  } t  d |  i d | f  } | i t  | i t  | i   | i   | i   | i   d  S(   Nt   targett   args(   t   Threadt   writer1t   writer2t	   setDaemont   Truet   startRD   (   R!   RE   t   t1t   t2(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyRH   }  s    


c         C   sd   x] t  i   D]O \ } } t |  i  t d  j o d | } n | i | d i |   q Wd  S(   NR8   s   %02dR=   (   R?   R@   RA   RB   RC   RD   (   R!   RE   RF   RG   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR     s
     c         C   sN   xG t  d d  D]6 } d | } | g d } | i | d i |   q Wd  S(   Nid   iX  s   z%2di   R=   (   t   rangeRC   RD   (   R!   RE   t   xRF   RG   (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR     s
     
(   R   R6   RH   R   R   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR   {  s   		t   ThreadedAssociateHashTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   Rn   RL   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR     s   t   ThreadedAssociateBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   R/   RL   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR     s   t   ThreadedAssociateRecnoTestCasec           B   s   e  Z e i Z d  Z RS(   i    (   R   R6   R   Rq   RL   RB   (    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyR     s   	c          C   s$  t  i   }  |  i t  i t   |  i t  i t   |  i t  i t   |  i t  i t   t i	   d j o |  i t  i t
   n |  i t  i t   |  i t  i t   |  i t  i t   t oF |  i t  i t   |  i t  i t   |  i t  i t   n |  S(   Ni   i   (   i   i   (   t   unittestt	   TestSuitet   addTestt	   makeSuiteR   Rm   Ro   Rp   R   RK   Rr   R~   R   R   R   R   R   R   (   t   suite(    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt
   test_suite  s    t   __main__t   defaultTestR   (   s   Bad Englishs   The Price Of LoveR   (   s   DNA featuring Suzanne Vegas   Tom's DinerR   (   s   George Michaels   Praying For TimeR   (   s   Gloria Estefans   Here We AreR   (   s   Linda Ronstadts   Don't Know MuchR   (   s   Michael Boltons%   How Am I Supposed To Live Without Yous   Blues(   s
   Paul Youngs   Oh GirlR   (   s   Paula Abduls   Opposites AttractR   (   s   Richard Marxs   Should've Known BetterR   (   s   Rod Stewarts   Forever YoungR   (   R	   R
   R   (   s   Sheena Eastons   The Lover In MeR   (   s   Sinead O'Connors   Nothing Compares 2 UR   (   s	   Stevie B.s   Because I Love YouR   (   s   Taylor Daynes   Love Will Lead You BackR   (   s   The Bangless   Eternal FlameR   (   s   Wilson Phillipss
   Release MeR   (   s
   Billy Joels   Blonde Over BlueR   (   s
   Billy Joels   Famous Last WordsR   (   s
   Billy Joels   Lullabye (Goodnight, My Angel)R   (   s
   Billy Joels   The River Of DreamsR   (   s
   Billy Joels   Two Thousand YearsR   (   s   Janet JacksonR   R   (   s   Janet Jacksons	   Black CatR   (   s   Janet Jacksons   Come Back To MeR   (   s   Janet JacksonR   R   (   s   Janet Jacksons    Love Will Never Do (Without You)R   (   s   Janet Jacksons   Miss You MuchR   (   s   Janet Jacksons   Rhythm NationR   (   s   Janet Jacksons   State Of The WorldR   (   s   Janet Jacksons   The KnowledgeR   (   s
   Spyro Gyras   End of Romanticisms   Jazz(   s
   Spyro GyraR   s   Jazz(   s
   Spyro GyraR   s   Jazz(   s
   Spyro Gyras   Little Lindas   Jazz(   s
   Spyro Gyras   Morning Dances   Jazz(   s
   Spyro Gyras   Song for Lorraines   Jazz(   R   s   Owner Of A Lonely HeartR   (   R   s   Rhythm Of LoveR   (   R   s   Dream Catchers   New Age(   R   s   Geronimos Laughters   New Age(   R   s   Ghost Dances   New Age(   s   Blue Man GroupR   s   New Age(   s   Blue Man Groups   Endless Columns   New Age(   s   Blue Man Groups   Klein Mandelbrots   New Age(   s   Kenny GR   s   Jazz(   R   s   Smooth Operators   Jazz(   s   David Arkenstones(   Papillon (On The Wings Of The Butterfly)s   New Age(   s   David Arkenstones   Stepping Starss   New Age(   s   David Arkenstones   Carnation Lily Lily Roses   New Age(   s
   David Lanzs   Behind The Waterfalls   New Age(   s
   David Lanzs   Cristofori's Dreams   New Age(   s
   David LanzR   s   New Age(   s
   David Lanzs   Leaves on the Seines   New Age(   s   unknown artists   Unnamed songs   Unknown(!   t   __doc__t   syst   ost   stringt   timeR    R   t   test_allR   R   R   R   R   R   R?   t   TestCaseR   R7   Rm   Ro   Rp   Rr   Rz   R~   R   R   R   R   R   R   R   R   t   main(    (    (    s6   /mit/python/lib/python2.6/bsddb/test/test_associate.pyt   <module>   s   $. 
,,	