Ñò
ïžòKc           @   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.
iÿÿÿÿN(   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(    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/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(    (    s/   scripts/common/Lib/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+   (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyt   test00_associateDBErrorZ   s$    	


(   R   t
   __module__R"   R&   R5   (    (    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/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(    (    s/   scripts/common/Lib/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>   (    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyR<   ž   s    

c         C   s   |  i  S(   N(   R'   (   R!   (    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/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(    (    s/   scripts/common/Lib/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(    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyRP     s    N(   R   R6   RB   R;   RM   R"   R&   R$   RH   RN   R<   RO   RR   RS   RQ   RP   (    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyR7   z   s   			
			8t   AssociateHashTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   t   DB_HASHRL   (    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyRm     s   t   AssociateBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   R/   RL   (    (    (    s/   scripts/common/Lib/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   (    (    (    s/   scripts/common/Lib/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>   (    (    s/   scripts/common/Lib/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>   (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyt   test13_associate_in_transaction6  s(    &
(   R   R6   R   t   DB_INIT_TXNR;   RM   Ru   Rx   (    (    (    s/   scripts/common/Lib/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!   (    (    s/   scripts/common/Lib/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   (    (    s/   scripts/common/Lib/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   (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyRP   c  s    
(   R   R6   RN   RH   RP   (    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyRz   T  s   		t   ShelveAssociateHashTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   Rn   RL   (    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyR~   n  s   t   ShelveAssociateBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   R/   RL   (    (    (    s/   scripts/common/Lib/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   (    (    (    s/   scripts/common/Lib/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(    (    s/   scripts/common/Lib/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   (    (    s/   scripts/common/Lib/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   (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyR†   �  s
     
(   R   R6   RH   R…   R†   (    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyR�   {  s   		t   ThreadedAssociateHashTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   Rn   RL   (    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyRŽ   —  s   t   ThreadedAssociateBTreeTestCasec           B   s   e  Z e i Z RS(    (   R   R6   R   R/   RL   (    (    (    s/   scripts/common/Lib/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   (    (    (    s/   scripts/common/Lib/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(    (    s/   scripts/common/Lib/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(    (    (    s/   scripts/common/Lib/bsddb/test/test_associate.pyt   <module>   sž   $. 
,¢,	