
    ?wg                         d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	 ddl
ZddlZ ej                  d      d        Z G d d	      Zy)
zTests for distutils.file_util.    N)DistutilsFileError)	copy_file	move_fileT)autousec                 X    | j                   }|dz  |_        |dz  |_        |dz  |_        y )Nf1f2d1)instancesourcetarget
target_dir)requesttmp_pathselfs      a/var/www/horilla/myenv/lib/python3.12/site-packages/setuptools/_distutils/tests/test_file_util.pystuffr      s.    DT/DKT/DKoDO    c                   *    e Zd Zd Zd Zd Zd Zd Zy)TestFileUtilc                    t         j                  j                  | j                  di       t	        | j                  | j
                  d       |j                  rJ t	        | j
                  | j                  d       t	        | j                  | j
                  d       d| j                   d| j
                   g}|j                  |k(  sJ t	        | j
                  | j                  d       |j                          t        j                  | j                         t	        | j                  | j                  d       d| j                   d| j                   g}|j                  |k(  sJ y )Nsome contentFverboseTzmoving z -> )jaracopathbuildr   r   r   messagesclearosmkdirr   )r   caplogwanteds      r   test_move_file_verbosityz%TestFileUtil.test_move_file_verbosity   s
   4;;78$++t{{E:??"" 	$++t{{E:$++t{{D9DKK=T[[M:;&((( 	$++t{{E:
!$++t=DKK=T__,=>?&(((r   c                 f   t        j                  dt        dd            5  t        j                  t
              5  t        j                  j                  | j                  di       t        | j                  | j                  d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)N	os.renamewrong   side_effect	spam eggsFr   )mockpatchOSErrorpytestraisesr   r   r   r   r   r   r   r   s    r   )test_move_file_exception_unpacking_renamez6TestFileUtil.test_move_file_exception_unpacking_rename-   s     JJ{0CD	?MM,-	? KKt{{K89dkk4;;>	? 	? 	? 	? 	? 	?s#   B'AB
B'B$	 B''B0c                    t        j                  dt        t        j                  d            5  t        j                  dt        dd            5  t        j                  t              5  t        j                  j                  | j                  di       t        | j                  | j                  d       d d d        d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)	Nr&   r'   r)   z	os.unlinkr(   r+   Fr   )r,   r-   r.   errnoEXDEVr/   r0   r   r   r   r   r   r   r   r1   s    r   )test_move_file_exception_unpacking_unlinkz6TestFileUtil.test_move_file_exception_unpacking_unlink6   s     JJ{W0MN	?JJ{0CD	? MM,-	?
 KKt{{K89dkk4;;>	? 	? 	? 	? 	? 	? 	? 	? 	?s<   "C+C,AC:CC+CCC(	$C++C4c                    t         j                  j                  | j                  di       	 t	        j
                  | j                  | j                         | j                  j                          t	        j                  | j                        }t        | j                  | j                  d       t	        j                  | j                        }t	        j                  | j                        }t        j                  j                  ||      s	J ||f       t        j                  j                  ||      s	J ||f       | j                  j                  d      dk(  sJ y # t        $ r}| j                  d|        Y d }~d }~ww xY w)Nr   z	os.link: hardlinkutf-8encoding)r   r   r   r   r    r:   r   unlinkr.   skipTeststatr   samestat	read_text)r   estst2st3s        r   test_copy_file_hard_linkz%TestFileUtil.test_copy_file_hard_link@   s!   4;;78	!GGDKK- KK WWT[[!$++t{{8ggdkk"ggdkk"wwC(32s)3(wwS)5C:5){{$$g$6.HHH  	+MMIaS/**	+s   *E$ $	F-FFc                    t         j                  j                  | j                  di       t	        j
                  | j                        }t        j                  dt        dd            5  t        | j                  | j                  d       d d d        t	        j
                  | j                        }t	        j
                  | j                        }t        j                  j                  ||      s	J ||f       t        j                  j                  ||      r	J ||f       | j                  | j                  fD ]  }|j                  d	      dk(  rJ  y # 1 sw Y   xY w)
Nr   zos.linkr   zlinking unsupportedr)   r8   r9   r;   r<   )r   r   r   r   r    r@   r,   r-   r.   r   r   rA   rB   )r   rD   rE   rF   fns        r    test_copy_file_hard_link_failurez-TestFileUtil.test_copy_file_hard_link_failureR   s    	4;;78WWT[[!ZZ	wq:O/PQ 	=dkk4;;V<	=ggdkk"ggdkk"wwC(32s)3(77##C-9Sz9-;;, 	DB<<<1^CCC	D	= 	=s   ,#EE%N)__name__
__module____qualname__r$   r2   r6   rG   rJ    r   r   r   r      s    ).??I$Dr   r   )__doc__r4   r    unittest.mockr,   distutils.errorsr   distutils.file_utilr   r   jaraco.pathr   r/   fixturer   r   rN   r   r   <module>rU      sJ    $  	  / 4   & &JD JDr   