ó
ÓnùWc           @   sã  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 m
 Z
 m Z d d l m Z d d l m Z m Z d d l m Z d d l m Z m Z d d l m Z d d l m Z d d	 l m Z i d
 d 6d d 6d
 g d 6i d g d
 6d 6Z d e Z e j d f k rUd j d ƒ Z n d Z d „  Z d „  Z  d d „ Z! d „  Z" d „  Z# d e j$ f d „  ƒ  YZ% d e
 j& f d „  ƒ  YZ' d  e
 j& f d! „  ƒ  YZ( d" „  Z) d S(#   s   sdist testsiÿÿÿÿN(   t   environmentt   test_svn(   t   skipIf(   t   StringIOt   unicode(   t   sdistt   walk_revctrl(   t   manifest_maker(   t   Distribution(   t	   svn_utilst
   sdist_testt   names   0.0t   versiont   packagess   *.txtt   package_datas*   from setuptools import setup

setup(**%r)
i   s   smÃ¶rbrÃ¶d.pys   latin-1s   smörbröd.pyc           C   s0   t  j t  j a a t ƒ  t ƒ  t  _ t  _ d  S(   N(   t   syst   stdoutt   stderrt
   old_stdoutt
   old_stderrR   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   quiet,   s    c           C   s   t  t t _ t _ d  S(   N(   R   R   R   R   R   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   unquiet1   s    s   utf-8c         C   s    t  j d k r |  j | ƒ S|  S(   Ni   (   i   (   R   t   version_infot   encode(   t   st   encoding(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   b6   s    c         C   sX   t  j d k rA t |  t ƒ rA |  j t j j d ƒ t d ƒ ƒ S|  j t j d ƒ Sd  S(   Ni   t   asciit   /(   i   (	   R   R   t
   isinstancet   strt   replacet   ost   sepR   R   (   t   path(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   posix=   s    "c         C   sk   t  |  t ƒ r t j d |  ƒ Sy4 |  j d ƒ }  t j d |  ƒ }  |  j d ƒ }  Wn t k
 rf n X|  S(   Nt   NFDs   utf-8(   R   R   t   unicodedatat	   normalizet   decodeR   t   UnicodeError(   R"   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt	   decomposeE   s    t   TestSdistTestc           B   s°   e  Z d  „  Z d „  Z d „  Z d „  Z e j d k rN d „  Z d „  Z	 n  d „  Z
 e j d k rr d „  Z n  e e j d k o“ e j ƒ  d	 k d
 ƒ d „  ƒ Z d „  Z RS(   c         C   sÎ   t  j ƒ  |  _ t t j j |  j d ƒ d ƒ } | j t ƒ | j	 ƒ  t j j |  j d ƒ } t j
 | ƒ x< d d d d g D]( } t t j j | | ƒ d ƒ j	 ƒ  q Wt j ƒ  |  _ t j |  j ƒ d  S(   Ns   setup.pyt   wR
   s   __init__.pys   a.txts   b.txts   c.rst(   t   tempfilet   mkdtempt   temp_dirt   openR    R"   t   joint   writet   SETUP_PYt   closet   mkdirt   getcwdt   old_cwdt   chdir(   t   selft   ft   test_pkgt   fname(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   setUpS   s    !
&c         C   s$   t  j |  j ƒ t j |  j ƒ d  S(   N(   R    R7   R6   t   shutilt   rmtreeR.   (   R8   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   tearDownd   s    c         C   sÁ   t  t ƒ } d | _ t | ƒ } | j ƒ  t ƒ  z | j ƒ  Wd t ƒ  X| j j	 } |  j
 t j j d d ƒ | k ƒ |  j
 t j j d d ƒ | k ƒ |  j
 t j j d d ƒ | k ƒ d S(   s²   Regression test for pull request #4: ensures that files listed in
        package_data are included in the manifest even if they're not added to
        version control.
        s   setup.pyNR
   s   a.txts   b.txts   c.rst(   R   t   SETUP_ATTRSt   script_nameR   t   ensure_finalizedR   t   runR   t   filelistt   filest
   assertTrueR    R"   R0   (   R8   t   distt   cmdt   manifest(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   test_package_data_in_sdisth   s    	
""c         C   sL  t  t ƒ } d | _ t | ƒ } t j j d d ƒ | _ t j d ƒ t j j d d ƒ } t	 ƒ  z+ | j
 ƒ  | j j j | ƒ | j ƒ  Wd  t ƒ  Xt | j d ƒ } | j ƒ  } | j ƒ  y | j d ƒ } Wn. t k
 rt j ƒ  d } |  j | ƒ n Xt j d
 k r/|  j t | ƒ | k ƒ n |  j t | ƒ | k ƒ d  S(   Ns   setup.pys   sdist_test.egg-infos   SOURCES.txtR
   s   smÃ¶rbrÃ¶d.pyt   rbUs   UTF-8i   i   (   i   (   R   R@   RA   R   R    R"   R0   RI   R4   R   RC   RD   RE   t   appendt   write_manifestR   R/   t   readR3   R'   t   UnicodeDecodeErrorR   t   exc_infot   failR   RF   R#   (   R8   RG   t   mmt   filenameRI   t   contentst
   u_contentst   e(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt+   test_manifest_is_written_with_utf8_encoding   s.    	

i   c         C   sS  t  t ƒ } d | _ t | ƒ } t j j d d ƒ | _ t j d ƒ t j j t	 d ƒ t	 d ƒ ƒ } t
 ƒ  z: | j ƒ  | j d ƒ } | j j j | ƒ | j ƒ  Wd  t ƒ  Xt | j d ƒ } | j ƒ  } | j ƒ  y | j d ƒ Wn. t k
 rt j ƒ  d	 } |  j | ƒ n X|  j t | ƒ | k ƒ |  j | | j j k ƒ d  S(
   Ns   setup.pys   sdist_test.egg-infos   SOURCES.txtR
   s   smÃ¶rbrÃ¶d.pys   utf-8RK   s   UTF-8i   (   R   R@   RA   R   R    R"   R0   RI   R4   R   R   RC   R'   RD   RE   RL   RM   R   R/   RN   R3   RO   R   RP   RQ   RF   R#   (   R8   RG   RR   RS   t
   u_filenameRI   RT   RV   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt)   test_write_manifest_allows_utf8_filenames§   s.    	!

c         C   sP  t  t ƒ } d | _ t | ƒ } t j j d d ƒ | _ t j d ƒ t j j t	 d ƒ t
 ƒ } t ƒ  z= | j ƒ  | j d d ƒ } | j j j | ƒ | j ƒ  Wd  t ƒ  Xt | j d ƒ } | j ƒ  } | j ƒ  y | j d ƒ Wn. t k
 rt j ƒ  d	 } |  j | ƒ n X|  j t | ƒ | k ƒ |  j | | j j k ƒ d  S(
   Ns   setup.pys   sdist_test.egg-infos   SOURCES.txtR
   s   utf-8t   surrogateescapeRK   s   UTF-8i   (   R   R@   RA   R   R    R"   R0   RI   R4   R   t   LATIN1_FILENAMER   RC   R'   RD   RE   RL   RM   R   R/   RN   R3   RO   R   RP   RQ   t   assertFalseR#   (   R8   RG   RR   RS   RX   RI   RT   RV   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt,   test_write_manifest_skips_non_utf8_filenamesÎ   s.    	

c         C   s4  t  t ƒ } d | _ t | ƒ } | j ƒ  t ƒ  z | j ƒ  Wd  t ƒ  Xt j	 j
 t d ƒ t d ƒ ƒ } t j	 j
 d d ƒ | _ t | j d ƒ } | j t d ƒ | ƒ | j ƒ  t | d ƒ j ƒ  g  | j _ t ƒ  z | j ƒ  Wd  t ƒ  Xt j d k r| j d
 ƒ } n  |  j | | j j k ƒ d  S(   Ns   setup.pyR
   s   smÃ¶rbrÃ¶d.pys   sdist_test.egg-infos   SOURCES.txtt   abs   
R+   i   s   utf-8(   i   (   R   R@   RA   R   RB   R   RC   R   R    R"   R0   R   RI   R/   R1   R3   RD   RE   t   read_manifestR   R   R'   RF   (   R8   RG   RH   RS   RI   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt(   test_manifest_is_read_with_utf8_encodingõ   s,    	
!
c         C   sQ  t  t ƒ } d | _ t | ƒ } | j ƒ  t ƒ  z | j ƒ  Wd  t ƒ  Xt j	 j
 t d ƒ t ƒ } t j	 j
 d d ƒ | _ t | j d ƒ } | j t d ƒ | ƒ | j ƒ  t | d ƒ j ƒ  g  | j _ t ƒ  zC y | j ƒ  Wn. t k
 rt j ƒ  d } |  j | ƒ n XWd  t ƒ  X| j d	 ƒ } |  j | | j j k ƒ d  S(
   Ns   setup.pyR
   s   sdist_test.egg-infos   SOURCES.txtR^   s   
R+   i   s   latin-1(   R   R@   RA   R   RB   R   RC   R   R    R"   R0   R   R[   RI   R/   R1   R3   RD   RE   R_   RO   R   RP   RQ   R'   R\   (   R8   RG   RH   RS   RI   RV   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt+   test_read_manifest_skips_non_utf8_filenames  s2    	

s   UTF-8sM   Unittest fails if locale is not utf-8 but the manifests is recorded correctlyc         C   sq  t  t ƒ } d | _ t | ƒ } | j ƒ  t j j t d ƒ t d ƒ ƒ } t	 | d ƒ j
 ƒ  t ƒ  z | j ƒ  Wd  t ƒ  Xt j d k r t | ƒ } n  t j d k rTt j ƒ  } t j d k r)| d k rþ | j d ƒ } |  j | | j j k ƒ qQ| j d	 ƒ } |  j | | j j k ƒ qm| j d
 ƒ } |  j | | j j k ƒ n |  j | | j j k ƒ d  S(   Ns   setup.pyR
   s   smÃ¶rbrÃ¶d.pyR+   t   darwini   t   win32t   cp1252t   mbcss   utf-8(   i   (   R   R@   RA   R   RB   R    R"   R0   R   R/   R3   R   RC   R   R   t   platformR)   R   t   getfilesystemencodingR'   RF   RD   RE   (   R8   RG   RH   RS   t   fs_enc(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt%   test_sdist_with_utf8_encoded_filenameE  s.    	
!c         C   sM  t  t ƒ } d | _ t | ƒ } | j ƒ  t j j t d ƒ t	 ƒ } t
 | d ƒ j ƒ  |  j t j j | ƒ ƒ t ƒ  z | j ƒ  Wd  t ƒ  Xt j d k r0t j d k rt j ƒ  } | d k rÚ | j d ƒ } n | j d ƒ } |  j | | j j k ƒ qI| j d ƒ } |  j | | j j k ƒ n |  j | | j j k ƒ d  S(	   Ns   setup.pyR
   R+   i   Rc   Re   s   latin-1(   i   (   R   R@   RA   R   RB   R    R"   R0   R   R[   R/   R3   RF   t   isfileR   RC   R   R   R   Rf   Rg   R'   RD   RE   R\   (   R8   RG   RH   RS   Rh   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt'   test_sdist_with_latin1_encoded_filenamel  s*    	
(   i   (   i   (   i   (   t   __name__t
   __module__R<   R?   RJ   RW   R   R   RY   R]   R`   Ra   R   t   localet   getpreferredencodingRi   Rk   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyR*   Q   s   				&	''	&(!&t   TestDummyOutputc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s>   t  j j d d d d ƒ |  _ d |  _ t t |  ƒ j ƒ  d  S(   Nt
   setuptoolst   testst   svn_datas	   dummy.zipt   dummy(   R    R"   R0   t   datafilet   datanamet   superRp   R<   (   R8   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyR<   –  s    	c   	      C   s  t  j d g d |  j d d ƒ\ } } | rj d t j j d ƒ } | d | 7} | | 7} t | ƒ ‚ n  | j ƒ  } d& } d# t j j d ƒ GHxi | D]a } t } x3 | D]+ } t	 j
 | | ƒ r« d$ | GHt } Pq« q« W| s˜ t d% | | f ƒ ‚ q˜ q˜ W| S('   NR   t   pypatht   data_streami    s   DIR: t   .s   
  SDIST RETURNED: %i

s   running sdists   running egg_infos   creating dummy\.egg-infos   writing dummy\.egg-infos*   writing top-level names to dummy\.egg-infos+   writing dependency_links to dummy\.egg-infos&   writing manifest file 'dummy\.egg-infos&   reading manifest file 'dummy\.egg-infos(   reading manifest template 'MANIFEST\.in's   creating dummy-0.1.1s"   making hard links in dummy-0\.1\.1s   copying files to dummy-0\.1\.1s   copying \S+ -> dummy-0\.1\.1s   copying dummys   copying dummy\.egg-infos!   hard linking \S+ -> dummy-0\.1\.1s   hard linking dummys   hard linking dummy\.egg-infos   Writing dummy-0\.1\.1s   creating dists   creating 'dists   Creating tar archives   running checks   adding 'dummy-0\.1\.1s,   tar .+ dist/dummy-0\.1\.1\.tar dummy-0\.1\.1s   gzip .+ dist/dummy-0\.1\.1\.tars4   removing 'dummy-0\.1\.1' \(and everything under it\)s	       DIR: s	      READ: s   Unexpexected: %s
-in-
%s(   s   running sdists   running egg_infos   creating dummy\.egg-infos   writing dummy\.egg-infos*   writing top-level names to dummy\.egg-infos+   writing dependency_links to dummy\.egg-infos&   writing manifest file 'dummy\.egg-infos&   reading manifest file 'dummy\.egg-infos(   reading manifest template 'MANIFEST\.in's&   writing manifest file 'dummy\.egg-infos   creating dummy-0.1.1s"   making hard links in dummy-0\.1\.1s   copying files to dummy-0\.1\.1s   copying \S+ -> dummy-0\.1\.1s   copying dummys   copying dummy\.egg-infos!   hard linking \S+ -> dummy-0\.1\.1s   hard linking dummys   hard linking dummy\.egg-infos   Writing dummy-0\.1\.1s   creating dists   creating 'dists   Creating tar archives   running checks   adding 'dummy-0\.1\.1s,   tar .+ dist/dummy-0\.1\.1\.tar dummy-0\.1\.1s   gzip .+ dist/dummy-0\.1\.1\.tars4   removing 'dummy-0\.1\.1' \(and everything under it\)(   R    t   run_setup_pyR6   R    R"   t   abspatht   AssertionErrort
   splitlinest   Falset   ret   matcht   True(	   R8   t   codet   datat   infot	   datalinest   possiblet   linet   foundt   pattern(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   _runœ  sb    	
                           	c         C   s   |  j  ƒ  d  S(   N(   R‹   (   R8   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   test_sourcesÕ  s    (   Rl   Rm   R<   R‹   RŒ   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyRp   ”  s   		9t   TestSvnc           B   s-   e  Z d  „  Z e e j d ƒ d „  ƒ Z RS(   c         C   sï   t  j j ƒ  } | s d  St g  | j d ƒ D] } t | ƒ ^ q, d  ƒ |  _ |  j sf t d ƒ ‚ n= |  j d k  rˆ t d | ƒ ‚ n |  j d k r£ d |  _ n  d	 |  j |  _ t	 j
 j d
 d d |  j d ƒ |  _ t t |  ƒ j ƒ  d  S(   NRz   i   s   No SVN tools installedi   i   s   Insufficient SVN Version %si	   i   s   svn%i%i_exampleRq   Rr   Rs   s   .zip(   i   i   (   i   i	   (   i   i   (   R	   t   SvnInfot   get_svn_versiont   tuplet   splitt   intt   base_versiont
   ValueErrorRv   R    R"   R0   Ru   Rw   R   R<   (   R8   R   t   x(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyR<   Û  s    5	s"   No SVN to text, in the first placec         C   s  |  j  d k r d } d } n d } d } t t j j d ƒ t j j | d ƒ t j j | d	 ƒ t j j | d
 ƒ t j j | d ƒ t j j | d	 ƒ t j j | d
 ƒ t j j | d ƒ t j j | d ƒ t j j d d
 ƒ t j j d | d ƒ t j j d | d	 ƒ t j j d | d ƒ t j j d | d ƒ t j j d | d ƒ t j j d | d	 ƒ t j j d | d ƒ t j j d | d ƒ t j j d | d ƒ t j j d d d ƒ t j j d d ƒ t j j d d ƒ g ƒ } |  j t d „  t ƒ  Dƒ ƒ | ƒ d  S(   Ni   i   s   third party2s   third party3t   third_party2t   third_party3s   a files   Changes.txtt   MD5SUMSs
   README.txts   TODO.txtt   fint   third_partyt   folders   WatashiNiYomimasu.txtt   oopss   ZuMachen.txts
   lalala.txts	   quest.txtc         s   s   |  ] } | Vq d  S(   N(    (   t   .0R•   (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pys	   <genexpr>  s    (   i   i   (   R“   t   setR    R"   R0   t   assertEqualR   (   R8   t   folder2t   folder3t   expected(    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   test_walksvnï  s:    	(   Rl   Rm   R<   R   R   t
   _svn_checkR£   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyR   Ù  s   	c           C   s   t  j j t ƒ S(   N(   t   unittestt   defaultTestLoadert   loadTestsFromNameRl   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt
   test_suite  s    (*   t   __doc__Rn   R    R=   R   R,   R¥   R%   R€   t   setuptools.testsR    R   t   setuptools.tests.py26compatR   t   setuptools.compatR   R   t   setuptools.command.sdistR   R   t   setuptools.command.egg_infoR   t   setuptools.distR   Rq   R	   R@   R2   R   R   R[   R   R   R   R#   R)   t   TestCaseR*   t   ZippedEnvironmentRp   R   R¨   (    (    (    sB   /var/www/html/venv/build/setuptools/setuptools/tests/test_sdist.pyt   <module>   sF   

				ÿ DE=