Your IP : 216.73.216.213


Current Path : /opt/alt/python39/lib64/python3.9/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/test_asyncio/__pycache__/test_sslproto.cpython-39.pyc

a

XC?hYh�@sPdZddlZddlZddlZddlZddlmZzddlZWneyRdZYn0ddlZddlm	Z	ddlm
Z
ddlmZddlm
Z
ddlmZdd	lmZd
d�Ze�edud�Gd
d�dej��ZGdd�dej�Ze�edud�Gdd�deej��Ze�edud�e�eed�d�Gdd�deej���Zedk�rLe��dS)zTests for asyncio/sslproto.py.�N)�mock)�log)�	protocols)�sslproto)�support)�utils)�
functionalcCst�d�dS�N)�asyncioZset_event_loop_policy�rr�D/opt/alt/python39/lib64/python3.9/test/test_asyncio/test_sslproto.py�tearDownModulesr
z
No ssl modulecs�eZdZ�fdd�Zddd�dd�Zdd�dd	�Zd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Z�ZS)�SslProtoHandshakeTestscs$t���t��|_|�|j�dSr	)�super�setUpr
Znew_event_loop�loopZset_event_loop��self��	__class__rrrs

zSslProtoHandshakeTests.setUpN)�waiter�protocCsRt��}|durt��}tj|j|||dd�}|�|j�	�|�|�
|jj�|S)Ng�������?��ssl_handshake_timeout)�
test_utils�dummy_ssl_contextr
�Protocolr�SSLProtocolr�assertIs�_app_transport�get_protocolZ
addCleanup�close)rrr�
sslcontext�	ssl_protorrr�ssl_protocol"s�z#SslProtoHandshakeTests.ssl_protocol)�do_handshakecCsrt��}t��}d|j_|r&||j_ndd�}||j_tjd|d��|�|�Wd�n1sd0Y|S)N�cSsgSr	r)�callbackrrr�mock_handshake3sz>SslProtoHandshakeTests.connection_made.<locals>.mock_handshakezasyncio.sslproto._SSLPipe)�return_value)r�Mock�shutdownr)r%Zside_effectZpatch�connection_made)rr#r%�	transportZsslpiper(rrrr,,s
(z&SslProtoHandshakeTests.connection_madecCs^t��}t��}t��}|�td��&tj|j|||dd�Wd�n1sP0YdS)N�a positive numberrr�	rrrr*�assertRaisesRegex�
ValueErrorrrr�rr"Z	app_protorrrr�test_handshake_timeout_zero:s�z2SslProtoHandshakeTests.test_handshake_timeout_zerocCs^t��}t��}t��}|�td��&tj|j|||dd�Wd�n1sP0YdS)Nr.i����rr/r2rrr�test_handshake_timeout_negativeBs�z6SslProtoHandshakeTests.test_handshake_timeout_negativecCsH|j��}|j|d�}|�|�|��t�|j�|�|��t	�dS�N�r)
r�
create_futurer$r,�eof_receivedr�run_briefly�assertIsInstance�	exception�ConnectionResetError�rrr#rrr�test_eof_received_waiterJs

z/SslProtoHandshakeTests.test_eof_received_waiterc	Cs\|j��}|j|d�}tj��}tj�tj�z|�	d�Wtj�|�ntj�|�0dSr5)
rr7r$rZloggerZgetEffectiveLevelZsetLevel�loggingZFATALZ_fatal_error)rrr#Z	log_levelrrr�test_fatal_error_no_name_errorRs

z5SslProtoHandshakeTests.test_fatal_error_no_name_errorcCsJ|j��}|j|d�}|�|�|�t�t�|j�|�|�	�t�dSr5)
rr7r$r,�connection_lost�ConnectionAbortedErrorrr9r:r;r=rrr�test_connection_lostas


z+SslProtoHandshakeTests.test_connection_lostcCsH|j��}|j|d�}|�|�}t�|j�|j��|�|j	j
�dSr5)rr7r$r,rr9rr!�
assertTrue�abortZcalled)rrr#r-rrr�test_close_during_handshakeks


