
    ϶vg3                     `    d dl Z d dlmZ d dlZd dlmZ d dlmZ d dlm	Z	  G d d          Z
dS )    N)mock)
build_clib)Distribution)DistutilsSetupErrorc                   r    e Zd Z ej        d          d             Z ej        d          d             ZdS )TestBuildCLibz2setuptools.command.build_clib.newer_pairwise_groupc                    t                      }t          |          }dddifg}t          j        t                    5  |                    |           d d d            n# 1 swxY w Y   d}ddg|dfg}t          j        t                    5  |                    |           d d d            n# 1 swxY w Y   ddi}ddg|dfg}t          j        t                    5  |                    |           d d d            n# 1 swxY w Y   ddi}ddg|dfg}t          j        t                    5  |                    |           d d d            n# 1 swxY w Y   t          j        |j                  |_        g g f|_	        d	d
d}ddg|dfg}|                    |           g dg|j
        d         v sJ |j        j        j        rJ |j        j        j        dk    sJ |j                                         d|_	        |                    |           |j        j        j        dk    sJ |j        j        j        dk    sJ d S )Nexamplesourceszbroken.csome_stringzsource.cr   obj_deps specglobal.h	example.hr   	example.cr   )r   r   r   r      )r   r   pytestraisesr   build_librariesr   	MagicMockcompilerreturn_value	call_argscompilecalledcreate_static_lib
call_count
reset_mock)self
mock_newerdistcmdlibsr   s         ]/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/tests/test_build_clib.pytest_build_librariesz"TestBuildCLib.test_build_libraries   s   ~~ Y
345].// 	& 	&%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& !(KKLM].// 	& 	&%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 8(KKLM].// 	& 	&%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& #(KKLM].// 	& 	&%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&
 ~3<888#%r(
%NCC8LLMND!!!6667:;OPQ;RRRRR<'....|-8A==== 	!!!"$
D!!!|#.!3333|-8A======sG   A  A$'A$B11B58B5"DDD5EEEc                    t                      }t          |          }t          j        |j                  |_        g g f|_        ddg}|}ddd}d||dfg}|                    |           |j        d	         }||k    r(t          j	        |t          |                    }||k    (d||dfg}|                    |           ||j        d	         k    sJ d S )
Nr   za-example.cr   r   r   r   r
   r   r   )r   r   r   r   r   r   r   r   randomsamplelen)	r%   r&   r'   r(   original_sourcesr   r   r)   computed_call_argss	            r*   !test_build_libraries_reproduciblez/TestBuildCLib.test_build_libraries_reproducible<   s   ~~ ~3<888#%r(
);7"%NCCXFFGHD!!!'1!4)))m$4c:J6K6KLLG )))XFFGHD!!!!Z%9!%<<<<<<<    N)__name__
__module____qualname__r   patchr+   r2    r3   r*   r   r      sg        TZDEE,> ,> FE,>\ TZDEE= = FE= = =r3   r   )r-   unittestr   r   setuptools.command.build_clibr   setuptools.distr   distutils.errorsr   r   r8   r3   r*   <module>r=      s            4 4 4 4 4 4 ( ( ( ( ( ( 0 0 0 0 0 0H= H= H= H= H= H= H= H= H= H=r3   