+
     Bi;                     B    ^ RI t ^ RIt^ RIHt ^ RIHt  ! R R4      tR# )    N)	swap_attr)	os_helperc                   D  a  ] tR t^	t o R tRR ltR tR tR tR t	R t
R tR	 tR
 t]P                  R 4       t]P                  R 4       t]P                  R 4       t]P                  R 4       t]P                  R 4       t]P                  R 4       tR tR tRtV tR# )OverwriteTestsc                    \         P                  ! V P                  4       V P                  \        P
                  V P                  4       R # N)osmakedirstestdir
addCleanupr   rmtree)selfs   &*/usr/lib/python3.14/test/archiver_tests.pysetUpOverwriteTests.setUp   s*    
DLL!	(($,,7    c                    \        VR 4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)wbN)openwrite)r   pathcontentfs   &&& r   create_fileOverwriteTests.create_file   s,    $GGG s	   1A	c                    \         hr   NotImplementedError)r   r   s   &&r   r   OverwriteTests.open       !!r   c                    \         hr   r   )r   ars   &&r   
extractallOverwriteTests.extractall   r    r   c                   \         P                  P                  V P                  R 4      pV P	                  VR4       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       \        VR4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     L}; i  + '       g   i     R# ; i)test   contentNrb
   newcontent)r	   r   joinr   r   r   ar_with_filer#   