z2SslProtoHandshakeTests.test_close_during_handshakecCsx|j��}|j|d�}|�|�d��t�}|�|�d|�|�|�|�|�|�d��|�	d�|�|�d��dS)Nr6�socket)
rr7r$�assertIsNoneZ_get_extra_info�objectrr,ZassertIsNotNonerA)rrr#�defaultrrr�(test_get_extra_info_on_closed_connectionvs


z?SslProtoHandshakeTests.test_get_extra_info_on_closed_connectioncCsN|j��}|j|d�}t��}|j�|�|�|j��|�|�|j	|�dSr5)
rr7r$r
rr�set_protocolrr Z
_app_protocol)rrr#Z
new_app_protorrr�test_set_new_app_protocol�s
z0SslProtoHandshakeTests.test_set_new_app_protocolcCs4|��}|�|�|j}|��|�|�d��dS�Nsdata)r$r,rr!rH�
data_received�rr#Ztransprrr� test_data_received_after_closing�s

z7SslProtoHandshakeTests.test_data_received_after_closingcCs4|��}|�|�|j}|��|�|�d��dSrN)r$r,rr!rH�writerPrrr�test_write_after_closing�s

z/SslProtoHandshakeTests.test_write_after_closing)�__name__�
__module__�__qualname__rr$r,r3r4r>r@rCrFrKrMrQrS�
__classcell__rrrrrs


rc@sveZdZdZejZdd�Zdd�Zdd�Z	dd	�Z
d
d�Zdd
�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�ZdS)�BaseStartTLSi�cCst�dSr	)�NotImplementedErrorrrrr�new_loop�szBaseStartTLS.new_loopc	CsGdd�dtj�}dD]�}|d|�}t�|d�|�|jd�|d|�}t�|d�|�|jd�|d|�}t�|d�|�|jd�|d|�}t�|d�|�|jd�|d	|�}t�|d�|�|jd�|d
|�}|�td��t�|d�Wd�q1�s0YqdS)Nc@s$eZdZdd�Zdd�Zdd�ZdS)z.BaseStartTLS.test_buf_feed_data.<locals>.ProtocSs&t|�|_t|j�|_d|_||_dS�Nr&)�	bytearray�buf�
memoryview�mv�data�usemv)r�bufsizerarrr�__init__�s
z7BaseStartTLS.test_buf_feed_data.<locals>.Proto.__init__cSs|jr|jS|jSdSr	)rar_r]�r�sizehintrrr�
get_buffer�sz9BaseStartTLS.test_buf_feed_data.<locals>.Proto.get_buffercSs<|jr |j|jd|�7_n|j|jd|�7_dSr	)rar`r_r]�rZnsizerrr�buffer_updated�sz=BaseStartTLS.test_buf_feed_data.<locals>.Proto.buffer_updatedN)rTrUrVrcrfrhrrrr�Proto�sri)FT�s12345�s1234��drzempty buffer)r
�BufferedProtocolrZ_feed_data_to_buffered_proto�assertEqualr`r0�RuntimeError)rrirarrrr�test_buf_feed_data�s(





zBaseStartTLS.test_buf_feed_datacs�d�j�t���t������fdd�}G�fdd�dtj������fdd�}�j|�jd��.}�j�	tj
||j�tj
d��Wd�n1s�0Yt����t�������dS)	N�1cs�|��j�|�t���}��t|�t���|j�dd�|�d�|�t���}��t|�t���|�tj	�|�
�dS�NT��server_side�O��
settimeout�TIMEOUT�recv_all�lenro�	start_tls�sendallr+rG�	SHUT_RDWRr!��sockr`��	HELLO_MSGr�server_contextrr�serve�s
z=BaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.servecs0eZdZdd�Z�fdd�Zdd�Zdd�Zd	S)
zCBaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.ClientProtocSs||_||_d|_dS�Nr��on_data�on_eof�con_made_cnt�rr�r�rrrrc�szLBaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.ClientProto.__init__cs |jd7_��|jd�dS�Nrj�r�ro�r�trrrrr,�szSBaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.ClientProto.connection_madecSs|j�|�dSr	�r��
set_result�rr`rrrrO�szQBaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.ClientProto.data_receivedcSs|j�d�dS�NT�r�r�rrrrr8�szPBaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.ClientProto.eof_receivedN�rTrUrVrcr,rOr8rrrr�ClientProto�sr�c�s�t�d�IdH�j����j����jj���fdd�g|�R�IdH\}}|����j�||��IdH}���IdHd�|����IdH|��dS)N��?cs
����Sr	rr�r�r�r�rr�<lambda>r&zPBaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.client.<locals>.<lambda>rv)	r
�sleeprr7�create_connectionrRr|ror!)�addrr�r�new_tr�r�r��client_contextr�r�r�r�client�s

