Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/test/test_asyncio/__pycache__/utils.cpython-38.opt-2.pyc

U

i�fQC�@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZddlmZddlmZmZzddlZWnek
r�dZYnXddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlm Z dd
�Z!e!d�Z"e!d�Z#e!d�Z$e!d�Z%ddddddddddd�
Z&dd�Z'dd �d!d"�Z(d#d$�Z)d%d&�Z*d_d(d)�Z+d*d+�Z,Gd,d-�d-e�Z-Gd.d/�d/e�Z.Gd0d1�d1�Z/Gd2d3�d3e/e.�Z0d4d5�d6d7�Z1e2ed8��rhGd9d:�d:e	j3e�Z4Gd;d<�d<e4e�Z5Gd=d>�d>e5�Z6Gd?d@�d@e/e6�Z7dAdB�Z8ej9dCdD��Z:ej9d4d5�dEdF��Z;ej9dGdd4dH�dIdJ��Z<dKdL�Z=GdMdN�dNej>�Z?GdOdP�dPej@�ZAdQdR�ZBGdSdT�dTeC�ZDGdUdV�dV�ZEdWdX�ZFGdYdZ�dZejG�ZGej9d[d\��ZHejIejJejKfd]d^�ZLdS)`�N)�mock)�
HTTPServer)�WSGIRequestHandler�
WSGIServer)�base_events)�events)�format_helpers)�futures)�tasks)�logger)�supportcCs^ttd�r*tj�tj|�}tj�|�r*|Stj�tj�t�d|�}tj�|�rR|St	|��dS)N�
TEST_HOME_DIRz..)
�hasattrr�os�path�joinr
�isfile�dirname�__file__�FileNotFoundError)�filename�fullname�r�</opt/alt/python38/lib64/python3.8/test/test_asyncio/utils.py�	data_file's
rzssl_cert.pemzssl_key.pemzkeycert3.pemzpycacert.pem)z)http://testca.pythontest.net/testca/ocsp/)z0http://testca.pythontest.net/testca/pycacert.cer)z2http://testca.pythontest.net/testca/revocation.crl)�)ZcountryNameZXY))�organizationNamezPython Software Foundation CA))�
commonNamez
our-ca-serverzOct 28 14:23:16 2037 GMTzAug 29 14:23:16 2018 GMTZCB2D80995A69525C)r))ZlocalityNamezCastle Anthrax))rzPython Software Foundation))r�	localhost))ZDNSr�)
ZOCSPZ	caIssuersZcrlDistributionPointsZissuerZnotAfterZ	notBeforeZserialNumberZsubjectZsubjectAltName�versioncCs*t�tj�}|�tt�d|_tj|_|S�NF)	�ssl�
SSLContextZPROTOCOL_TLS_SERVER�load_cert_chain�ONLYCERT�ONLYKEY�check_hostname�	CERT_NONE�verify_mode)Zserver_contextrrr�simple_server_sslcontextIs
r*T)�disable_verifycCs"t�tj�}d|_|rtj|_|Sr!)r"r#ZPROTOCOL_TLS_CLIENTr'r(r))r+Zclient_contextrrr�simple_client_sslcontextQs
r,cCstdkrdSt�tj�SdS�N)r"r#ZPROTOCOL_TLSrrrr�dummy_ssl_contextYsr.cCs<dd�}|�}|�|�}d|_z|�|�W5|��XdS)Nc�sdSr-rrrrr�onceaszrun_briefly.<locals>.onceF)Zcreate_taskZ_log_destroy_pending�close�run_until_complete)�loopr/�gen�trrr�run_briefly`s
r5�cCsLt��|}|�sH|dk	r6|t��}|dkr6t���|�t�d��qdS)Nrg����MbP?)�time�	monotonicr	�TimeoutErrorr1r
�sleep)r2Zpred�timeoutZdeadlinerrr�	run_untilnsr<cCs|�|j�|��dSr-)Z	call_soon�stopZrun_forever�r2rrr�run_oncexsr?c@seZdZdd�Zdd�ZdS)�SilentWSGIRequestHandlercCst��Sr-)�io�StringIO��selfrrr�
get_stderr�sz#SilentWSGIRequestHandler.get_stderrcGsdSr-r)rD�format�argsrrr�log_message�sz$SilentWSGIRequestHandler.log_messageN)�__name__�
__module__�__qualname__rErHrrrrr@�sr@cs(eZdZdZ�fdd�Zdd�Z�ZS)�SilentWSGIServer�cs"t���\}}|�|j�||fSr-��super�get_requestZ
settimeout�request_timeout�rD�requestZclient_addr��	__class__rrrP�szSilentWSGIServer.get_requestcCsdSr-r�rDrS�client_addressrrr�handle_error�szSilentWSGIServer.handle_error)rIrJrKrQrPrX�
__classcell__rrrTrrL�srLc@seZdZdd�ZdS)�SSLWSGIServerMixincCsVt��}|�tt�|j|dd�}z|�|||�|��Wntk
rPYnXdS)NT)Zserver_side)	r"r#r$r%r&Zwrap_socketZRequestHandlerClassr0�OSError)rDrSrW�contextZssockrrr�finish_request�sz!SSLWSGIServerMixin.finish_requestN)rIrJrKr]rrrrrZ�srZc@seZdZdS)�
SSLWSGIServerN�rIrJrKrrrrr^�sr^F)�use_sslc#s�dd���fdd�}|r|n|}||t����|��j�_tj�fdd�d�}|��z
�VW5������|�	�XdS)Ncss<t|d�}|r8|d�t|d��}|V|t|�8}qdS)NZCONTENT_LENGTHz
wsgi.inputi)�int�read�min�len)�environ�size�datarrrr2�s
z_run_test_server.<locals>.loopcs2d}dg}|||�|ddkr(�|�SdgSdS)Nz200 OK)zContent-typez
text/plainZ	PATH_INFOz/loopsTest messager)reZstart_responseZstatusZheadersr>rr�app�s
z_run_test_server.<locals>.appcs�jdd�S)Ng�������?)Z
poll_interval)Z
serve_foreverr)�httpdrr�<lambda>��z"_run_test_server.<locals>.<lambda>)�target)
r@Zset_appZserver_address�address�	threadingZThread�start�shutdownZserver_closer)rmr`�
server_cls�server_ssl_clsrhZserver_classZ
server_threadr)rir2r�_run_test_server�s


�
rsZAF_UNIXc@seZdZdd�ZdS)�UnixHTTPServercCstj�|�d|_d|_dS)N�	127.0.0.1�P)�socketserver�UnixStreamServer�server_bindZserver_nameZserver_portrCrrrry�szUnixHTTPServer.server_bindN)rIrJrKryrrrrrt�srtcs(eZdZdZdd�Z�fdd�Z�ZS)�UnixWSGIServerrMcCst�|�|��dSr-)rtryZ
setup_environrCrrrry�s
zUnixWSGIServer.server_bindcs"t���\}}|�|j�|dfS)N)ru�rNrRrTrrrP�szUnixWSGIServer.get_request)rIrJrKrQryrPrYrrrTrrz�srzc@seZdZdd�ZdS)�SilentUnixWSGIServercCsdSr-rrVrrrrX�sz!SilentUnixWSGIServer.handle_errorN)rIrJrKrXrrrrr|�sr|c@seZdZdS)�UnixSSLWSGIServerNr_rrrrr}�sr}c
Cs&t���}|jW5QR�SQRXdSr-)�tempfileZNamedTemporaryFile�name)�filerrr�gen_unix_socket_path�s
r�ccs<t�}z
|VW5zt�|�Wntk
r4YnXXdSr-)r�r�unlinkr[)rrrr�unix_socket_paths
r�c	cs,t��}t||ttd�EdHW5QRXdS�N)rmr`rqrr)r�rsr|r})r`rrrr�run_test_unix_servers
�r�ru�ZhostZportr`ccst||f|ttd�EdHdSr�)rsrLr^r�rrr�run_test_servers
�r�cCsLi}t|�D](}|�d�r&|�d�r&qtdd�||<qtd|f|j|��S)N�__)�return_valueZTestProtocol)�dir�
startswith�endswith�MockCallback�type�	__bases__)�baseZdctrrrr�make_test_protocolsr�c@s6eZdZdd�Zddd�Zdd�Zdd	�Zd
d�ZdS)
�TestSelectorcCs
i|_dSr-��keysrCrrr�__init__'szTestSelector.__init__NcCst�|d||�}||j|<|S)Nr)�	selectorsZSelectorKeyr�)rD�fileobjrrg�keyrrr�register*s
zTestSelector.registercCs|j�|�Sr-)r��pop)rDr�rrr�
unregister/szTestSelector.unregistercCsgSr-r)rDr;rrr�select2szTestSelector.selectcCs|jSr-r�rCrrr�get_map5szTestSelector.get_map)N)rIrJrKr�r�r�r�r�rrrrr�%s

