ó
Š]c           @   só   d  Z  d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m	 Z	 d d l
 m Z m Z m Z d d l m Z m Z d d l m Z d	 Z d
 „  Z d e j e j f d „  ƒ  YZ d „  Z e d k rï e e ƒ  ƒ n  d S(   s   Tests for distutils.filelist.iÿÿÿÿN(   t   debug(   t   WARN(   t   DistutilsTemplateError(   t
   glob_to_ret   translate_patternt   FileList(   t   captured_stdoutt   run_unittest(   t   supportsÎ   include ok
include xo
exclude xo
include foo.tmp
include buildout.cfg
global-include *.x
global-include *.txt
global-exclude *.tmp
recursive-include f *.oo
recursive-exclude global *.x
graft dir
prune dir3
c         C   s   |  j  d t j ƒ S(   s"   Converts '/' in a string to os.sept   /(   t   replacet   ost   sep(   t   s(    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   make_local_path   s    t   FileListTestCasec           B   sk   e  Z d  „  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'   |  j  |  j t ƒ g  ƒ |  j ƒ  d  S(   N(   t   assertEqualt   get_logsR   t
   clear_logs(   t   self(    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   assertNoWarnings%   s    c         C   s-   |  j  t |  j t ƒ ƒ d ƒ |  j ƒ  d  S(   Ni    (   t   assertGreatert   lenR   R   R   (   R   (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   assertWarnings)   s    c         C   s„   t  j } t  j d k r- t j t  j ƒ } n  xP d d d d d d d f D]3 \ } } | i | d 6} |  j t | ƒ | ƒ qI Wd  S(   Ns   \s   foo*s   foo[^%(sep)s]*\Z(?ms)s   foo?s   foo[^%(sep)s]\Z(?ms)s   foo??s   foo[^%(sep)s][^%(sep)s]\Z(?ms)s   foo\\*s   foo\\\\[^%(sep)s]*\Z(?ms)s   foo\\\*s   foo\\\\\\[^%(sep)s]*\Z(?ms)s   foo????s2   foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\Z(?ms)s   foo\\??s"   foo\\\\[^%(sep)s][^%(sep)s]\Z(?ms)R   (   s   foo*s   foo[^%(sep)s]*\Z(?ms)(   s   foo?s   foo[^%(sep)s]\Z(?ms)(   s   foo??s   foo[^%(sep)s][^%(sep)s]\Z(?ms)(   s   foo\\*s   foo\\\\[^%(sep)s]*\Z(?ms)(   s   foo\\\*s   foo\\\\\\[^%(sep)s]*\Z(?ms)(   s   foo????s2   foo[^%(sep)s][^%(sep)s][^%(sep)s][^%(sep)s]\Z(?ms)(   s   foo\\??s"   foo\\\\[^%(sep)s][^%(sep)s]\Z(?ms)(   R   R   t   ret   escapeR   R   (   R   R   t   globt   regex(    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_glob_to_re-   s    	c         C   s  t  ƒ  } t } d d d d d | d ƒ | d ƒ | d ƒ | d	 ƒ | d
 ƒ | d ƒ | d ƒ | d ƒ | d ƒ | d ƒ g | _ x< t j d ƒ D]+ } | j ƒ  d k r¯ q‘ n  | j | ƒ q‘ Wd d d | d ƒ | d ƒ | d ƒ | d ƒ | d ƒ | d ƒ g	 } |  j | j | ƒ d  S(   Ns   foo.tmpt   okt   xos   four.txts   buildout.cfgs   .hg/last-message.txts   global/one.txts   global/two.txts   global/files.xs   global/here.tmps   f/o/f.oos   dir/graft-ones   dir/dir2/graft2s   dir3/oks   dir3/sub/ok.txts   
t    (	   R   R   t   allfilest   MANIFEST_INt   splitt   stript   process_template_lineR   t   files(   R   t	   file_listt   lt   linet   wanted(    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_process_template_line?   s8    															c         C   s‘   t  ƒ  } t ƒ   } | j d ƒ Wd  QX|  j | j ƒ  d ƒ t t _ z9 t ƒ   } | j d ƒ Wd  QX|  j | j ƒ  d ƒ Wd  t t _ Xd  S(   Nt   xxxR   s   xxx
(	   R   R   t   debug_printR   t   getvaluet   TrueR    t   DEBUGt   False(   R   R&   t   stdout(    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_debug_printg   s    		c         C   s<   t  ƒ  } d d d g } | j | ƒ |  j | j | ƒ d  S(   Nt   at   bt   c(   R   t   set_allfilesR   R    (   R   R&   R%   (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_set_allfilesu   s    	c         C   s[   t  ƒ  } d d d d d d g | _ | j ƒ  | j ƒ  |  j | j d d d d g ƒ d  S(   NR3   R4   t   gR5   (   R   R%   t   sortt   remove_duplicatesR   (   R   R&   (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_remove_duplicates{   s
    	

c         C   s­   |  j  t t d d t d t ƒd ƒ ƒ t j d ƒ } |  j t | d t d t ƒ| ƒ |  j  t t d d t d t ƒd ƒ ƒ |  j  t d d t d t ƒj d ƒ ƒ d  S(   NR3   t   anchort   is_regext   searchs   *.pys   filelist.py(	   t
   assertTruet   hasattrR   R.   R0   R   t   compileR   R>   (   R   R   (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_translate_patternƒ   s    	
	
	c         C   sŒ   t  ƒ  } |  j | j d ƒ ƒ t  ƒ  } d d g | _ |  j | j d ƒ ƒ t  ƒ  } d d g | _ | j d ƒ |  j | j d g ƒ d  S(   Ns   *.pys   a.pys   b.pys   a.txt(   R   t   assertFalset   exclude_patternR%   R?   R   (   R   R&   (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_exclude_pattern˜   s    			c         C   s´   t  ƒ  } | j g  ƒ |  j | j d ƒ ƒ t  ƒ  } | j d d g ƒ |  j | j d ƒ ƒ t  ƒ  } |  j | j ƒ | j d d g ƒ | j d ƒ |  j | j d d g ƒ d  S(   Ns   *.pys   a.pys   b.txtt   *(   R   R6   RC   t   include_patternR?   t   assertIsNoneR    R   (   R   R&   (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_include_pattern¨   s    			c      	   C   sâ  t  } t ƒ  } x$ d! D] } |  j t | j | ƒ q Wt ƒ  } | j d
 d | d ƒ g ƒ | j d ƒ |  j | j d
 g ƒ |  j ƒ  | j d ƒ |  j | j d
 g ƒ |  j	 ƒ  t ƒ  } d
 d | d ƒ g | _ | j d ƒ |  j | j d | d ƒ g ƒ |  j ƒ  | j d ƒ |  j | j d | d ƒ g ƒ |  j	 ƒ  t ƒ  } | j d
 d | d ƒ g ƒ | j d ƒ |  j | j d
 | d ƒ g ƒ |  j ƒ  | j d ƒ |  j | j d
 | d ƒ g ƒ |  j	 ƒ  t ƒ  } d
 d | d ƒ g | _ | j d ƒ |  j | j d g ƒ |  j ƒ  | j d ƒ |  j | j d g ƒ |  j	 ƒ  t ƒ  } | j d
 | d ƒ | d ƒ | d ƒ g ƒ | j d ƒ |  j | j | d ƒ | d ƒ g ƒ |  j ƒ  | j d ƒ |  j | j | d ƒ | d ƒ g ƒ |  j	 ƒ  t ƒ  } d
 | d ƒ | d ƒ | d ƒ g | _ | j d ƒ |  j | j d
 | d ƒ g ƒ |  j ƒ  | j d ƒ |  j | j d
 | d ƒ g ƒ |  j	 ƒ  t ƒ  } | j d
 | d ƒ | d ƒ | d ƒ g ƒ | j d ƒ |  j | j | d ƒ | d ƒ g ƒ |  j ƒ  | j d ƒ |  j | j | d ƒ | d ƒ g ƒ |  j	 ƒ  t ƒ  } d
 | d ƒ | d ƒ | d ƒ g | _ | j d ƒ |  j | j d
 | d ƒ g ƒ |  j ƒ  | j d  ƒ |  j | j d
 | d ƒ g ƒ |  j	 ƒ  d  S("   Nt   includet   excludes   global-includes   global-excludes   recursive-includes   recursive-excludet   graftt   prunet   blargs   a.pys   b.txts   d/c.pys   include *.pys   include *.rbs   exclude *.pys   exclude *.rbs   global-include *.pys   global-include *.rbs   global-exclude *.pys   global-exclude *.rbs   d/b.pys   d/c.txts   d/d/e.pys   recursive-include d *.pys   recursive-include e *.pys   recursive-exclude d *.pys   recursive-exclude e *.pys   f/f.pys   graft ds   graft es   prune ds   prune e(	   RJ   RK   s   global-includes   global-excludes   recursive-includes   recursive-excludeRL   RM   RN   (
   R   R   t   assertRaisesR   R$   R6   R   R%   R   R   (   R   R'   R&   t   action(    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   test_process_templateº   s’    	 
		

	

	

	

	%
%
	'

	%
%
	'
(   t   __name__t
   __module__R   R   R   R*   R2   R7   R;   RB   RE   RI   RQ   (    (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyR   "   s   				(						c           C   s   t  j t ƒ S(   N(   t   unittestt	   makeSuiteR   (    (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt
   test_suite'  s    t   __main__(   t   __doc__R   R   RT   t	   distutilsR    t   distutils.logR   t   distutils.errorsR   t   distutils.filelistR   R   R   t   test.test_supportR   R   t   distutils.testsR   R!   R   t   LoggingSilencert   TestCaseR   RV   RR   (    (    (    s.   lib/python2.7/distutils/tests/test_filelist.pyt   <module>   s"   		ÿ 	