
    ϶vg                         d Z ddlZddl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mZ ddlZddlZddlmZ ddlmZ  G d	 d
ej                  ZdS )zTests for distutils.spawn.    N)DistutilsExecError)find_executablespawn)support)
unix_shell   )py38c                   v    e Zd Zej                            d          d             Zd Zed             Z	d Z
dS )	TestSpawnzos.name not in ('nt', 'posix')c                 <   |                                  }t          j        dk    r@t          j                            |d          }|                     |dt           d           n6t          j                            |d          }|                     |d           t          j        |d           t          j
        t                    5  t          |g           d d d            n# 1 swxY w Y   t          j        dk    r@t          j                            |d          }|                     |dt           d           n6t          j                            |d          }|                     |d	           t          j        |d           t          |g           d S )
Nwin32zfoo.shz#!z
exit 1zfoo.batzexit 1i  z
exit 0zexit 0)mkdtempsysplatformospathjoin
write_filer   chmodpytestraisesr   r   )selftmpdirexes      c/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/setuptools/_distutils/tests/test_spawn.py
test_spawnzTestSpawn.test_spawn   s    <7""',,vx00COOC!:j!:!:!:;;;;',,vy11COOC***
e]-.. 	 	3%LLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 <7""',,vx00COOC!:j!:!:!:;;;;',,vy11COOC***
eses   	C&&C*-C*c           	         |                      |d          }|j        }|                    d          j        }t          |          }t	          j        |          }t          ||          }||k    sJ t          j        dk    rt          ||          }||k    sJ |5  t          |          }||k    sJ 	 d d d            n# 1 swxY w Y   d|z   }t          ||          }|J t          j
                    5 }	d|	d<   t          j        d|d	          5  t          j        d
|          5  t          |          }|J |5  t          |          }||k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j
                    5 }	t          j        |	d<   t          j        ddd	          5  t          j        d
d          5  t          |          }|J |5  t          |          }||k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j
                    5 }	|	                    dd            t          j        dt           d          5  t          j        d
|          5  t          |          }||k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          j        d|d	          5  t          j        d
d          5  t          |          }||k    sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nz.exe )r   r   
dontexist_PATHzdistutils.spawn.os.confstrT)return_valuecreatezdistutils.spawn.os.defpath)side_effectr"   )_make_executablenamewith_suffixstrr   Pathr   r   r   	os_helperEnvironmentVarGuardmockpatchr   pathseppop
ValueError)
r   tmp_pathprogram_pathprogramprogram_noeextfilenametmp_dirrvdont_exist_programenvs
             r   test_find_executablezTestSpawn.test_find_executable/   sn   ,,Xv>>#%11"55:|$$)H%% W7333X~~~~<7"" g>>>B>>>>  	! 	! ))B=====	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!
 *G3/g>>>zzz *,, 	)CK,74   	) 	)z6@@	) 	) %W--zzz  ) )(11B=====) ) ) ) ) ) ) ) ) ) ) ) ) ) )	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) *,, 	)*CK,2d   	) 	)z6;;	) 	) %W--zzz  ) )(11B=====) ) ) ) ) ) ) ) ) ) ) ) ) ) )	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) *,, 	&GGFD!!! ,*T   & &z6@@& & %W--X~~~~~	& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & ,74   & &z6;;& & %W--X~~~~~	& & & & & & & & & & & & & & & & & & & & & & & & & & & & & &	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s  CCC<F/F/FE*	F*E..F1E.2F5FFFF	FF/F	F/F	 F//F36F3'J
4I3
I I	9II		II	II3I  I3#I $I3'J
3I7	7J
:I7	;J

JJ(3N9L-1L
L-LL-LL-!N9-L1	1N94L1	5N9N!%N
>N!
NN!NN!N9!N%	%N9(N%	)N99N= N=c                     |                      d                              |          }|                    dd           |                    t          j                   |S )Nr2   r   zutf-8)encoding)joinpathr&   
write_textr   statS_IXUSR)r0   extr2   s      r   r$   zTestSpawn._make_executablew   sW     ##I..::3??2000dl###    c                     t          j        t                    5 }t          dg           d d d            n# 1 swxY w Y   dt	          |j                  v sJ d S )Nzdoes-not-existzcommand 'does-not-exist' failed)r   r   r   r   r'   value)r   ctxs     r   test_spawn_missing_exez TestSpawn.test_spawn_missing_exe   s    ]-.. 	&##$%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&0C	NNBBBBBBs   7;;N)__name__
__module____qualname__r   markskipifr   r9   staticmethodr$   rE    rA   r   r   r      s        [899  :96F& F& F&P   \C C C C CrA   r   )__doc__r   r>   r   unittest.mockr+   distutils.errorsr   distutils.spawnr   r   distutils.testsr   r   r   test.supportr   compatr	   r)   TempdirManagerr   rL   rA   r   <module>rU      s        				  



       / / / / / / 2 2 2 2 2 2 2 2 # # # # # #   # # # # # # % % % % % %qC qC qC qC qC& qC qC qC qC qCrA   