r�cs�eZdZd-�fdd�	Zdd�Zdd�Z�fdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Z�fd$d%�Zdd&��fd'd(�
Zd)d*�Zd+d,�Z�ZS).�TestLoopNcsvt���|dkr"dd�}d|_nd|_|�|_t|j�d|_d|_g|_t�|_	i|_
i|_|��t
��|_dS)Ncss
dVdSr-rrrrrr3PszTestLoop.__init__.<locals>.genFTrg��&�.>)rOr��_check_on_close�_gen�next�_timeZ_clock_resolution�_timersr�Z	_selector�readers�writers�reset_counters�weakrefZWeakValueDictionary�_transports)rDr3rTrrr�Ls

zTestLoop.__init__cCs|jSr-�r�rCrrrr7csz
TestLoop.timecCs|r|j|7_dSr-r�)rD�advancerrr�advance_timefszTestLoop.advance_timecsBt���|jr>z|j�d�Wntk
r4Yn
Xtd��dS)NrzTime generator is not finished)rOr0r�r��send�
StopIteration�AssertionErrorrCrTrrr0ks
zTestLoop.closecGst�|||d�|j|<dSr-)r�Handler��rD�fd�callbackrGrrr�_add_readeruszTestLoop._add_readercCs0|j|d7<||jkr(|j|=dSdSdS�N�TF)�remove_reader_countr��rDr�rrr�_remove_readerxs

