File: D:/Python311/Lib/test/test_asyncio/__pycache__/test_subprocess.cpython-311.pyc
�
��VcEj � � � d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlZd dlmZ d dlmZ d dl m
Z d dlm
Z
d dlmZ ej dk rd d lmZ e
j d
�� � r ej d� � �ej d
dgZej d
d� d� � gZd� Z G d� dej � � Z G d� dej � � Z G d� d� � Zej dk r� G d� de� � Z G d� deej � � Z ej d� � G d� deej � � � � Z! G d� d eej � � Z" G d!� d"eej � � Z#d#� Z$ ej% e$� � d$� � G d%� d&eej � � � � Z& G d'� d(ej � � Z'n G d)� d*eej � � Z(e)d+k r ej* � � dS dS ),� N)�mock)�base_subprocess)�
subprocess)�utils)�support)� os_helper�win32)�unix_eventsT)�addressz#Exposes ASAN flakiness in GitHub CI�-czimport time; time.sleep(3600)�;)�
import syszdata = sys.stdin.buffer.read()zsys.stdout.buffer.write(data)c �. � t j d � � d S �N)�asyncio�set_event_loop_policy� � �5D:\Python311\Lib\test\test_asyncio\test_subprocess.py�tearDownModuler s � ��!�$�'�'�'�'�'r c � � e Zd Zd� ZdS )�TestSubprocessTransportc � � t j � � | _ d | j _ d | j _ d | j _ d| j _ d S )N���)r �Mock�_proc�stdin�stdout�stderr�pid)�self�args�kwargss r �_startzTestSubprocessTransport._start% s: � ��Y�[�[��
���
�� ��
�� ��
����
���r N)�__name__�
__module__�__qualname__r$ r r r r r $ s# � � � � � �� � � � r r c �2 � � e Zd Z� fd�Zdd�Zd� Zd� Z� xZS )�SubprocessTransportTestsc � �� t � � � � � | � � � | _ | � | j � � d S r )�super�setUp�
new_test_loop�loop�set_event_loop�r! � __class__s �r r, zSubprocessTransportTests.setUp. sC �� �
���
�
�����&�&�(�(�� ����D�I�&�&�&�&�&r Nc �l � t j � � }t | j |dgdd d d d|�� � }||fS )N�testFr )�waiter)r r r r. )r! r4 �protocol� transports r �create_transportz)SubprocessTransportTests.create_transport3 sF � ��9�;�;��+�� �8�f�X�u��d�D�!�F�<� <� <� � �8�$�$r c � � | j � � � }| � |� � \ }}|� d� � | j � |� � | � |� � � d� � | � |j j � � | � |j
j � � | � |j j � � | � |j j d d� � | �
|� � � � � | � |j � � | � |j � � | � |j � � | � t( |j t, j � � | � t( |j � � | � t( |j � � |� � � d S )N� r r )r. �
create_futurer7 �_process_exited�run_until_complete�assertEqual�get_returncode�
assertTrue�connection_made�called�process_exited�connection_lost� call_args�assertFalse�
is_closing�assertIsNone�_loopr � _protocol�assertRaises�ProcessLookupError�send_signal�signal�SIGTERM� terminate�kill�close�r! r4 r6 r5 s r �test_proc_exitedz)SubprocessTransportTests.test_proc_exited: s� � ���(�(�*�*��"�3�3�F�;�;�� �8��!�!�!�$�$�$�� �$�$�V�,�,�,�����1�1�3�3�Q�7�7�7�����0�7�8�8�8�����/�6�7�7�7�����0�7�8�8�8�����1�;�A�>��H�H�H�����-�-�/�/�0�0�0����)�/�*�*�*����)�/�*�*�*����)�-�.�.�.�
���,�#�/��� A� A� A����,�i�.A�B�B�B����,�i�n�=�=�=��������r c �� � | j � � � }| � |� � \ }}|� d� � | j � |� � | � t
|� � d� � d |_ | � t
|� � d� � d |_ d |_ | � t
|� � d� � |� � � d S )Nr9 z-<TestSubprocessTransport pid=-1 returncode=6>z(<TestSubprocessTransport pid=-1 running>z%<TestSubprocessTransport not started>)
r. r: r7 r; r<