
    ϶vg}                         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dS )zTests for distutils._modified.    N)newernewer_groupnewer_pairwisenewer_pairwise_group)DistutilsFileError)supportc                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestDepUtilc                    |                                  }t          j                            |d          }t          j                            t
                    }t          j        t                    5  t          ||           d d d            n# 1 swxY w Y   | 
                    |           t          |d          sJ t          ||          sJ t          ||          rJ d S )NnewI_dont_exist)mkdtempospathjoinabspath__file__pytestraisesr   r   
write_file)selftmpdirnew_fileold_files       f/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/_distutils/tests/test_modified.py
test_newerzTestDepUtil.test_newer   s   7<<..7??8,, ]-.. 	& 	&(H%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&
 	!!!X~.....Xx((((( 8,,,,,,,s   2BBBc                    |                                  }t          j                            |d          }t          j                            |d          }t          j        |           t          j        |           t          j                            |d          }t          j                            |d          }t          j                            t                    }t          j                            |d          }|                     |           |                     |           |                     |           ||||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1',,vy11

gll7E**gll7E**))w||GV,,C$$    c                 t    |                                  \  }}}}t          ||g||g          |g|gfk    sJ d S Nr%   r   r   r    r!   r$   r"   s        r   test_newer_pairwisezTestDepUtil.test_newer_pairwise/   sN     $ 0 0 2 2S%sCj5$-88cUUG<LLLLLLLr&   c                 J   |                                  \  }}}}t          j        t                    5  t	          |g||g           d d d            n# 1 swxY w Y   t          j        t                    5  t	          ||g|g           d d d            d S # 1 swxY w Y   d S r(   )r%   r   r   
ValueErrorr   r*   s        r   test_newer_pairwise_mismatchz(TestDepUtil.test_newer_pairwise_mismatch4   s#    $ 0 0 2 2S%]:&& 	1 	1C55$-000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 ]:&& 	0 	0C:w///	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s#   AAA7BBBc                 6    t          g g           g g fk    sJ d S r(   )r   )r   s    r   test_newer_pairwise_emptyz%TestDepUtil.test_newer_pairwise_empty=   s'    b"%%"b111111r&   c                 p    |                                  \  }}}}t          ||g||g          g g fk    sJ d S r(   r)   r*   s        r   test_newer_pairwise_freshz%TestDepUtil.test_newer_pairwise_fresh@   sI     $ 0 0 2 2S%sElS$K88RHDDDDDDr&   c                 |   |                                  }t          j                            |d          }t          j        |           t          j                            |d          }t          j                            |d          }t          j                            |d          }t          j                            t                    }|                     |           |                     |           |                     |           t          |||g|          sJ t          |||g|          rJ t          j	        |           t          j        t                    5  t          |||g|           d d d            n# 1 swxY w Y   t          |||g|d          rJ t          |||g|d          sJ d S )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   s   ',,vy11
gll7E**gll7E**Wg..7??8,, 	Ce,h77777S(3U;;;;; 		#]7## 	5 	5c8,e444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 S(3UHMMMMMMCh/HHHHHHHHs   #FF
FN)
__name__
__module____qualname__r   r%   r+   r.   r0   r2   r8    r&   r   r
   r
      s        - - -&% % %M M M
0 0 02 2 2E E E
I I I I Ir&   r
   c                     g d} fd|D             }t          |          D ]3\  }}|                    dd           t          j        |||f           4t	          j        |dd         |d         |dd         	          S )
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.hc                     g | ]}|z  S r<   r<   ).0nametmp_paths     r   
<listcomp>z!groups_target.<locals>.<listcomp>h   s    333X_333r&    zutf-8)encodingN      )oldertargetr   )	enumerate
write_textr   utimetypesSimpleNamespace)rA   	filenamespathsmtimer   s   `    r   groups_targetrQ   `   s     IHHI3333333E '' ' 'tW--- 	u~&&&& uRaRyqqrrSSSSr&   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 d S r(   )r   rG   rH   r   )rQ   rG   r   s      r   test_newer_pairwise_grouprS   s   su     -"5!69M8NOOE -"5!69M8NOOERHm)*]-A,BCCCCCCCr&   c                 J    t          g t          | dz                      sJ dS )z4
    Consider no sources and no target "newer".
    zdoes-not-existN)r   str)rA   s    r   %test_newer_group_no_sources_no_targetrV   z   s.     r3x*::;;<<<<<<<r&   )__doc__r   rL   distutils._modifiedr   r   r   r   distutils.errorsr   distutils.testsr   r   TempdirManagerr
   fixturerQ   rS   rV   r<   r&   r   <module>r]      s    $ $ 				  X X X X X X X X X X X X / / / / / / # # # # # # QI QI QI QI QI'( QI QI QIh T T T$D D D= = = = =r&   