��


z>BaseStartTLS.test_start_tls_client_reg_proto_1.<locals>.client�Ztimeout��PAYLOAD_SIZEr�simple_server_sslcontext�simple_client_sslcontextr
r�
tcp_serverryr�run_until_complete�wait_forr�r�
SHORT_TIMEOUT�weakref�ref�
gc_collectrH�rr�r��srvr�r�r�r�rr�r�!test_start_tls_client_reg_proto_1�s
��"
z.BaseStartTLS.test_start_tls_client_reg_proto_1cs�d�j�t���t������fdd�}G�fdd�dtj������fdd�}�j|�jd��.}�j�	tj
||j�tj
d��Wd�n1s�0Yt����t�������dS)	Nrrcs^|��j�|j�dd�|�d�|�t���}��t|�t���|�tj	�|�
�dSrs)rxryr|r}rzr{ror+rGr~r!rr�rrr�!s
z>BaseStartTLS.test_create_connection_memory_leak.<locals>.servecs0eZdZdd�Z�fdd�Zdd�Zdd�Zd	S)
zDBaseStartTLS.test_create_connection_memory_leak.<locals>.ClientProtocSs||_||_d|_dSr�r�r�rrrrc.szMBaseStartTLS.test_create_connection_memory_leak.<locals>.ClientProto.__init__cs&||_|jd7_��|jd�dSr�)r�r�ror�rrrr,3szTBaseStartTLS.test_create_connection_memory_leak.<locals>.ClientProto.connection_madecSs|j�|�dSr	r�r�rrrrO:szRBaseStartTLS.test_create_connection_memory_leak.<locals>.ClientProto.data_receivedcSs|j�d�dSr�r�rrrrr8=szQBaseStartTLS.test_create_connection_memory_leak.<locals>.ClientProto.eof_receivedNr�rrrrr�-sr�c�s�t�d�IdH�j����j����jj���fdd�g|�Rd�i�IdH\}}���IdHd�|����IdH|��dS)Nr�cs
����Sr	rrr�rrr�Gr&zQBaseStartTLS.test_create_connection_memory_leak.<locals>.client.<locals>.<lambda>�sslrv)r
r�rr7r�rorRr!�r�r�rr�r�rr�@s

���

z?BaseStartTLS.test_create_connection_memory_leak.<locals>.clientr�r�r�rr�r�"test_create_connection_memory_leaks
��"
z/BaseStartTLS.test_create_connection_memory_leakcs�d�j�t���t���d����fdd�}G�fdd�dtj��G�fdd�dtj��������fd	d
�}�j|�jd��.}�j	�
tj||j��jd��Wd�n1s�0YdS)Nrrrcs�|��j�|�t���}��t|�t���|j�dd�|�d�|�t���}��t|�t���|�d�|�t���}��t|�t���|�tj	�|�
�dS)NTrtrv�2rwrr�rrr�bs

