Current File : //usr/local/apps/python3/lib/python3.11/distutils/tests/__pycache__/test_spawn.cpython-311.pyc
�

�Ke|���dZddlZddlZddlZddlZddlmZmZm	Z	ddlm
Z
ddlmZddlm
Z
ddlmZddlmZe	��Gd	�d
ejejej����Zd�Zedkree����dSdS)
zTests for distutils.spawn.�N)�run_unittest�
unix_shell�requires_subprocess)�	os_helper)�find_executable)�spawn)�DistutilsExecError)�supportc�\�eZdZejejdvd��d���Zd�Zd�Z	dS)�
SpawnTestCase)�nt�posixzRuns only under posix or ntc��|���}tjdkr?tj�|d��}|�|dtz��n6tj�|d��}|�|d��tj|d��|�	tt|g��tjdkr?tj�|d��}|�|dtz��n6tj�|d��}|�|d��tj|d��t|g��dS)	N�win32zfoo.shz#!%s
exit 1zfoo.batzexit 1i�z#!%s
exit 0zexit 0)�mkdtemp�sys�platform�os�path�join�
write_filer�chmod�assertRaisesr	r)�self�tmpdir�exes   �D/usr/local/apps/python3/lib/python3.11/distutils/tests/test_spawn.py�
test_spawnzSpawnTestCase.test_spawns3���������<�7�"�"��'�,�,�v�x�0�0�C��O�O�C��*�!<�=�=�=�=��'�,�,�v�y�1�1�C��O�O�C��*�*�*�
���e�������,�e�c�U�;�;�;��<�7�"�"��'�,�,�v�x�0�0�C��O�O�C��*�!<�=�=�=�=��'�,�,�v�y�1�1�C��O�O�C��*�*�*�
���e����
�s�e������c
�\
�tj��5}tj}|dz}tj�||��}t
|d��5	ddd��n#1swxYwYtj|tj	��t||���}|�||��tj
dkr't||���}|�||��tj|��5t|��}|�||��ddd��n#1swxYwYd|z}t||���}|�|��tj��5}d|d<t"j�d|d	�
��5t"j�d|��5t|��}|�|��tj|��5t|��}|�||��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYtj��5}tj|d<t"j�ddd	�
��5t"j�dd��5t|��}|�|��tj|��5t|��}|�||��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYtj��5}|�dd��t"j�dt,d	���5t"j�d|��5t|��}|�||��ddd��n#1swxYwYddd��n#1swxYwYt"j�d|d	�
��5t"j�dd��5t|��}|�||��ddd��n#1swxYwYddd��n#1swxYwYddd��n#1swxYwYddd��dS#1swxYwYdS)
Nz.exe�wb)rr�
dontexist_��PATHzdistutils.spawn.os.confstrT)�return_value�createzdistutils.spawn.os.defpath)�side_effectr&)r�temp_dir�TESTFNrrr�openr�stat�S_IXUSRr�assertEqualrr�
change_cwd�assertIsNone�EnvironmentVarGuard�unittest�mock�patch�pathsep�pop�
ValueError)r�tmp_dir�program_noeext�program�filename�rv�dont_exist_program�envs        r�test_find_executablez"SpawnTestCase.test_find_executable0s���
�
�
!�
!�N	3�W�&�-�N�%�v�-�G��w�|�|�G�W�5�5�H��h��%�%�
�
��
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��H�X�t�|�,�,�,�!��w�7�7�7�B����R��*�*�*��|�w�&�&�$�^�'�B�B�B��� � ��X�.�.�.��%�g�.�.�
.�
.�$�W�-�-��� � ��W�-�-�-�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.�
".��!7�� �!3�7�C�C�C�B����b�!�!�!��.�0�0�
6�C� ��F���]�(�(�)E�6=�d�)�L�L�
6�
6��]�(�(�)E�)0�2�2�
6�
6�)��1�1�B��%�%�b�)�)�)�#�-�g�6�6�6�6�,�W�5�5���(�(��W�5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��.�0�0�
6�C� �j��F���]�(�(�)E�68��)�G�G�	6�	6��]�(�(�)E�r�J�J�	6�	6�)��1�1�B��%�%�b�)�)�)�#�-�g�6�6�6�6�,�W�5�5���(�(��W�5�5�5�6�6�6�6�6�6�6�6�6�6�6����6�6�6�6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6��.�0�0�
3�C������%�%�%��]�(�(�)E�5?�04�)�6�6�3�3��]�(�(�)E�)0�2�2�3�3�
)��1�1�B��$�$�R��2�2�2�
3�3�3�3�3�3�3�3�3�3�3����3�3�3�3�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3��]�(�(�)E�6=�d�)�L�L�3�3��]�(�(�)E�r�J�J�3�3�)��1�1�B��$�$�R��2�2�2�	3�3�3�3�3�3�3�3�3�3�3����3�3�3�3�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3�
3����
3�
3�
3�
3�{N	3�N	3�N	3�N	3�N	3�N	3�N	3�N	3�N	3�N	3�N	3�N	3����N	3�N	3�N	3�N	3�N	3�N	3s0�AT!�A$�T!�$A(	�(T!�+A(	�,BT!�&D2�&T!�2D6	�6T!�9D6	�:AT!�;(I4�#!I�9I	�=&H/�#I	�/H3�3I	�6H3�7I	�:I�I

�
I�
I

�I�I4�I!�!I4�$I!�%I4�(T!�4I8	�8T!�;I8	�<T!�2N�!M>�%9M'	�&M�M'	�M�M'	�M�M'	�M>�'M+
�+M>�.M+
�/M>�2N�>N�N�N�N�	T!�N	�T!�N	�T!�3>T	�1!Q�&Q	�8Q�Q
�Q�Q
�Q�T	�Q�T	�"Q�#%T	�!S2�)&S	�S2�S
�S2�"S
�#S2�&T	�2S6�6T	�9S6�:T	�=T!�	T
	�
T!�T
	�T!�!T%�(T%c���|�t��5}tdg��ddd��n#1swxYwY|�dt	|j����dS)Nzdoes-not-existzcommand 'does-not-exist' failed)rr	r�assertIn�str�	exception)r�ctxs  r�test_spawn_missing_exez$SpawnTestCase.test_spawn_missing_exe�s���
�
�
�1�
2�
2�	&�c��#�$�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&��
�
�7��S�]�9K�9K�L�L�L�L�Ls�8�<�<N)
�__name__�
__module__�__qualname__r1�
skipUnlessr�namerr>rD�rrrrst������
�X����O�3�6�8�8���8�8��4O3�O3�O3�bM�M�M�M�Mrrc�X�tj���t��S)N)r1�
TestLoader�loadTestsFromTestCaserrJrr�
test_suiterN�s���� � �6�6�}�E�E�Er�__main__)�__doc__rr+r�
unittest.mockr1�test.supportrrrr�distutils.spawnrr�distutils.errorsr	�distutils.testsr
�TempdirManager�LoggingSilencer�TestCaserrNrErJrr�<module>rYsM�� � �	�	�	�	�����
�
�
�
�����F�F�F�F�F�F�F�F�F�F�"�"�"�"�"�"�+�+�+�+�+�+�!�!�!�!�!�!�/�/�/�/�/�/�#�#�#�#�#�#�����tM�tM�tM�tM�tM�G�*��+��%�tM�tM���tM�nF�F�F��z����L�����������r