zTestLoop._remove_readercGsh||jkrtd|�d���|j|}|j|krDtd|j�d|����|j|krdtd|j�d|����dS)N�fd z is not registeredzunexpected callback: z != zunexpected callback args: )r�r�Z	_callbackZ_args�rDr�r�rGZhandlerrr�
assert_reader�s


�
�zTestLoop.assert_readercCs||jkrtd|�d���dS)Nr�z is registered)r�r�r�rrr�assert_no_reader�s
zTestLoop.assert_no_readercGst�|||d�|j|<dSr-)rr�r�r�rrr�_add_writer�szTestLoop._add_writercCs0|j|d7<||jkr(|j|=dSdSdSr�)�remove_writer_countr�r�rrr�_remove_writer�s

zTestLoop._remove_writercGs|j|}dSr-)r�r�rrr�
assert_writer�s
zTestLoop.assert_writerc
Cs~t|t�sFzt|���}Wn*tttfk
rDtd�|��d�YnXz|j|}Wntk
rhYnXt	d�||���dS)NzInvalid file object: {!r}z.File descriptor {!r} is used by transport {!r})
�
isinstancera�fileno�AttributeError�	TypeError�
ValueErrorrFr��KeyError�RuntimeError)rDr�Z	transportrrr�_ensure_fd_no_transport�s&
����z TestLoop._ensure_fd_no_transportcGs|�|�|j||f|��Sr-)r�r�r�rrr�
add_reader�s
zTestLoop.add_readercCs|�|�|�|�Sr-)r�r�r�rrr�
remove_reader�s
zTestLoop.remove_readercGs|�|�|j||f|��Sr-)r�r�r�rrr�
add_writer�s
zTestLoop.add_writercCs|�|�|�|�Sr-)r�r�r�rrr�
remove_writer�s
zTestLoop.remove_writercCst�t�|_t�t�|_dSr-)�collections�defaultdictrar�r�rCrrrr��szTestLoop.reset_counterscs6t���|jD]}|j�|�}|�|�qg|_dSr-)rO�	_run_oncer�r�r�r�)rD�whenr�rTrrr��s


