;
Ìâ"Ic               @   sÅ   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 d  d l	 m
 Z
 Gd „  d e  j ƒ Z Gd „  d e  j ƒ Z d „  Z e d	 k o e ƒ  n d S(
   i    N(   u   support(   u   TESTFNc             B   s¼   |  Ee  Z d  „  Z e e d ƒ oK e j d d … d k o1 e e d ƒ o e j ƒ  d k o d „  Z n d „  Z	 d	 „  Z
 d
 „  Z d „  Z e e d ƒ o d „  Z d „  Z n d S(   c             C   s&   t  j ƒ  } |  j t t j | ƒ d  S(   N(   u   tempfileu   mktempu   assertRaisesu   OSErroru   shutilu   rmtree(   u   selfu   filename(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_rmtree_errors   s    u   chmodNi   u   cygwinu   geteuidi    c             C   sú   d |  _  t j t ƒ t j j t d ƒ |  _ t |  j d ƒ } | j ƒ  t j	 t ƒ j
 } t j	 |  j ƒ j
 } t j |  j t	 j ƒ t j t t	 j ƒ t j t d |  j ƒ|  j |  j  d d ƒ t j t | ƒ t j |  j | ƒ t j t ƒ d  S(   Ni    u   au   wu   onerrori   u1   Expected call to onerror function did not happen.(   u
   errorStateu   osu   mkdiru   TESTFNu   pathu   joinu	   childpathu   openu   closeu   statu   st_modeu   chmodu   S_IREADu   shutilu   rmtreeu   check_args_to_onerroru   assertEqual(   u   selfu   fu   old_dir_modeu   old_child_mode(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_on_error   s    	
c             C   s§   |  j  d k oM |  j | t j ƒ |  j | |  j ƒ |  j t | d t ƒ ƒ d |  _  nG |  j | t j ƒ |  j | t	 ƒ |  j t | d t ƒ ƒ d |  _  d  S(   Ni    i   i   (
   u
   errorStateu   assertEqualu   osu   removeu	   childpathu
   failUnlessu
   issubclassu   OSErroru   rmdiru   TESTFN(   u   selfu   funcu   argu   exc(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   check_args_to_onerror/   s    c             C   sL   t  j ƒ  \ } } t j | ƒ j ƒ  |  j t t j | ƒ t j	 | ƒ d  S(   N(
   u   tempfileu   mkstempu   osu   fdopenu   closeu   assertRaisesu   OSErroru   shutilu   rmtreeu   remove(   u   selfu   handleu   path(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_rmtree_dont_delete_file;   s    c             C   s_  d „  } d „  } t  j ƒ  } t j j t  j ƒ  d ƒ } | t j j | d ƒ d ƒ t j t j j | d ƒ ƒ | t j j | d d ƒ d ƒ zè t j | | ƒ |  j t j j	 t j j | d ƒ ƒ ƒ |  j t j j
 t j j | d ƒ ƒ ƒ |  j t j j	 t j j | d d ƒ ƒ ƒ | t j j | d ƒ ƒ } |  j | d ƒ | t j j | d d ƒ ƒ } |  j | d ƒ Wd  x€ t j j | d ƒ t j j | d ƒ t j j | d d ƒ t j j | d d ƒ f D]* } t j j | ƒ o t j | ƒ qÐqÐWxY | t j j t j j | t j j ƒ ƒ f D]* } t j j | ƒ o t j | ƒ q,q,WXd  S(   Nc             S   s*   t  |  d ƒ } | j | ƒ | j ƒ  d  S(   Nu   w(   u   openu   writeu   close(   u   pathu   datau   f(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu
   write_dataC   s    c             S   s&   t  |  ƒ } | j ƒ  } | j ƒ  | S(   N(   u   openu   readu   close(   u   pathu   fu   data(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu	   read_dataH   s    
u   destinationu   test.txtu   123u   test_diru   456(   u   tempfileu   mkdtempu   osu   pathu   joinu   mkdiru   shutilu   copytreeu
   assertTrueu   isfileu   isdiru   assertEqualu   existsu   removeu   abspathu   pardiru   rmtree(   u   selfu
   write_datau	   read_datau   src_diru   dst_diru   actualu   path(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_copytree_simpleB   s<    		(( ( c       	      C   s,  d „  } d „  } t  j j } t  j j } t j ƒ  } | t j ƒ  d ƒ } | | | d ƒ d ƒ | | | d ƒ d ƒ t  j | | d ƒ ƒ | | | d d ƒ d ƒ t  j | | d	 ƒ ƒ | | | d	 d ƒ d ƒ t  j | | d	 d
 ƒ ƒ t  j | | d	 d ƒ ƒ | | | d	 d
 d ƒ d ƒ | | | d	 d d ƒ d ƒ z‚ t j d d	 ƒ } t j	 | | d | ƒ|  j
 | | | d ƒ ƒ ƒ |  j
 | | | d ƒ ƒ ƒ |  j
 | | | d	 ƒ ƒ ƒ Wd  t  j j | ƒ o t j | ƒ n Xz‰ t j d d ƒ } t j	 | | d | ƒ|  j
 | | | d ƒ ƒ ƒ |  j
 | | | d	 d ƒ ƒ ƒ |  j
 | | | d	 d
 ƒ ƒ ƒ Wd  t  j j | ƒ o t j | ƒ n Xzf d „  } t j	 | | d | ƒ|  j
 | | | d	 d d ƒ ƒ ƒ |  j
 | | | d	 d
 ƒ ƒ ƒ Wd  t  j j | ƒ o t j | ƒ n Xd  S(   Nc             S   s*   t  |  d ƒ } | j | ƒ | j ƒ  d  S(   Nu   w(   u   openu   writeu   close(   u   pathu   datau   f(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu
   write_dataq   s    c             S   s&   t  |  ƒ } | j ƒ  } | j ƒ  | S(   N(   u   openu   readu   close(   u   pathu   fu   data(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu	   read_datav   s    
u   destinationu   test.txtu   123u   test.tmpu   test_diru   456u	   test_dir2u   subdiru   subdir2u   test.pyu   *.tmpu   ignoreu   subdir*c             S   s™   g  } xŒ | D]„ } t  j j |  | ƒ } t  j j | ƒ o( | j ƒ  d d k o | j | ƒ q t  j j | ƒ d d k o | j | ƒ q q W| S(   Niÿÿÿÿu   subdiru   .py(   u   osu   pathu   joinu   isdiru   splitu   appendu   splitext(   u   srcu   namesu   resu   nameu   path(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   _filter¥   s     (   u   osu   pathu   joinu   existsu   tempfileu   mkdtempu   mkdiru   shutilu   ignore_patternsu   copytreeu   assert_u   rmtree(	   u   selfu
   write_datau	   read_datau   joinu   existsu   src_diru   dst_diru   patternsu   _filter(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_copytree_with_excludeo   sP    		! $	$u   symlinkc             C   sA  t  j t ƒ t  j j t d ƒ } t  j j t d ƒ } zÚ t | d ƒ } | j d ƒ | j ƒ  t  j | | ƒ |  j	 t
 j t
 j | | ƒ |  j t | d ƒ j ƒ  d ƒ t  j | ƒ t  j d | ƒ |  j	 t
 j t
 j | | ƒ |  j t | d ƒ j ƒ  d ƒ t  j | ƒ Wd  y t
 j t ƒ Wn t k
 o Yn XXd  S(   Nu   cheeseu   shopu   wu   cheddaru   r(   u   osu   mkdiru   TESTFNu   pathu   joinu   openu   writeu   closeu   linku   assertRaisesu   shutilu   Erroru   copyfileu   assertEqualu   readu   removeu   symlinku   rmtreeu   OSError(   u   selfu   srcu   dstu   f(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu'   test_dont_copy_file_onto_link_to_itself½   s&    
c             C   s‰   t  j t ƒ za t  j j t d ƒ } t  j j t d ƒ } t  j | ƒ t  j | | ƒ |  j t t j	 | ƒ Wd  t j	 t d d ƒXd  S(   Nu   cheeseu   shopu   ignore_errorsT(   u   osu   mkdiru   TESTFNu   pathu   joinu   symlinku   assertRaisesu   OSErroru   shutilu   rmtreeu   True(   u   selfu   srcu   dst(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_rmtree_on_symlinkÙ   s    (   u   __name__u
   __module__u   test_rmtree_errorsu   hasattru   osu   sysu   platformu   geteuidu   test_on_erroru   check_args_to_onerroru   test_rmtree_dont_delete_fileu   test_copytree_simpleu   test_copytree_with_excludeu'   test_dont_copy_file_onto_link_to_itselfu   test_rmtree_on_symlink(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu
   TestShutil   s   
	*$			-	M	u
   TestShutilc             B   sŒ   |  Ee  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 d S(   c             C   s  d } t  j ƒ  |  _ t  j ƒ  |  _ t j j |  j | ƒ |  _ t j j |  j | ƒ |  _ y@ t  j d t j j	 t
 ƒ ƒ |  _ t j j |  j | ƒ |  _ Wn t k
 o d  |  _ Yn Xt |  j d ƒ j } j ƒ  } z | ~ } | j d ƒ Wd  | ~ QXd  S(   Nu   foou   diru   wbs   spam(   u   tempfileu   mkdtempu   src_diru   dst_diru   osu   pathu   joinu   src_fileu   dst_fileu   dirnameu   __file__u   dir_other_fsu   file_other_fsu   OSErroru   Noneu   openu   __exit__u	   __enter__u   write(   u   selfu   filenameu   _[2]u   _[1]u   f(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   setUpè   s    	+c          	   C   sN   xG |  j  |  j |  j f D]- } y | o t j | ƒ n Wq Yq Xq Wd  S(   N(   u   src_diru   dst_diru   dir_other_fsu   shutilu   rmtree(   u   selfu   d(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   tearDownú   s     c             C   sa   t  | d ƒ j ƒ  } t j | | ƒ |  j | t  | d ƒ j ƒ  ƒ |  j t j j | ƒ ƒ d  S(   Nu   rb(	   u   openu   readu   shutilu   moveu   assertEqualu   assertFalseu   osu   pathu   exists(   u   selfu   srcu   dstu   real_dstu   contents(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   _check_move_file  s    c             C   sa   t  t j | ƒ ƒ } t j | | ƒ |  j | t  t j | ƒ ƒ ƒ |  j t j j | ƒ ƒ d  S(   N(	   u   sortedu   osu   listdiru   shutilu   moveu   assertEqualu   assertFalseu   pathu   exists(   u   selfu   srcu   dstu   real_dstu   contents(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   _check_move_dir  s    c             C   s    |  j  |  j |  j |  j ƒ d  S(   N(   u   _check_move_fileu   src_fileu   dst_file(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_file  s    c             C   s    |  j  |  j |  j |  j ƒ d  S(   N(   u   _check_move_fileu   src_fileu   dst_diru   dst_file(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_file_to_dir  s    c             C   s/   |  j  p d  S|  j |  j |  j |  j ƒ d  S(   N(   u   dir_other_fsu   _check_move_fileu   src_fileu   file_other_fs(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_file_other_fs  s    
c             C   s/   |  j  p d  S|  j |  j |  j  |  j ƒ d  S(   N(   u   dir_other_fsu   _check_move_fileu   src_fileu   file_other_fs(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_file_to_dir_other_fs  s    
c             C   sJ   t  j ƒ  } z |  j |  j | | ƒ Wd  y t j | ƒ Wn Yn XXd  S(   N(   u   tempfileu   mktempu   _check_move_diru   src_diru   shutilu   rmtree(   u   selfu   dst_dir(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_dir&  s    c             C   sb   |  j  p d  St j d |  j  ƒ } z |  j |  j | | ƒ Wd  y t j | ƒ Wn Yn XXd  S(   Nu   dir(   u   dir_other_fsu   tempfileu   mktempu   _check_move_diru   src_diru   shutilu   rmtree(   u   selfu   dst_dir(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_dir_other_fs1  s    
c             C   s>   |  j  |  j |  j t j j |  j t j j |  j ƒ ƒ ƒ d  S(   N(   u   _check_move_diru   src_diru   dst_diru   osu   pathu   joinu   basename(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_dir_to_dir?  s    c             C   sM   |  j  p d  S|  j |  j |  j  t j j |  j  t j j |  j ƒ ƒ ƒ d  S(   N(   u   dir_other_fsu   _check_move_diru   src_diru   osu   pathu   joinu   basename(   u   self(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_move_dir_to_dir_other_fsD  s    
c             C   sR   t  |  j d ƒ j } j ƒ  z Wd  | ~ QX|  j t j t j |  j |  j	 ƒ d  S(   Nu   wb(
   u   openu   dst_fileu   __exit__u	   __enter__u   assertRaisesu   shutilu   Erroru   moveu   src_fileu   dst_dir(   u   selfu   _[1](    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu"   test_existing_file_inside_dest_dirL  s     c             C   s;   t  j j |  j d ƒ } |  j t j t j |  j | ƒ d  S(   Nu   bar(   u   osu   pathu   joinu   src_diru   assertRaisesu   shutilu   Erroru   move(   u   selfu   dst(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   test_dont_move_dir_in_itselfR  s    N(   u   __name__u
   __module__u   setUpu   tearDownu   _check_move_fileu   _check_move_diru   test_move_fileu   test_move_file_to_diru   test_move_file_other_fsu   test_move_file_to_dir_other_fsu   test_move_diru   test_move_dir_other_fsu   test_move_dir_to_diru   test_move_dir_to_dir_other_fsu"   test_existing_file_inside_dest_diru   test_dont_move_dir_in_itself(   u
   __locals__(    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   TestMoveæ   s   
													u   TestMovec               C   s   t  j t t ƒ d  S(   N(   u   supportu   run_unittestu
   TestShutilu   TestMove(    (    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu	   test_mainY  s    u   __main__(   u   unittestu   shutilu   tempfileu   sysu   statu   osu   os.pathu   testu   supportu   test.supportu   TESTFNu   TestCaseu
   TestShutilu   TestMoveu	   test_mainu   __name__(    (    (    u-   /mit/python/lib/python3.0/test/test_shutil.pyu   <module>   s   Ùs	