
    ϶vg                     h    d Z ddlZddlmZ ddlmZ ddlmZmZ ddl	Z	 G d dej
                  ZdS )z'Tests for distutils.command.build_clib.    N)
build_clib)DistutilsSetupError)missing_compiler_executablesupportc                   l    e Zd Zd Zd Zd Zd Zej        	                    d          d             Z
dS )TestBuildCLibc                 `   |                                  \  }}t          |          }t          j        t                    5  |                    d           d d d            n# 1 swxY w Y   t          j        t                    5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t                    5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t                    5  |                    ddg           d d d            n# 1 swxY w Y   t          j        t                    5  |                    di fd	g           d d d            n# 1 swxY w Y   di fdd
difg}|                    |           d S )Nfoofoo1foo2)   r   )namer   )r   r   )zanother/namer   r   )anotherr   okgood)create_distr   pytestraisesr   check_library_list)selfpkg_dirdistcmdlibss        h/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/_distutils/tests/test_build_clib.pytest_check_library_distz%TestBuildCLib.test_check_library_dist   s   ((** ].// 	* 	*""5)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* ].// 	5 	5""FF#3444	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5 	5
 ].// 	D 	D""K1A#BCCC	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D ].// 	 	""!#;<  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ].// 	 	"""23  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 vf~67t$$$$$sZ    A""A&)A&B**B.1B.C22C69C6D::D>D>FFFc                    |                                  \  }}t          |          }di fg|_        t          j        t
                    5  |                                 d d d            n# 1 swxY w Y   dddifg|_        t          j        t
                    5  |                                 d d d            n# 1 swxY w Y   ddddgifg|_        |                                ddgk    sJ dddifg|_        |                                ddgk    sJ dddifdddd	gifg|_        |                                g d
k    sJ d S )Nr   sourcesr   ab)r   r    name2cd)r   r    r"   r#   )r   r   	librariesr   r   r   get_source_filesr   r   r   r   s       r   test_get_source_filesz#TestBuildCLib.test_get_source_files-   s   ((** !"].// 	# 	#  """	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# !9a.12].// 	# 	#  """	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# !9sCj"9:;##%%#s3333 9j"9:;##%%#s3333 i,-y3*-.
 ##%%)=)=)=======s$   
A++A/2A/B<<C C c                    |                                  \  }}t          |          } G d d          } |            |_        dddifg}t          j        t
                    5  |                    |           d d d            n# 1 swxY w Y   ddt                      ifg}|                    |           ddt                      ifg}|                    |           d S )Nc                       e Zd Zd ZeZdS )8TestBuildCLib.test_build_libraries.<locals>.FakeCompilerc                      d S )N )argskws     r   compilez@TestBuildCLib.test_build_libraries.<locals>.FakeCompiler.compileL   s        N)__name__
__module____qualname__r/   create_static_libr,   r0   r   FakeCompilerr*   K   s'           !(r0   r5   r   r   notvalid)	r   r   compilerr   r   r   build_librarieslisttuple)r   r   r   r   r5   libs         r   test_build_librariesz"TestBuildCLib.test_build_librariesG   sE   ((**	( 	( 	( 	( 	( 	( 	( 	( $|~~ J/01].// 	% 	%$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% DFF+,-C   EGG,-.C     s   #BB	B	c                    |                                  \  }}t          |          }d|_        |                                 |j        dgk    sJ d |_        |                                 |j        g k    sJ d|j        _        t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S )Nzone-dirWONTWORK)	r   r   include_dirsfinalize_optionsdistributionr$   r   r   r   r&   s       r   test_finalize_optionsz#TestBuildCLib.test_finalize_options^   s   ((**$I;....2%%%%%/"].// 	# 	#  """	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#s   B??CCzplatform.system() == "Windows"c                    |                                  \  }}t          |          }t          j                            |d          }|                     |d           dd|gifg|_        t          j                            |d          }t          j        |           ||_        ||_        t                      }|| 
                    d|d           |                                 dt          j        |          v sJ d S )	Nzfoo.czint main(void) { return 1;}
r
   r   buildzThe z command is not foundzlibfoo.a)r   r   ospathjoin
write_filer$   mkdir
build_tempr   skipTestrunlistdir)r   r   r   r   foo_crJ   ccmds          r   test_runzTestBuildCLib.test_runn   s    ((**Wg..>???)eW!567W\\'733

## +,,MM>>>>??? 				 RZ
33333333r0   N)r1   r2   r3   r   r'   r<   rB   r   markskipifrP   r,   r0   r   r   r      s~        % % %B> > >4! ! !.# # #  [8994 4 :94 4 4r0   r   )__doc__rE   distutils.command.build_clibr   distutils.errorsr   distutils.testsr   r   r   TempdirManagerr   r,   r0   r   <module>rX      s    - - 				 3 3 3 3 3 3 0 0 0 0 0 0 @ @ @ @ @ @ @ @ {4 {4 {4 {4 {4G* {4 {4 {4 {4 {4r0   