zTestLoop._run_once)r\cs&|j�|�t�j||f|�d|i�S)Nr\)r��appendrO�call_at)rDr�r�r\rGrTrrr��szTestLoop.call_atcCsdSr-r)rDZ
event_listrrr�_process_events�szTestLoop._process_eventscCsdSr-rrCrrr�_write_to_self�szTestLoop._write_to_self)N)rIrJrKr�r7r�r0r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rYrrrTrr�9s*
r�cKstjfddgi|��S)N�spec�__call__)rZMock)�kwargsrrrr��sr�c@seZdZdd�ZdS)�MockPatterncCstt�t|�|tj��Sr-)�bool�re�search�str�S�rD�otherrrr�__eq__�szMockPattern.__eq__N)rIrJrKr�rrrrr��s	r�c@seZdZdd�Zdd�ZdS)�MockInstanceOfcCs
||_dSr-)�_type)rDr�rrrr��szMockInstanceOf.__init__cCst||j�Sr-)r�r�r�rrrr��szMockInstanceOf.__eq__N)rIrJrKr�r�rrrrr��sr�cCs$t�|�}|dkr td|f��|S)Nzunable to get the source of %r)rZ_get_function_sourcer�)�func�sourcerrr�get_function_source�s
r�c@sHeZdZedd��Zdd�dd�Zddd	�Zd
d�Zdd
�Zdd�Z	dS)�TestCasecCs�|j}|dk	r|jdd�|��t��}|dk	r�z|��}Wntk
rRYn.Xt|tj	�r�t
|j���}|D]}|�
�qrdS)NT)�wait)Z_default_executorrpr0rZmaybe_get_event_loop_policyZget_child_watcher�NotImplementedErrorr��asyncioZThreadedChildWatcher�listZ_threads�valuesr)r2ZexecutorZpolicyZwatcherZthreads�threadrrr�
close_loop�szTestCase.close_loopT)�cleanupcCs t�d�|r|�|j|�dSr-)r�set_event_loopZ
addCleanupr�)rDr2r�rrrr�s
zTestCase.set_event_loopNcCst|�}|�|�|Sr-)r�r�)rDr3r2rrr�
new_test_loops
zTestCase.new_test_loopcCs|jt_dSr-)�_get_running_looprrCrrr�unpatch_get_running_loopsz!TestCase.unpatch_get_running_loopcCs tj|_dd�t_t��|_dS)NcSsdSr-rrrrrrj"rkz TestCase.setUp.<locals>.<lambda>)rr�rZthreading_setup�_thread_cleanuprCrrr�setUp s
zTestCase.setUpcCsB|��t�d�|�t��d�|��tj|j	�t�
�dS)N)NNN)r�rr�ZassertEqual�sys�exc_infoZ
doCleanupsrZthreading_cleanupr�Z
reap_childrenrCrrr�tearDown%s
zTestCase.tearDown)N)
rIrJrK�staticmethodr�r�r�r�r�r�rrrrr��s

r�c	cs2tj}zt�tjd�dVW5t�|�XdS)Nr�)r�levelZsetLevel�loggingZCRITICAL)Z	old_levelrrr�disable_logger3s

r�cCs*t�tj�}||_||_||_d|j_|S)Ng)rZ	MagicMock�socket�protor��familyZ
gettimeoutr�)r�r�r�Zsockrrr�mock_nonblocking_socketAsr�)r6)Mr�r��
contextlibrAr�rr�r�r�rwr�r~rnr7Zunittestr�rZhttp.serverrZwsgiref.simple_serverrrr"�ImportErrorrrrr	r
Zasyncio.logrZtestrrr%r&ZSIGNED_CERTFILEZ
SIGNING_CAZPEERCERTr*r,r.r5r<r?r@rLrZr^rsrrxrtrzr|r}r��contextmanagerr�r�r�r�ZBaseSelectorr�Z
BaseEventLoopr�r�r�r�r�r�r�r�ZIPPROTO_TCPZSOCK_STREAMZAF_INETr�rrrr�<module>s�
�

	
#

%
6

