
    ,h}                         d Z ddlZddlZddlmZmZmZmZ ddlm	Z	 ddl
mZ ddlZ G d dej                        Zej                  d        Zd	 Zd
 Zy)zTests for distutils._modified.    N)newernewer_groupnewer_pairwisenewer_pairwise_group)DistutilsFileError)supportc                   6    e Zd Zd Zd Zd Zd Zd Zd Zd Z	y)	TestDepUtilc                    | j                         }t        j                  j                  |d      }t        j                  j	                  t
              }t        j                  t              5  t        ||       d d d        | j                  |       t        |d      sJ t        ||      sJ t        ||      rJ y # 1 sw Y   ExY w)NnewI_dont_exist)mkdtempospathjoinabspath__file__pytestraisesr   r   
write_file)selftmpdirnew_fileold_files       k/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/setuptools/_distutils/tests/test_modified.py
test_newerzTestDepUtil.test_newer   s    77<<.77??8, ]]-. 	&(H%	&
 	!X~..Xx(( 8,,,	& 	&s   -B>>Cc                 n   | j                         }t        j                  j                  |d      }t        j                  j                  |d      }t        j                  |       t        j                  |       t        j                  j                  |d      }t        j                  j                  |d      }t        j                  j                  t              }t        j                  j                  |d      }| j                  |       | j                  |       | j                  |       ||||fS )Nsourcestargetsonetwofour)r   r   r   r   mkdirr   r   r   )r   r   r   r   r    r!   threer"   s           r   _setup_1234zTestDepUtil._setup_1234    s    '',,vy1'',,vy1

ggll7E*ggll7E*)ww||GV,C$$    c                 `    | j                         \  }}}}t        ||g||g      |g|gfk(  sJ y Nr%   r   r   r    r!   r$   r"   s        r   test_newer_pairwisezTestDepUtil.test_newer_pairwise/   s?     $ 0 0 2S%sCj5$-8cUUG<LLLLr&   c                 "   | j                         \  }}}}t        j                  t              5  t	        |g||g       d d d        t        j                  t              5  t	        ||g|g       d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY wr(   )r%   r   r   
ValueErrorr   r*   s        r   test_newer_pairwise_mismatchz(TestDepUtil.test_newer_pairwise_mismatch4   s     $ 0 0 2S%]]:& 	1C55$-0	1 ]]:& 	0C:w/	0 	0	1 	1	0 	0s   A9 B9BBc                 *    t        g g       g g fk(  sJ y r(   )r   )r   s    r   test_newer_pairwise_emptyz%TestDepUtil.test_newer_pairwise_empty=   s    b"%"b111r&   c                 \    | j                         \  }}}}t        ||g||g      g g fk(  sJ y r(   r)   r*   s        r   test_newer_pairwise_freshz%TestDepUtil.test_newer_pairwise_fresh@   s:     $ 0 0 2S%sElS$K8RHDDDr&   c                 .   | j                         }t        j                  j                  |d      }t        j                  |       t        j                  j                  |d      }t        j                  j                  |d      }t        j                  j                  |d      }t        j                  j                  t              }| j                  |       | j                  |       | j                  |       t        |||g|      sJ t        |||g|      rJ t        j                  |       t        j                  t              5  t        |||g|       d d d        t        |||g|d      rJ t        |||g|d      sJ y # 1 sw Y   0xY w)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_groupzTestDepUtil.test_newer_groupE   s9   '',,vy1
ggll7E*ggll7E*Wg.77??8, 	Ce,h77S(3U;; 			#]]7# 	5c8,e4	5 S(3UHMMCh/HHH	5 	5s   FFN)
__name__
__module____qualname__r   r%   r+   r.   r0   r2   r8    r&   r   r
   r
      s(    -&%M
02E
Ir&   r
   c                     g d}|D cg c]  }| |z  	 }}t        |      D ]0  \  }}|j                  dd       t        j                  |||f       2 t	        j
                  |dd |d   |dd       S c c}w )	zt
    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_targetrN   `   s     II)23X_3E3 ' 'tW- 	u~&	'   uRayqqrSS 4s   A6c                     t        | j                  g| j                  g      }t        | j                  g| j                  g      }|g g fk(  sJ || j                  g| j                  gfk(  sJ y r(   )r   rB   rC   r   )rN   rB   r   s      r   test_newer_pairwise_grouprP   s   sr     -"5"5!69M9M8NOE -"5"5!69M9M8NOERHm))*]-A-A,BCCCCr&   c                 8    t        g t        | dz              sJ y)z4
    Consider no sources and no target "newer".
    zdoes-not-existN)r   str)rI   s    r   %test_newer_group_no_sources_no_targetrS   z   s     r3x*::;<<<r&   )__doc__r   rG   distutils._modifiedr   r   r   r   distutils.errorsr   distutils.testsr   r   TempdirManagerr
   fixturerN   rP   rS   r<   r&   r   <module>rZ      sY    $ 	  X X / # QI'(( QIh T T$D=r&   