assertTrueisfileassertEqualreadr   targetr"   r   s   &   r   test_overwrite_file_as_file*OverwriteTests.test_overwrite_file_as_file   s    dllF3,YYt(())ROOB *v./&$1QVVX}5   *)  s    C'<!C:'C7	:D	c                   \         P                  P                  V P                  R 4      p\         P                  ! V4       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       R#   + '       g   i     L@; i)r&   N)
r	   r   r*   r   mkdirr   ar_with_dirr#   r,   isdirr   r1   r"   s   &  r   test_overwrite_dir_as_dir(OverwriteTests.test_overwrite_dir_as_dir#   sp    dllF3
YYt''((BOOB )f-. )(s   $B..B>	c                   \         P                  P                  V P                  R 4      p\         P                  ! V4       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  \         P                  P                  VR4      4      4       \        \         P                  P                  VR4      R4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r&   Nfiler(   r)   )r	   r   r*   r   r5   r   ar_with_implicit_dirr#   r,   r7   r-   r.   r/   r0   s   &   r   "test_overwrite_dir_as_implicit_dir1OverwriteTests.test_overwrite_dir_as_implicit_dir*   s    dllF3
YYt0011ROOB 2f-.rww||FF'CDE"'',,vv.55QVVX}5 65	 21 655s   $E*!E(E%	(E9	c           	     *   \         P                  P                  V P                  R 4      p\         P                  ! V4       V P                  V P                  4      ;_uu_ 4       pT P                  \        P                  R8X  d   \        M\        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       R#   + '       g   i     LH; i  + '       g   i     LS; i)r&   win32N)r	   r   r*   r   r5   r   r+   assertRaisessysplatformPermissionErrorIsADirectoryErrorr#   r,   r7   r8   s   &  r   test_overwrite_dir_as_file)OverwriteTests.test_overwrite_dir_as_file4   s    dllF3
YYt(())R""cllg6M?(9; ;#; * 	f-.; ; *)s$   $9DC/	/D/C?:DD	c           	        \         P                  P                  V P                  R 4      pV P	                  VR4       V P                  V P                  4      ;_uu_ 4       pV P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       \        VR4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r&   r'   Nr(   )r	   r   r*   r   r   r   r6   rB   FileExistsErrorr#   r,   r-   r.   r/   r0   s   &   r   test_overwrite_file_as_dir)OverwriteTests.test_overwrite_file_as_dir=   s    dllF3,YYt''((B""?33# 4 ) 	v./&$1QVVXz2   43 )(  s0    D >D	D "!D3DD  D0	3E	c           	        \         P                  P                  V P                  R 4      pV P	                  VR4       V P                  V P                  4      ;_uu_ 4       pT P                  \        P                  R8X  d   \        M\        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       \        VR4      ;_uu_ 4       pV P                  VP!                  4       R4       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r&   r'   rA   Nr(   )r	   r   r*   r   r   r   r=   rB   rC   rD   FileNotFoundErrorNotADirectoryErrorr#   r,   r-   r.   r/   r0   s   &   r   #test_overwrite_file_as_implicit_dir2OverwriteTests.test_overwrite_file_as_implicit_dirG   s    dllF3,YYt0011R""8O#4(:< <#< 2 	v./&$1QVVXz2  	< < 21
  s0    9D;D(	+D;=!E(D83D;;E	E	c                   \         P                  P                  V P                  R 4      p\         P                  P                  V P                  R4      pV P	                  VR4       \         P
                  ! RV4       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       \        VR4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r&   test2r'   Nr(   r)   )r	   r   r*   r   r   symlinkr   r+   r#   r,   islinkr-   r.   r/   r   r1   target2r"   r   s   &    r   #test_overwrite_file_symlink_as_file2OverwriteTests.test_overwrite_file_symlink_as_fileR   s     dllF3'',,t||W5*-


7F#YYt(())ROOB *v./w/0'4  AQVVX}5 ! 	 *) !  s   !E+!E)E&	)E:	c                   \         P                  P                  V P                  R 4      p\         P                  P                  V P                  R4      p\         P                  ! RV4       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       \        VR4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i)r&   rS   Nr(   r)   )r	   r   r*   r   rT   r   r+   r#   r,   rU   r-   r.   r/   rV   s   &    r   *test_overwrite_broken_file_symlink_as_file9OverwriteTests.test_overwrite_broken_file_symlink_as_file`   s     dllF3'',,t||W5


7F#YYt(())ROOB *v./w/0'4  AQVVX}5 ! 	 *) !  s   E!EE	E(	c                d   \         P                  P                  V P                  R 4      p\         P                  P                  V P                  R4      p\         P                  ! V4       \         P
                  ! RVRR7       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       R#   + '       g   i     Ln; ir&   rS   Ttarget_is_directoryN)r	   r   r*   r   r5   rT   r   r6   r#   r,   rU   r7   r   r1   rW   r"   s   &   r   !test_overwrite_dir_symlink_as_dir0OverwriteTests.test_overwrite_dir_symlink_as_dirm   s     dllF3'',,t||W5



7F=YYt''((BOOB )v./g./ )(s   'DD/	c                   \         P                  P                  V P                  R 4      p\         P                  P                  V P                  R4      p\         P                  ! V4       \         P
                  ! RVRR7       V P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  \         P                  P                  VR4      4      4       \        \         P                  P                  VR4      R4      ;_uu_ 4       pV P                  VP                  4       R4       RRR4       R#   + '       g   i     EL; i  + '       g   i     R# ; i)r&   rS   Tr_   Nr<   r(   r)   )r	   r   r*   r   r5   rT   r   r=   r#   r,   rU   r7   r-   r.   r/   rV   s   &    r   *test_overwrite_dir_symlink_as_implicit_dir9OverwriteTests.test_overwrite_dir_symlink_as_implicit_diry   s&    dllF3'',,t||W5



7F=YYt0011ROOB 2v./g./rww||GV'DEF"'',,w/66!QVVX}5 76 211
 766s   'G!GG	G+	c           	        \         P                  P                  V P                  R 4      p\         P                  P                  V P                  R4      p\         P                  ! RVRR7       V P                  V P                  4      ;_uu_ 4       pV P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       R#   + '       g   i     Lv; i  + '       g   i     L; ir^   )r	   r   r*   r   rT   r   r6   rB   rJ   r#   r,   rU   assertFalseexistsra   s   &   r   (test_overwrite_broken_dir_symlink_as_dir7OverwriteTests.test_overwrite_broken_dir_symlink_as_dir   s    dllF3'',,t||W5


7F=YYt''((B""?33# 4 ) 	v./01 43 )($   E/D/	E/D?:EE	c           	        \         P                  P                  V P                  R 4      p\         P                  P                  V P                  R4      p\         P                  ! RVRR7       V P                  V P                  4      ;_uu_ 4       pV P                  \        4      ;_uu_ 4        V P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  V4      4       R#   + '       g   i     Lv; i  + '       g   i     L; ir^   )r	   r   r*   r   rT   r   r=   rB   rJ   r#   r,   rU   rh   ri   ra   s   &   r   1test_overwrite_broken_dir_symlink_as_implicit_dir@OverwriteTests.test_overwrite_broken_dir_symlink_as_implicit_dir   s    dllF3'',,t||W5


7F=YYt0011R""?33# 4 2 	v./01 43 21rl   c           	       a \         P                  P                  V P                  R 4      pV3R lp\	        \         RV4      ;_uu_ 4       oV P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       R#   + '       g   i     LH; i  + '       g   i     LS; i)r&   c                  (   < S! V / VB  S! V / VB  R # r    argskwargs
orig_mkdirs   *,r   concurrent_mkdirDOverwriteTests.test_concurrent_extract_dir.<locals>.concurrent_mkdir       ''''r   r5   N)
r	   r   r*   r   r   r   r6   r#   r,   r7   r   r1   rw   r"   rv   s   &   @r   test_concurrent_extract_dir*OverwriteTests.test_concurrent_extract_dir   s    dllF3	( r7$4554++,,# - 6 	f-. -, 65s$   $C/C	CCCC$	c           	     f  a \         P                  P                  V P                  R 4      pV3R lp\	        \         RV4      ;_uu_ 4       oV P                  V P                  4      ;_uu_ 4       pV P                  V4       RRR4       RRR4       V P                  \         P                  P                  V4      4       V P                  \         P                  P                  \         P                  P                  VR4      4      4       R#   + '       g   i     L; i  + '       g   i     L; i)r&   c                  (   < S! V / VB  S! V / VB  R # r   rr   rs   s   *,r   rw   MOverwriteTests.test_concurrent_extract_implicit_dir.<locals>.concurrent_mkdir   ry   r   r5   Nr<   )r	   r   r*   r   r   r   r=   r#   r,   r7   r-   rz   s   &   @r   $test_concurrent_extract_implicit_dir3OverwriteTests.test_concurrent_extract_implicit_dir   s    dllF3	( r7$45544455# 6 6 	f-.rww||FF'CDE 65 65s$   $D /D	D DD  D0	rr   N)r   )__name__
__module____qualname____firstlineno__r   r   r   r#   r2   r9   r>   rG   rK   rP   r   skip_unless_symlinkrX   r[   rb   re   rj   rn   r{   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r   	   s     8""6/6/3	3 ""6 #6 ""
6 #
6 ""	0 #	0 ""6 #6 ""2 #2 ""2 #2/	F 	Fr   r   )r	   rC   test.supportr   r   r   rr   r   r   <module>r      s!    
 
 " "hF hFr   