
    n&ph}                         S r SSKrSSKrSSKJrJrJrJr  SSKJ	r	  SSK
Jr  SSKr " S S\R                  5      r\R                  S 5       rS	 rS
 rg)zTests for distutils._modified.    N)newernewer_groupnewer_pairwisenewer_pairwise_group)DistutilsFileError)supportc                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)TestDepUtil   c                    U R                  5       n[        R                  R                  US5      n[        R                  R	                  [
        5      n[        R                  " [        5         [        X#5        S S S 5        U R                  U5        [        US5      (       d   e[        X#5      (       d   e[        X25      (       a   eg ! , (       d  f       NW= f)NnewI_dont_exist)mkdtempospathjoinabspath__file__pytestraisesr   r   
write_file)selftmpdirnew_fileold_files       \/var/www/html/venv/lib/python3.13/site-packages/setuptools/_distutils/tests/test_modified.py
test_newerTestDepUtil.test_newer   s    77<<.77??8, ]]-.(% /
 	!X~....X(((( ,,,,, /.s   .C
Cc                 n   U R                  5       n[        R                  R                  US5      n[        R                  R                  US5      n[        R                  " U5        [        R                  " U5        [        R                  R                  US5      n[        R                  R                  US5      n[        R                  R                  [        5      n[        R                  R                  US5      nU R                  U5        U R                  U5        U R                  U5        XEXg4$ )Nsourcestargetsonetwofour)r   r   r   r   mkdirr   r   r   )r   r   r    r!   r"   r#   threer$   s           r   _setup_1234TestDepUtil._setup_1234    s    '',,vy1'',,vy1

ggll7E*ggll7E*)ww||GV,$$    c                 Z    U R                  5       u  pp4[        X/X4/5      U/U/4:X  d   eg Nr'   r   r   r"   r#   r&   r$   s        r   test_newer_pairwiseTestDepUtil.test_newer_pairwise/   s7     $ 0 0 2%sj5-8cUUG<LLLLr)   c                 2   U R                  5       u  pp4[        R                  " [        5         [	        U/X4/5        S S S 5        [        R                  " [        5         [	        X/U/5        S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = fr+   )r'   r   r   
ValueErrorr   r-   s        r   test_newer_pairwise_mismatch(TestDepUtil.test_newer_pairwise_mismatch4   sj     $ 0 0 2%]]:&C55-0 ' ]]:&C:w/ '& '& '&s   A7B7
B
Bc                 ,    [        / / 5      / / 4:X  d   eg r+   )r   )r   s    r   test_newer_pairwise_empty%TestDepUtil.test_newer_pairwise_empty=   s    b"%"b111r)   c                 V    U R                  5       u  pp4[        X/X$/5      / / 4:X  d   eg r+   r,   r-   s        r   test_newer_pairwise_fresh%TestDepUtil.test_newer_pairwise_fresh@   s2     $ 0 0 2%slSK8RHDDDr)   c                 P   U R                  5       n[        R                  R                  US5      n[        R                  " U5        [        R                  R                  US5      n[        R                  R                  US5      n[        R                  R                  US5      n[        R                  R                  [        5      nU R                  U5        U R                  U5        U R                  U5        [        X4U/U5      (       d   e[        X4U/U5      (       a   e[        R                  " U5        [        R                  " [        5         [        X4U/U5        S S S 5        [        X4U/USS9(       a   e[        X4U/USS9(       d   eg ! , (       d  f       N7= f)Nr    r"   r#   r&   ignore)missingr   )r   r   r   r   r%   r   r   r   r   remover   r   OSError)r   r   r    r"   r#   r&   r   s          r   test_newer_groupTestDepUtil.test_newer_groupE   s7   '',,vy1
ggll7E*ggll7E*Wg.77??8, 	Ce,h7777(3U;;;; 			#]]7#8,e4 $ (3UHMMMCh/HHH $#s   F
F% N)__name__
__module____qualname____firstlineno__r   r'   r.   r2   r5   r8   r?   __static_attributes__rA   r)   r   r
   r
      s(    -&%M
02E
Ir)   r
   c                     / SQnU Vs/ s H  o U-  PM	     nn[        U5       H-  u  pEUR                  SSS9  [        R                  " XTU45        M/     [        R
                  " USS US   USS S9$ s  snf )	zh
Set up some older sources, a target, and newer sources.

Returns a simple namespace with these values.
)zolder.czolder.hztarget.oznewer.cznewer.h zutf-8)encodingN      )oldertargetr   )	enumerate
write_textr   utimetypesSimpleNamespace)tmp_path	filenamesnamepathsmtimer   s         r   groups_targetrX   `   s     II)23_E3 'W- 	u~&	 (   uRayqqrSS 4s   A4c                     [        U R                  /U R                  /5      n[        U R                  /U R                  /5      nU/ / 4:X  d   eX R                  /U R                  /4:X  d   eg r+   )r   rL   rM   r   )rX   rL   r   s      r   test_newer_pairwise_grouprZ   s   ss     -"5"5!69M9M8NOE -"5"5!69M9M8NOERH))*]-A-A,BCCCCr)   c                 B    [        / [        U S-  5      5      (       d   eg)z,
Consider no sources and no target "newer".
zdoes-not-existN)r   str)rS   s    r   %test_newer_group_no_sources_no_targetr]   z   s"     r3x*::;<<<<r)   )__doc__r   rQ   distutils._modifiedr   r   r   r   distutils.errorsr   distutils.testsr   r   TempdirManagerr
   fixturerX   rZ   r]   rA   r)   r   <module>rd      sY    $ 	  X X / # QI'(( QIh T T$D=r)   