z=BaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.servecs0eZdZdd�Z�fdd�Zdd�Zdd�Zd	S)
zHBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirstcSs||_td�|_dSr�)r�r\r])rr�rrrrcvszQBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.__init__cs�d7�dSr�r�rr���client_con_made_callsrrr,zszXBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.connection_madecSs|jSr	)r]rdrrrrf~szSBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.get_buffercSs*|dksJ�|j�t|jd|���dSr�)r�r��bytesr]rgrrrrh�szWBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoFirst.buffer_updatedN)rTrUrVrcr,rfrhrr�rr�ClientProtoFirstusr�cs0eZdZdd�Z�fdd�Zdd�Zdd�Zd	S)
zIBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecondcSs||_||_d|_dSr�r�r�rrrrc�szRBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.__init__cs�d7�dSr�rr�r�rrr,�szYBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.connection_madecSs|j�|�dSr	r�r�rrrrO�szWBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.data_receivedcSs|j�d�dSr�r�rrrrr8�szVBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.ClientProtoSecond.eof_receivedNr�rr�rr�ClientProtoSecond�sr�c�s�t�d�IdH�j����j��}�j��}�jj��fdd�g|�R�IdH\}}|����j�||��IdH}���IdHd�|���|��||����|IdHd�|���|IdH|�	����d�dS)Nr�cs���Sr	rr)r��on_data1rrr��r&zPBaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.client.<locals>.<lambda>rvr�rj)
r
r�rr7r�rRr|rorLr!)r�Zon_data2r�r�rr�)r�r�r�r�r�r)r�rr��s&


��



z>BaseStartTLS.test_start_tls_client_buf_proto_1.<locals>.clientr�)
r�rr�r�r
rnrr�ryrr�r�r�r�r)r�r�r�r�r�rr�r�!test_start_tls_client_buf_proto_1[s
��z.BaseStartTLS.test_start_tls_client_buf_proto_1cs�d�j�t����j������fdd�}G�fdd�dtj�������fdd�}�j|�jd��.}�j�	tj
||j�tj
d��Wd�n1s�0YdS)	Nrrcs||��j�|�t���}��t|�t���z>z�j��jd�|�d�}Wnty`Yn0W|�	�n
|�	�0dS�N�)
rxryrzr{rorZcall_soon_threadsafer�rBr!r)r�r�server_waits_on_handshakerrr��s�z=BaseStartTLS.test_start_tls_slow_client_cancel.<locals>.servecs0eZdZdd�Z�fdd�Zdd�Zdd�Zd	S)
zCBaseStartTLS.test_start_tls_slow_client_cancel.<locals>.ClientProtocSs||_||_d|_dSr�r�r�rrrrc�szLBaseStartTLS.test_start_tls_slow_client_cancel.<locals>.ClientProto.__init__cs |jd7_��|jd�dSr�r�r�rrrr,�szSBaseStartTLS.test_start_tls_slow_client_cancel.<locals>.ClientProto.connection_madecSs|j�|�dSr	r�r�rrrrO�szQBaseStartTLS.test_start_tls_slow_client_cancel.<locals>.ClientProto.data_receivedcSs|j�d�dSr�r�rrrrr8�szPBaseStartTLS.test_start_tls_slow_client_cancel.<locals>.ClientProto.eof_receivedNr�rrrrr��sr�c�s�t�d�IdH�j����j����jj���fdd�g|�R�IdH\}}|����IdH��tj��.t��j�	||��d�IdHWd�n1s�0YdS)Nr�cs
����Sr	rrr�rrr��r&zPBaseStartTLS.test_start_tls_slow_client_cancel.<locals>.client.<locals>.<lambda>)
r
r�rr7r�rR�assertRaises�TimeoutErrorr�r|r��r�r�r�rr�r�rr��s

��

�z>BaseStartTLS.test_start_tls_slow_client_cancel.<locals>.clientr�)r�rr�rr7r
rr�ryr�r�r�rr�r�rr�r�!test_start_tls_slow_client_cancel�s

��z.BaseStartTLS.test_start_tls_slow_client_cancelcs�d�j�d�t���t���d������fdd��G�fdd�dtj������fdd��������fd	d
�}�j�|��dS)Nrrsanswercsf|��j�|�|�|�t���}��t|�t���|���|���|�t����|��dSr	)	rxryZconnectrzr{ror|r}r!)r�r�r`)�ANSWERr��answerr�rrrr��s


