Ñò
‘à"Ic           @   sË   d  d k  Z  d  d k Z d  d k 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	 l
 Z
 d e  i f d „  ƒ  YZ d e  i f d „  ƒ  YZ d „  Z e d	 j o e ƒ  n d S(
   iÿÿÿÿN(   t   test_support(   t   TESTFNt
   TestShutilc           B   s°   e  Z d  „  Z e e d ƒ oE e i d  d j o1 e e d ƒ o e i ƒ  d j o d „  Z n d „  Z	 d „  Z
 d	 „  Z d
 „  Z e e d ƒ o d „  Z d „  Z n RS(   c         C   s&   t  i ƒ  } |  i t t i | ƒ d  S(   N(   t   tempfilet   mktempt   assertRaisest   OSErrort   shutilt   rmtree(   t   selft   filename(    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_rmtree_errors   s    t   chmodi   t   cygwint   geteuidi    c         C   sú   d |  _  t i t ƒ t i i t d ƒ |  _ t |  i d ƒ } | i ƒ  t i	 t ƒ i
 } t i	 |  i ƒ i
 } t i |  i t	 i ƒ t i t t	 i ƒ t i t d |  i ƒ|  i |  i  d d ƒ t i t | ƒ t i |  i | ƒ t i t ƒ d  S(   Ni    t   at   wt   onerrori   s1   Expected call to onerror function did not happen.(   t
   errorStatet   ost   mkdirR   t   patht   joint	   childpatht   opent   closet   statt   st_modeR   t   S_IREADR   R   t   check_args_to_onerrort   assertEqual(   R	   t   ft   old_dir_modet   old_child_mode(    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_on_error   s    	
c         C   s§   |  i  d j oM |  i | t i ƒ |  i | |  i ƒ |  i t | d t ƒ ƒ d |  _  nG |  i | t i ƒ |  i | t	 ƒ |  i t | d t ƒ ƒ d |  _  d  S(   Ni    i   i   (
   R   R   R   t   removeR   t
   failUnlesst
   issubclassR   t   rmdirR   (   R	   t   funct   argt   exc(    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyR   /   s    c         C   sL   t  i ƒ  \ } } t i | ƒ i ƒ  |  i t t i | ƒ t i	 | ƒ d  S(   N(
   R   t   mkstempR   t   fdopenR   R   R   R   R   R#   (   R	   t   handleR   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_rmtree_dont_delete_file;   s    c         C   s_  d „  } d „  } t  i ƒ  } t i i t  i ƒ  d ƒ } | t i i | d ƒ d ƒ t i t i i | d ƒ ƒ | t i i | d d ƒ d ƒ zè t i | | ƒ |  i t i i	 t i i | d ƒ ƒ ƒ |  i t i i
 t i i | d ƒ ƒ ƒ |  i t i i	 t i i | d d ƒ ƒ ƒ | t i i | d ƒ ƒ } |  i | d ƒ | t i i | d d ƒ ƒ } |  i | d ƒ Wd  x€ t i i | d ƒ t i i | d ƒ t i i | d d ƒ t i i | d d ƒ f D]* } t i i | ƒ o t i | ƒ qÐqÐWxY | t i i t i i | t i i ƒ ƒ f D]* } t i i | ƒ o t i | ƒ q,q,WXd  S(   Nc         S   s*   t  |  d ƒ } | i | ƒ | i ƒ  d  S(   NR   (   R   t   writeR   (   R   t   dataR   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt
   write_dataC   s    c         S   s&   t  |  ƒ } | i ƒ  } | i ƒ  | S(   N(   R   t   readR   (   R   R   R/   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt	   read_dataH   s    
t   destinations   test.txtt   123t   test_dirt   456(   R   t   mkdtempR   R   R   R   R   t   copytreet
   assertTruet   isfilet   isdirR   t   existsR#   t   abspatht   pardirR   (   R	   R0   R2   t   src_dirt   dst_dirt   actualR   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_copytree_simpleB   s<    		(( ( c   	      C   s,  d „  } d „  } t  i i } t  i i } t i ƒ  } | t i ƒ  d ƒ } | | | d ƒ d ƒ | | | d ƒ d ƒ t  i | | d ƒ ƒ | | | d d ƒ d ƒ t  i | | d	 ƒ ƒ | | | d	 d ƒ d ƒ t  i | | d	 d
 ƒ ƒ t  i | | d	 d ƒ ƒ | | | d	 d
 d ƒ d ƒ | | | d	 d d ƒ d ƒ z‚ t i d d	 ƒ } t i	 | | d | ƒ|  i
 | | | d ƒ ƒ ƒ |  i
 | | | d ƒ ƒ ƒ |  i
 | | | d	 ƒ ƒ ƒ Wd  t  i i | ƒ o t i | ƒ n Xz‰ t i d d ƒ } t i	 | | d | ƒ|  i
 | | | d ƒ ƒ ƒ |  i
 | | | d	 d ƒ ƒ ƒ |  i
 | | | d	 d
 ƒ ƒ ƒ Wd  t  i i | ƒ o t i | ƒ n Xzf d „  } t i	 | | d | ƒ|  i
 | | | d	 d d ƒ ƒ ƒ |  i
 | | | d	 d
 ƒ ƒ ƒ Wd  t  i i | ƒ o t i | ƒ n Xd  S(   Nc         S   s*   t  |  d ƒ } | i | ƒ | i ƒ  d  S(   NR   (   R   R.   R   (   R   R/   R   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyR0   q   s    c         S   s&   t  |  ƒ } | i ƒ  } | i ƒ  | S(   N(   R   R1   R   (   R   R   R/   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyR2   v   s    
R3   s   test.txtR4   s   test.tmpR5   R6   t	   test_dir2t   subdirt   subdir2s   test.pys   *.tmpt   ignores   subdir*c         S   s™   g  } xŒ | D]„ } t  i i |  | ƒ } t  i i | ƒ o( | i ƒ  d d j o | i | ƒ q t  i i | ƒ d d j o | i | ƒ q q W| S(   NiÿÿÿÿRD   s   .py(   R   R   R   R;   t   splitt   appendt   splitext(   t   srct   namest   rest   nameR   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   _filter¥   s     (   R   R   R   R<   R   R7   R   R   t   ignore_patternsR8   t   assert_R   (	   R	   R0   R2   R   R<   R?   R@   t   patternsRN   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_copytree_with_excludeo   sP    		! $	$t   symlinkc      	   C   s@  t  i t ƒ t  i i t d ƒ } t  i i t d ƒ } zÚ t | d ƒ } | i d ƒ | i ƒ  t  i | | ƒ |  i	 t
 i t
 i | | ƒ |  i t | d ƒ i ƒ  d ƒ t  i | ƒ t  i d | ƒ |  i	 t
 i t
 i | | ƒ |  i t | d ƒ i ƒ  d ƒ t  i | ƒ Wd  y t
 i t ƒ Wn t j
 o n XXd  S(   Nt   cheeset   shopR   t   cheddart   r(   R   R   R   R   R   R   R.   R   t   linkR   R   t   Errort   copyfileR   R1   R#   RS   R   R   (   R	   RJ   t   dstR   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt'   test_dont_copy_file_onto_link_to_itself½   s&    
c         C   s‰   t  i t ƒ za t  i i t d ƒ } t  i i t d ƒ } t  i | ƒ t  i | | ƒ |  i t t i	 | ƒ Wd  t i	 t d t
 ƒXd  S(   NRT   RU   t   ignore_errors(   R   R   R   R   R   RS   R   R   R   R   t   True(   R	   RJ   R[   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_rmtree_on_symlinkÙ   s    (   t   __name__t
   __module__R   t   hasattrR   t   syst   platformR   R"   R   R-   RB   RR   R\   R_   (    (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyR      s   	$$			-	M	t   TestMovec           B   s†   e  Z d  „  Z d „  Z d „  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ù   d } t  i ƒ  |  _ t  i ƒ  |  _ t i i |  i | ƒ |  _ t i i |  i | ƒ |  _ y@ t  i d t i i	 t
 ƒ ƒ |  _ t i i |  i | ƒ |  _ Wn t j
 o d  |  _ n Xt |  i d ƒ i i ƒ  } z | ~ } | i d ƒ Wd  QXd  S(   Nt   foot   dirt   wbt   spam(   R   R7   R?   R@   R   R   R   t   src_filet   dst_filet   dirnamet   __file__t   dir_other_fst   file_other_fsR   t   NoneR   t   __exit__t	   __enter__R.   (   R	   R
   t   _[1]R   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   setUpè   s    	)c         C   sM   xF |  i  |  i |  i f D], } y | o t i | ƒ n Wq q Xq Wd  S(   N(   R?   R@   Rn   R   R   (   R	   t   d(    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   tearDownú   s     c         C   sa   t  | d ƒ i ƒ  } t i | | ƒ |  i | t  | d ƒ i ƒ  ƒ |  i t i i | ƒ ƒ d  S(   Nt   rb(	   R   R1   R   t   moveR   t   assertFalseR   R   R<   (   R	   RJ   R[   t   real_dstt   contents(    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   _check_move_file  s    c         C   sa   t  t i | ƒ ƒ } t i | | ƒ |  i | t  t i | ƒ ƒ ƒ |  i t i i | ƒ ƒ d  S(   N(	   t   sortedR   t   listdirR   Rx   R   Ry   R   R<   (   R	   RJ   R[   Rz   R{   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   _check_move_dir  s    c         C   s    |  i  |  i |  i |  i ƒ d  S(   N(   R|   Rj   Rk   (   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_file  s    c         C   s    |  i  |  i |  i |  i ƒ d  S(   N(   R|   Rj   R@   Rk   (   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_file_to_dir  s    c         C   s/   |  i  p d  S|  i |  i |  i |  i ƒ d  S(   N(   Rn   R|   Rj   Ro   (   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_file_other_fs  s    
c         C   s/   |  i  p d  S|  i |  i |  i  |  i ƒ d  S(   N(   Rn   R|   Rj   Ro   (   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_file_to_dir_other_fs  s    
c      	   C   sI   t  i ƒ  } z |  i |  i | | ƒ Wd  y t i | ƒ Wn n XXd  S(   N(   R   R   R   R?   R   R   (   R	   R@   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_dir&  s    c      	   C   sa   |  i  p d  St i d |  i  ƒ } z |  i |  i | | ƒ Wd  y t i | ƒ Wn n XXd  S(   NRg   (   Rn   R   R   R   R?   R   R   (   R	   R@   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_dir_other_fs1  s    
c         C   s>   |  i  |  i |  i t i i |  i t i i |  i ƒ ƒ ƒ d  S(   N(   R   R?   R@   R   R   R   t   basename(   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_dir_to_dir?  s    c         C   sM   |  i  p d  S|  i |  i |  i  t i i |  i  t i i |  i ƒ ƒ ƒ d  S(   N(   Rn   R   R?   R   R   R   R†   (   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_move_dir_to_dir_other_fsD  s    
c         C   sJ   t  |  i d ƒ i i ƒ  z Wd  QX|  i t i t i |  i |  i	 ƒ d  S(   NRh   (
   R   Rk   Rq   Rr   R   R   RY   Rx   Rj   R@   (   R	   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt"   test_existing_file_inside_dest_dirL  s    c         C   s;   t  i i |  i d ƒ } |  i t i t i |  i | ƒ d  S(   Nt   bar(   R   R   R   R?   R   R   RY   Rx   (   R	   R[   (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   test_dont_move_dir_in_itselfR  s    (   R`   Ra   Rt   Rv   R|   R   R€   R   R‚   Rƒ   R„   R…   R‡   Rˆ   R‰   R‹   (    (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyRe   æ   s   													c           C   s   t  i t t ƒ d  S(   N(   R    t   run_unittestR   Re   (    (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt	   test_mainY  s    t   __main__(   t   unittestR   R   Rc   R   R   t   os.patht   testR    t   test.test_supportR   t   TestCaseR   Re   R   R`   (    (    (    s-   /mit/python/lib/python2.6/test/test_shutil.pyt   <module>   s   Ùs	