
2Nc           @   sT  d  d l  m Z m Z d  d l Td  d l m Z m 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 y e Wn! e k
 r d  d l m Z n Xe d  Z 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 S(   i(   t   TestCaset	   makeSuite(   t   *(   t   get_script_headert   is_shN(   t   ImmutableSetc         C   s\   y t  |   } Wn  t k
 r2 t j |   } n X| sL t |  t k  rP | S| t  d S(   s    copied from Python2.7s    [truncated]...(   t   reprt	   Exceptiont   objectt   __repr__t   lent   _MAX_LENGTH(   t   objt   shortt   result(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt	   safe_repr   s    t   Metadatac           B   s2   e  Z d  Z d   Z d   Z d   Z d   Z RS(   sA   Mock object to return metadata as if from an on-disk distributionc         G   s   t  |  |  _ d  S(   N(   t   dictt   metadata(   t   selft   pairs(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   __init__   s    c         C   s   | |  j  k S(   N(   R   (   R   t   name(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   has_metadata   s    c         C   s   |  j  | S(   N(   R   (   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   get_metadata   s    c         C   s   t  |  j |   S(   N(   t   yield_linesR   (   R   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   get_metadata_lines!   s    (   t   __name__t
   __module__t   __doc__R   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR      s
   			t   DistroTestsc           B   sn   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d d  Z d   Z	 d   Z
 d	   Z d
   Z RS(   c         C   s  t  g  d d  d d  } |  j t |  g   |  j | d g   | j t j d   | j t j d   | j t j d   |  j | d  |  j t |  d g  |  j g  | d D] } | j ^ q d d	 d
 g  | j	 | d d  |  j g  | d D] } | j ^ qd d
 g  | j t j d   |  j g  | d D] } | j ^ qMd d d
 g  t
 g   } t j d  } t j d  } t d  \ } |  j | j | |  j d  | j |  |  j | j | |  j d  t
 g   } | j |  | j |  |  j t | j | |  t
 g   } | j |  | j |  | j |  |  j | j | |  j d  d  S(   Nt   platformt   pythont   FooPkgs   FooPkg-1.3_1.eggs   FooPkg-1.4-py2.4-win32.eggs   FooPkg-1.2-py2.4.eggt   foopkgs   1.4s   1.3-1s   1.2i   s   FooPkg-1.9.eggs   1.9s   FooPkg>=1.3(   t   Environmentt   Nonet   assertEqualt   listt   addt   Distributiont   from_filenamet   assert_t   versiont   removet
   WorkingSett   parse_requirementst
   best_matcht   assertRaisest   VersionConflict(   R   t   adt   distt   wst   foo12t   foo14t   req(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testCollection&   s@    -*-      c         C   s|   |  j  | j d  |  j  | j d  |  j  | j d  |  j  | j d  |  j  | j d  |  j  | j t d   d  S(   NR!   R"   s   1.3-1s   2.4t   win32(   R%   t   project_namet   keyR+   t
   py_versionR   t   parsed_versiont   parse_version(   R   t   d(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   checkFooPkgU   s    c      
   C   sn   t  d d d d d d d d d	 } |  j |  t  d  } |  j | j t j d
   |  j | j d   d  S(   Ns
   /some/pathR:   R!   R+   s   1.3-1R<   s   2.4R   R9   i   (   R(   R@   R%   R<   t   sysR+   R   R$   (   R   R?   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testDistroBasics]   s    c         C   s<   t  j d  } |  j |  t  j d  } |  j |  d  S(   Ns   FooPkg-1.3_1-py2.4-win32.eggs!   FooPkg-1.3_1-py2.4-win32.egg-info(   R(   R)   R@   (   R   R?   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testDistroParseh   s    c         C   s;   t  d d d d d d d d t d  } |  j |  d  S(   Ns
   /some/pathR:   R!   R<   s   2.4R   R9   R   s   PKG-INFOs%   Metadata-Version: 1.0
Version: 1.3-1
(   s   PKG-INFOs%   Metadata-Version: 1.0
Version: 1.3-1
(   R(   R   R@   (   R   R?   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testDistroMetadatan   s
    c         C   s   t  d d t d | f  S(   Ns   /fooR   s   depends.txt(   R(   R   (   R   t   txt(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   distRequiresx   s    c         C   s/   |  j  t | j |   t t |    d  S(   N(   R%   R&   t   requiresR.   (   R   R3   RE   t   extras(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   checkRequires{   s    c         C   s.   x' d D] } |  j  |  j |  |  q Wd  S(   Ns   Twisted>=1.5s   Twisted>=1.5
ZConfig>=2.0(   s   Twisted>=1.5s   Twisted>=1.5
ZConfig>=2.0(   RI   RF   (   R   t   v(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testDistroDependsSimple   s    c         C   s  t  g   } t g   } |  j t | j g  |   g   |  j t | j t d  |  t j	 d d t
 d  } | j |  | j t j	 d   xU t d  D]G } t | j t d  |   } |  j | | g  t | j |  q W|  j t | j t d  |  t g   } |  j t | j t d	  |  t j	 d
 d t
 d  } | j |  |  j t | j t d	  |   | | g  |  j t | j t d  |  d  S(   Nt   Foos   /foo_dir/Foo-1.2.eggR   s   depends.txts   [bar]
Baz>=2.0s   Foo-0.9.eggi   s   Foo==0.9s   Foo[bar]s   /foo_dir/Baz-2.1.eggs   Foo==1.2
Foo!=1.2(   s   depends.txts   [bar]
Baz>=2.0(   s   depends.txts   Foo(   R#   R-   R%   R&   t   resolveR0   t   DistributionNotFoundR.   R(   R)   R   R'   t   ranget   mapR1   (   R   R2   R4   RL   t   it   targetst   Baz(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testResolve   s4     " (	c         C   s   |  j  d  } |  j | d  |  j | d j   d g  |  j | d j   d g  |  j | d j   d d g  |  j | d j   d d g  |  j t | j d	 g  d  S(
   Ns   
            Twisted>=1.5
            [docgen]
            ZConfig>=2.0
            docutils>=0.3
            [fastcgi]
            fcgiapp>=0.1s   Twisted>=1.5s'   Twisted>=1.5 ZConfig>=2.0 docutils>=0.3t   docgens   Twisted>=1.5 fcgiapp>=0.1t   fastcgis4   Twisted>=1.5 ZConfig>=2.0 docutils>=0.3 fcgiapp>=0.1s4   Twisted>=1.5 fcgiapp>=0.1 ZConfig>=2.0 docutils>=0.3t   foo(   RF   RI   t   splitR0   t   UnknownExtraRG   (   R   R?   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testDistroDependsOptions   s    	c         C   s   t  g   } t d d d d d } |  j t | j |  t d d d d d } | j |  t  g   } t d d d } | j |  d  S(   Ns
   /some/pathR:   t
   setuptoolsR+   s   0.7a1s   0.6c9(   R-   R(   R0   t
   ValueErrorR'   (   R   R4   R?   t   d2t   d3(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt#   testSetuptoolsDistributeCombination   s     			(    (   R   R   R8   R@   RB   RC   RD   RF   RI   RK   RT   RZ   R_   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR   $   s   	/				
			)	t   EntryPointTestsc           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z e d e	 d d d g  d	 e	 d	 d
 d g d d g  d e	 d d d d g  Z
 d Z d   Z d   Z RS(   c         C   s   |  j  | j d  |  j  | j d  |  j  | j d  |  j  | j d  |  j | j   t k  |  j  t |  d  d  S(   NRW   s   setuptools.tests.test_resourcesR`   t   xs9   foo = setuptools.tests.test_resources:EntryPointTests [x](   s   EntryPointTests(   Ra   (	   R%   R   t   module_namet   attrsRH   R*   t   loadR`   t   str(   R   t   ep(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   assertfields   s    	c         C   s"   t  j d d t d  |  _ d  S(   Ns   FooPkg-1.2-py2.4.eggR   s   requires.txts   [x](   s   requires.txts   [x](   R(   R)   R   R3   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   setUp   s    c         C   s2   t  d d d g d g |  j  } |  j |  d  S(   NRW   s   setuptools.tests.test_resourcesR`   Ra   (   t
   EntryPointR3   Rg   (   R   Rf   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt
   testBasics   s    c         C   s   d } t  j | |  j  } |  j |  t  j d  } |  j | j d  |  j | j d  |  j | j d
  |  j | j d  t  j d  } |  j | j d  |  j | j d  |  j | j d  |  j | j d  d  S(   Ns9   foo = setuptools.tests.test_resources:EntryPointTests [x]s   bar baz=  spammity[PING]s   bar bazt   spammityt   pings    fizzly =  wocka:foot   fizzlyt   wockaRW   (    (   Rl   (   s   foo(    (	   Ri   t   parseR3   Rg   R%   R   Rb   Rc   RH   (   R   t   sRf   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt	   testParse   s    c         C   s[   xT d d d d d d g D]: } y t  j |  Wn t k
 rC q Xt d |   q Wd  S(   NRW   s   x=1=2s   x=a:b:cs   q=x/nas   fez=pish:tush-zs   x=f[a]>2s   Should've been bad(   Ri   Ro   R\   t   AssertionError(   R   Rf   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testRejects	  s      c         C   sh   |  j  t |  t |  j   xB |  j j   D]1 \ } } |  j  t | j |   t |   q/ Wd  S(   N(   R%   R
   t   submap_expectt	   iteritemsR   t   get(   R   t   mR;   Rf   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   checkSubMap  s    t   feature1t
   somemodulet   somefunctiont   feature2s   another.modulet	   SomeClasst   extra1t   extra2t   feature3s   this.moduleRH   t	   somethings   
            # define features for blah blah
            feature1 = somemodule:somefunction
            feature2 = another.module:SomeClass [extra1,extra2]
            feature3 = this.module [something]
    c         C   sX   |  j  t j d |  j   |  j t t j d d  |  j t t j d d d g  d  S(   Nt   xyzs   x as   foo=barRa   s   foo=baz(   Rx   Ri   t   parse_groupt
   submap_strR0   R\   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testParseList"  s    c         C   s   t  j i |  j d 6 } |  j | d  |  j | j   d g  t  j d |  j  } |  j | d  |  j | j   d g  |  j t t  j d d g  |  j t t  j |  j  d  S(   NR   s   [xyz]
s   [xyz](   Ri   t	   parse_mapR   Rx   R%   t   keysR0   R\   (   R   Rw   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testParseMap(  s    (   R   R   Rg   Rh   Rj   Rq   Rs   Rx   R   Ri   Rt   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR`      s   							t   RequirementsTestsc           B   sG   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   t  j d  } |  j t |  d  |  j t |  d  |  j | t  d d g d   |  j | t  d d g d   |  j | t  d d g d   |  j | t  d d g d   |  j | t  d d g d   |  j | t  j d
   d  S(   Ns   Twisted>=1.2s!   Requirement.parse('Twisted>=1.2')t   Twisteds   >=s   1.2t   twisTeds   2.0t   Zopes   3.0s   Twisted[extras]>=1.2(   s   >=s   1.2(    (   s   >=s   1.2(    (   s   >=s   2.0(    (   s   >=s   1.2(    (   s   >=s   3.0(    (   t   RequirementRo   R%   Re   R   t   assertNotEqual(   R   t   r(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyRj   4  s    c         C   sv   t  d d d g d	  } t  d d
 d g d  } |  j | |  |  j t |  t |   |  j t |  d  d  S(   NR   s   ==s   1.2c1s   >=s   1.2s   Twisted==1.2c1,>=1.2(   s   ==s   1.2c1(   s   >=s   1.2(    (   s   >=s   1.2(   s   ==s   1.2c1(    (   R   R%   Re   (   R   t   r1t   r2(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testOrdering?  s
    c         C   s   t  d d g d	  } t j d  } t j d  } t j d  } |  j t d  | k  |  j t d  | k  |  j d | k  |  j d | k  |  j | | k  |  j | | k  |  j | | k  d  S(
   NR   s   >=s   1.2s   FooPkg-1.3_1.eggs   Twisted-1.1.eggs   Twisted-1.2.eggs   1.1(   s   >=s   1.2(    (   R   R(   R)   R*   R>   (   R   R   t   foo_distt   twist11t   twist12(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testBasicContainsF  s    c      	   C   sm   t  d  \ } x* d D]" } |  j | | k | | f  q Wx* d D]" } |  j | | k | | f  qC Wd  S(   Ns*   Foo>=1.2,<=1.3,==1.9,>2.0,!=2.5,<3.0,==4.5s   1.2s   1.2.2s   1.3s   1.9s   2.0.1s   2.3s   2.6s   3.0c1s   4.5s   1.2c1s   1.3.1s   1.5s   1.9.1s   2.0s   2.5s   3.0s   4.0(	   s   1.2s   1.2.2s   1.3s   1.9s   2.0.1s   2.3s   2.6s   3.0c1s   4.5(   s   1.2c1s   1.3.1s   1.5s   1.9.1s   2.0s   2.5s   3.0s   4.0(   R.   R*   (   R   R   RJ   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testAdvancedContainsS  s
     c         C   s   t  j d  } t  j d  } t  j d  } |  j | |  |  j | |  |  j | j d	  |  j | j d
  |  j t |  t |   |  j t |  t d d t d  f f t d d g  f   d  S(   Ns   Twisted[foo,bar]>=1.2s   Twisted[bar,FOO]>=1.2s   Twisted[BAR,FOO]>=1.2.0RW   t   bart   twisteds   >=s   1.2(   s   fooR   (   R   s   foo(   R   Ro   R%   RH   t   hashR>   t	   frozenset(   R   R   R   t   r3(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testOptionsAndHashing[  s    !c         C   s   t  j d  } t  j d  } t j } |  j | d  | k  |  j | d  | k  |  j | d  | k  |  j | d  | k  |  j | d  | k  |  j | d  | k  |  j | d  | k  d  S(   Ns
   foo==0.3a2s
   foo!=0.3a4s   foo-0.3a4.eggs   foo-0.3a1.eggs   foo-0.3a2.eggs   foo-0.3a3.eggs   foo-0.3a5.egg(   R   Ro   R(   R)   R*   (   R   R   R   R?   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testVersionEqualityi  s    	c         C   s   |  j  t j d  j d  |  j  t j d  j d  |  j  t j d  j d  |  j  t j d  j d  |  j  t j d  j d  |  j  t j d  j d  |  j  t j d  j d  |  j  t j d  j d  |  j  t j d	  j d  d  S(
   NR[   t
   distributes   setuptools==0.6c9s   setuptools==0.6c10s   setuptools>=0.6s   setuptools < 0.7s   setuptools == 0.7s   setuptools == 0.7a1s   setuptools >= 0.7(   R%   R   Ro   R:   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt    testDistributeSetuptoolsOverridew  s$    (	   R   R   Rj   R   R   R   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR   2  s   						t
   ParseTestsc           B   sP   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 RS(   c         C   s    |  j  t t d   g   d  S(   Nt    (   R%   R&   R.   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testEmptyParse  s    c         C   s   xx g  g  f d d g f g  g g  f d d d g f d d g d d g f g D]+ \ } } |  j  t t j |   |  qL Wd  S(   NRa   s    x
 yt   ys   x

(   R%   R&   t   pkg_resourcesR   (   R   t   inpt   out(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testYielding  s    0%c         C   s{   |  j  t t j d   d  d g f d d d g f d d g f d g  f d	 d
 g f g  |  j t t t j d   d  S(   Ns   
                    x
                    [Y]
                    z

                    a
                    [b ]
                    # foo
                    c
                    [ d]
                    [q]
                    v
                    Ra   t   Yt   zt   at   bt   cR?   t   qRJ   s   [foo(   R%   R&   R   t   split_sectionsR$   R0   R\   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testSplitting  s    	Cc         C   sr   |  j  t d  d  |  j  t d  d  |  j  t d  d  |  j  t d  d  |  j t d  d  d  S(	   Ns   adns-pythons
   WSGI Utilss
   WSGI-Utilss   WSGI  Utilss   Money$$$Makers   Money-Makers   peak.webs   peak-web(   R%   t	   safe_nameR   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testSafeName  s
    c         C   sr   |  j  t d  d  |  j  t d  d  |  j  t d  d  |  j  t d  d  |  j  t d  d  d  S(	   Ns   1.2-1s	   1.2 alphas	   1.2.alphas   2.3.4 20050521s   2.3.4.20050521s   Money$$$Makers   Money-Makers   peak.web(   R%   t   safe_version(   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testSafeVersion  s
    c         C   s   |  j  t t d   t d d g d  g  |  j  t t d   t d d d g d  g  |  j  t j d
  t d d g d   |  j t t j d  |  j t t j d  |  j t t j d  |  j t t j d  |  j t t j d  d  S(   Ns   Twis-Ted>=1.2-1s   Twis-Teds   >=s   1.2-1s   Twisted >=1.2, \ # more
<2.0R   s   1.2t   <s   2.0s   FooBar==1.99a3t   FooBars   ==s   1.99a3s   >=2.3s   x\s   x==2 qs	   X==1
Y==2t   #(   s   >=s   1.2-1(    (   s   >=s   1.2(   R   s   2.0(    (   s   ==s   1.99a3(    (   R%   R&   R.   R   Ro   R0   R\   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testSimpleRequirements  s    c            s     f d   } | d d  | d d  | d d  | d d  | d	 d
  | d d  | d
 d  | d d  | d d  d  S(   Nc            s<   t  |   t  |  } }   j | | |  | | | f  d  S(   N(   R>   R%   (   t   s1t   s2t   p1t   p2(   R   (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR     s    s   0.4s   0.4.0s   0.4.0.0s   0.4.0-0s   0.4-0t   0pl1s   0.0pl1t   0pre1s   0.0c1s   0.0.0preview1t   0c1t   0rc1s   1.2a1s   1.2.a.1s   1.2...as   1.2a(    (   R   R   (    (   R   sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR     s     c            s    f d   } | d d  | d d  | d d  | d d	  | d d  | d
 d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d d  | d  d!  | d" d  | d d#  | d d$  | d d%  | d d&  | d' d(  | d( d)  | d* d+  | d, d-  | d. d'  | d. d'  | d* d/  | d- d0  d1 j    } x@ t |  D]2 \ } } x# | | d2 D] } | | |  qWqWd  S(3   Nc            s?   t  |   t  |  } }   j | | k  |  | | | f  d  S(   N(   R>   R*   (   R   R   R   R   (   R   (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR     s    s   2.1s   2.1.1s   2.1.0s   2.10t   2a1t   2b0t   2b1t   2c0s   2.3a1s   2.3s   2.1-1s   2.1-2s   2.1.1-1s   2.1pl4s   2.1a0-20040501s   1.1s   02.1t   A56t   B27s   3.2s   3.2.pl0s   3.2-1s   3.2pl1s   3.2pl1-1s   0.4s   4.0s   0.0.4s   0.4.0R   s   0.4pl1s   2.1devs   2.1a0s   2.1.0rc1s	   2.1.0-rc0s   2.1.0-as   2.1.0-alphas	   2.1.0-foos   1.0s   1.0-1s   1.0.1s   1.0as   1.0bs   1.0devs   1.0rc1s   1.0pres   1.0-as   1.0-rc1s   
        0.80.1-3 0.80.1-2 0.80.1-1 0.79.9999+0.80.0pre4-1
        0.79.9999+0.80.0pre2-3 0.79.9999+0.80.0pre2-2
        0.77.2-1 0.77.1-1 0.77.0-1
        i   (   RX   t	   enumerate(   R   R   t   torturet   pt   v1t   v2(    (   R   sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   testVersionOrdering  sL    (
   R   R   R   R   R   R   R   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR     s   							t   ScriptHeaderTestsc           B   s    e  Z d  Z d   Z d   Z RS(   s   /Users/José/bin/pythonc         C   s   t  j j d  s# t t  j  r |  j t d  d t j j	 t  j   |  j t d  d t j j	 t  j   |  j t d d |  j
 d |  j
  n  d  S(	   Nt   javas   #!/usr/local/bin/pythons   #!%s
s   #!/usr/bin/python -xs	   #!%s  -x
s   #!/usr/bin/pythont
   executables   #!%s -x
(   RA   R   t
   startswithR   R   R%   R   t   ost   patht   normpatht   non_ascii_exe(   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   test_get_script_header$  s    #	c         C   sT  t  j d k r+ t j j d  d k r+ d  St  j } d t  _ t  j } z t j j	 t j j
 t  d d  } |  j t d d	 | d
 |  t j   t  _ t  _ |  j t d d	 | d |  |  j d t  j j   k  t j   t  _ t  _ |  j t d d	 |  j d |  j  |  j d t  j j   k  Wd  | t  _ | t  _ Xd  S(   Ni   t   LC_CTYPEt   Ct   POSIXs   java1.5.0_13i    s   .pys   #!/usr/local/bin/pythonR   s   #!/usr/bin/env %s
s   #!/usr/bin/python -xs	   #!%s  -x
s   Unable to adapt shebang lines   #!/usr/bin/pythons   #!%s -x
(   i   (   NR   R   (   RA   t   version_infoR   t   environRv   R$   R   t   stdoutR   R   t   splitextt   __file__R%   R   t   StringIOt   stderrR*   t   getvalueR   (   R   R   R   t   exe(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt(   test_get_script_header_jython_workaround/  s.    				&	 	(   R   R   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR   !  s   	t   NamespaceTestsc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c         C   sy   t  j j   |  _ t j d d  |  _ t j t j	 j
 |  j d   t j	 |  _ t j	 j t j	 j
 |  j d   d  S(   Nt   prefixs   tests-distribute-s	   site-pkgs(   R   t   _namespace_packagest   copyt   _ns_pkgst   tempfilet   mkdtempt   _tmpdirR   t   makedirsR   t   joinRA   t   _prev_sys_patht   append(   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyRh   S  s
    c         C   s3   t  j |  j  |  j j   t _ |  j t _	 d  S(   N(
   t   shutilt   rmtreeR   R   R   R   R   R   RA   R   (   R   (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   tearDownZ  s    c         C   sH   | | k rD d t  |  t  |  f } |  j |  j t |   n  d S(   s4    assertIn and assertTrue does not exist in Python2.3s   %s not found in %sN(   R   t   failt   _formatMessaget   msg(   R   t   membert	   containert   standardMsg(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt	   _assertIn_  s    c         C   s  t  j j t j j |  j d   t j t j j |  j d d d   t j t j j |  j d d d   d } x d d g D] } t t j j |  j | d d  d  } | j |  | j	   t t j j |  j | d d d  d  } | j |  | j	   q Wd d	 l
 } |  j d t j j    y d d	 l } Wn  t k
 r_} |  j d
  n X|  j d t j j    |  j t j d d g  |  j | j j t j j |  j d d d  t j j |  j d d d  g  d	 S(   s  
        Test nested namespace packages
        Create namespace packages in the following tree :
            site-packages-1/pkg1/pkg2
            site-packages-2/pkg1/pkg2
        Check both are in the _namespace_packages dict and that their __path__
        is correct
        s
   site-pkgs2s	   site-pkgst   pkg1t   pkg2s8   __import__('pkg_resources').declare_namespace(__name__)
s   __init__.pyt   wiNs7   Distribute tried to import the parent namespace packages	   pkg1.pkg2(   RA   R   R   R   R   R   R   t   opent   writet   closeR   R   R   R   R   t	   pkg1.pkg2t   ImportErrorR   R%   R   t   __path__(   R   t   ns_strt   sitet	   pkg1_initt	   pkg2_initR   t   e(    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   test_two_levels_deepf  s0    	"%%
(   R   R   Rh   R   R   R  (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyR   Q  s   			(   t   unittestR    R   R   t   setuptools.command.easy_installR   R   R   RA   R   R   R   R   t	   NameErrort   setsR   t   FalseR   t   EmptyProviderR   R   R`   R   R   R   R   (    (    (    sC   /usr/lib/python2.7/dist-packages/setuptools/tests/test_resources.pyt   <module>   s    
H 
Rf0