z4BaseStartTLS.test_start_tls_server_1.<locals>.clientcs8eZdZdd�Zdd�Zdd�Z�fdd�Zd	d
�ZdS)z9BaseStartTLS.test_start_tls_server_1.<locals>.ServerProtocSs"||_||_||_d|_d|_dSr[)�on_con�on_con_lost�on_got_hellor`r-)rr�r�r�rrrrc	s
zBBaseStartTLS.test_start_tls_server_1.<locals>.ServerProto.__init__cSs||_|j�|�dSr	)r-r�r�r�rrrr,szIBaseStartTLS.test_start_tls_server_1.<locals>.ServerProto.connection_madecSs
||_dSr	)r-r�rrr�replace_transportszKBaseStartTLS.test_start_tls_server_1.<locals>.ServerProto.replace_transportcs0|j|7_t|j�t��kr,|j�d�dSr	)r`r{r�r�r��r�rrrOszGBaseStartTLS.test_start_tls_server_1.<locals>.ServerProto.data_receivedcSs,d|_|dur|j�d�n|j�|�dSr	)r-r�r�Z
set_exception)r�excrrrrAszIBaseStartTLS.test_start_tls_server_1.<locals>.ServerProto.connection_lostN)rTrUrVrcr,r�rOrArr�rr�ServerProtos
r�c�s�|IdH}|�����|jd��jj||�d�jd�IdH}|�|�|IdH|���|IdH��|j��|��dS)Nr&T)rur)rRror`rr|ryr�r!)rr�r�r�r�r�)r�r�rr�rr�main#s

�



z2BaseStartTLS.test_start_tls_server_1.<locals>.mainc�s��j��}�j��}�j��}�|||���j��fdd�dd�IdH}|jd����j��fdd��jd��0tj��|||��jd�IdHWd�n1s�0Y|�	�|�
�IdH�����dS)Ncs�Sr	rr)rrrr�=r&zHBaseStartTLS.test_start_tls_server_1.<locals>.run_main.<locals>.<lambda>z	127.0.0.1rcs
�|��Sr	r�r�)r�r�rrr�@r&r�)rr7Z
create_serverZsocketsZgetsocknameZ
tcp_clientryr
r�r!Zwait_closedro)r�r�r��server)r�r�r�r�r�r)r�rr�run_main6s$


�
��*z6BaseStartTLS.test_start_tls_server_1.<locals>.run_main)r�rr�r�r
rrr�)rr�r)	r�r�r�r�r�r�r�rr�r�test_start_tls_server_1�s

z$BaseStartTLS.test_start_tls_server_1cs�fdd�}�j�|��dS)Nc�s���td��&�j�ddd�IdHWd�n1s80Yt��}��td��&�j�dd|�IdHWd�n1s�0YdS)NzSSLContext, gotzis not supported)r0�	TypeErrorrr|rr���sslctxrrrr�Ms
4z4BaseStartTLS.test_start_tls_wrong_args.<locals>.main)rr�)rr�rrr�test_start_tls_wrong_argsLsz&BaseStartTLS.test_start_tls_wrong_argsc	s�t���g��j��fdd��d��fdd�}��fdd�}�j|ddd	��N}��tj��"�j�||j	��Wd�n1s�0YWd�n1s�0Y��
�����g�t�
���t�������dS)
Ncs
��|�Sr	��append�r�ctx��messagesrrr�]r&z5BaseStartTLS.test_handshake_timeout.<locals>.<lambda>FcsBz2z|�d�Wnty&d�Yn0W|��n
|��0dS)Nr�T�rzrBr!r�)�server_side_abortedrrr�as
z3BaseStartTLS.test_handshake_timeout.<locals>.serverc�s4t��jjtjg|�R�dtjd��d�IdHdS)N�)r��server_hostnamerr�)r
r�rr�rrr�)r���
client_sslctxrrrr�js����z3BaseStartTLS.test_handshake_timeout.<locals>.clientrj�Zmax_clientsZbacklog)rr�r�set_exception_handlerr�r�r
r�r�r�rDror�r�rr�rH�rr�r�r�r)r�r�rr�r�test_handshake_timeoutWs$	
�N

z#BaseStartTLS.test_handshake_timeoutc	s�t���g��j��fdd��dd�}��fdd�}�j|ddd��N}��td	��"�j�||j��Wd�n1s|0YWd�n1s�0Y��	�g�dS)
Ncs
��|�Sr	r�r�r�rrr��r&zHBaseStartTLS.test_create_connection_ssl_slow_handshake.<locals>.<lambda>cSs>z.z|�d�Wnty"Yn0W|��n
|��0dSr�r�r�rrrr��s
zFBaseStartTLS.test_create_connection_ssl_slow_handshake.<locals>.serverc�sP��t��2tj|�d�jdd��IdH\}}Wd�n1sB0YdS)Nr�g�?�r�r�rr)�assertWarns�DeprecationWarningr
�open_connectionr�r��reader�writerr�rrr��s�zFBaseStartTLS.test_create_connection_ssl_slow_handshake.<locals>.clientrjr�zSSL handshake.*is taking longer)
rr�rr�r�r0rBr�r�ror�r)r�r�rr�)test_create_connection_ssl_slow_handshake�s 	��Nz6BaseStartTLS.test_create_connection_ssl_slow_handshakec	s��j�dd��t���tjdd���fdd�}��fdd�}�j|d	d	d
��N}��tj��"�j�	||j
��Wd�n1s�0YWd�n1s�0YdS)NcSsdSr	rr�rrrr��r&zLBaseStartTLS.test_create_connection_ssl_failed_certificate.<locals>.<lambda>F)Zdisable_verifycsTzDz|j�dd�Wn$tjy(Ynty8Yn0W|��n
|��0dS)NTrt)r|r��SSLError�OSErrorr!r�r�rrr��s�
zJBaseStartTLS.test_create_connection_ssl_failed_certificate.<locals>.serverc�sR��t��4tj|�d�jtjd��IdH\}}Wd�n1sD0YdS)Nr�r�)r�r�r
r�rrZLOOPBACK_TIMEOUTr�r�rrr��s�zJBaseStartTLS.test_create_connection_ssl_failed_certificate.<locals>.clientrjr�)rr�rr�r�r�r�r�ZSSLCertVerificationErrorr�r�r�r�r�rr�r�-test_create_connection_ssl_failed_certificate�s�	�z:BaseStartTLS.test_create_connection_ssl_failed_certificatecs��j�dd��t���t����fdd�}��fdd�}�j|ddd��"}�j�||j��}Wd�n1sr0Y��|d	�dS)
NcSsdSr	rr�rrrr��r&zBBaseStartTLS.test_start_tls_client_corrupted_ssl.<locals>.<lambda>csz|��}zZz0|j�dd�|�d�|�d�|�d�WntjyNYn0W|��|��n|��|��0dS)NTrt�A
rjs!please corrupt the SSL connection)�dupr|r}rz�sendr�r�r!)r�Z	orig_sockr�rrr��s�


�z@BaseStartTLS.test_start_tls_client_corrupted_ssl.<locals>.serverc�s���t��0tj|�d�jd��IdH\}}Wd�n1s@0Y��|��IdHd�|�d���t	j
��|��IdHWd�n1s�0Y|��dS)Nr�)r�r�rr��B�OK)r�r�r
r�rro�readlinerRr�r�r�r!r�r�rrr��s�0
,z@BaseStartTLS.test_start_tls_client_corrupted_ssl.<locals>.clientrjr�r�)	rr�rr�r�r�r�r�ro)rr�r�r��resrr�r�#test_start_tls_client_corrupted_ssl�s�0z0BaseStartTLS.test_start_tls_client_corrupted_sslN)rTrUrVr�rZLONG_TIMEOUTryrZrqr�r�r�r�r�r�r�r�r�r�rrrrrX�s/B@[=Y0##rXc@seZdZdd�ZdS)�SelectorStartTLSTestscCst��Sr	)r
ZSelectorEventLooprrrrrZ�szSelectorStartTLSTests.new_loopN�rTrUrVrZrrrrr��sr��ProactorEventLoopzWindows onlyc@seZdZdd�ZdS)�ProactorStartTLSTestscCst��Sr	)r
r�rrrrrZszProactorStartTLSTests.new_loopNr�rrrrr�sr��__main__)�__doc__r?rGZunittestr�rr��ImportErrorr
rrr�testrZtest.test_asynciorrrZ
func_testsr
ZskipIfZTestCaserZFunctionalTestCaseMixinrXr�Z
skipUnless�hasattrr�rTr�rrrr�<module>s@
]