Your IP : 216.73.216.213


Current Path : /opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/test/test_asyncio/__pycache__/test_futures.cpython-36.opt-2.pyc

3

��2a�W�@slddlZddlZddlZddlZddlZddlZddlmZddlZddlm	Z	ddlm
Z
yddlmZWn e
k
r�ddlmZYnXdd�Zd	d
�Zdd�ZGd
d�d�ZGdd�de	j�ZGdd�d�Zejee
d�d�Gdd�dee	j��ZGdd�dee	j�ZGdd�d�Zejee
d�d�Gdd�dee	j��ZGdd�dee	j�Zedk�rhej�dS) �N)�mock)�
test_utils)�futures)�support)�test_supportcCs|S)N�)�frr�1/opt/alt/python36/lib64/python3.6/test_futures.py�	_fakefuncsr
cCsdS)Nrrrrr	�first_cbsrcCsdS)Nrrrrr	�last_cbsrc@s\eZdZdZdZdZdZdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�ZdS)�
DuckFutureFNcCs|j�rdSd|_dS)NFT)�done�_DuckFuture__cancelled)�selfrrr	�cancel)szDuckFuture.cancelcCs|jS)N)r)rrrr	�	cancelled/szDuckFuture.cancelledcCs|jp|jdk	p|jdk	S)N)r�_DuckFuture__result�_DuckFuture__exception)rrrr	r2s
zDuckFuture.donecCs|jdk	r|j�|jS)N)rr)rrrr	�result7s
zDuckFuture.resultcCs|jS)N)r)rrrr	�	exception=szDuckFuture.exceptioncCs
||_dS)N)r)rrrrr	�
set_resultAszDuckFuture.set_resultcCs
||_dS)N)r)rrrrr	�
set_exceptionFszDuckFuture.set_exceptionccs|j�sd|_|V|j�S)NT)r�_asyncio_future_blockingr)rrrr	�__iter__KszDuckFuture.__iter__)�__name__�
__module__�__qualname__rrrrrrrrrrrrrrrr	r
 sr
cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�	DuckTestscs&t�j�|j�|_|j|jj�dS)N)�super�setUp�
new_test_loop�loop�
addCleanup�close)r)�	__class__rr	r Us

zDuckTests.setUpcCst�}tj|�}dS)N)r
�asyncio�wrap_future)rr�grrr	�test_wrap_futureZs
zDuckTests.test_wrap_futurecCst�}tj|�}dS)N)r
r&Z
ensure_future)rrr(rrr	�test_ensure_future_s
zDuckTests.test_ensure_future)rrrr r)r*�
__classcell__rr)r%r	rSsrcs|eZdZdd�Z�fdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zejd�d d!��Zejd�d"d#��Zejd�d$d%��Zejd�d&d'��Zejd�d(d)��Zejd�d*d+��Zejd�d,d-��Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Z ejd�d:d;��Z!d<d=�Z"d>d?�Z#d@dA�Z$dBdC�Z%dDdE�Z&dFdG�Z'�Z(S)H�BaseFutureTestscOs|j||�S)N)�cls)r�args�kwargsrrr	�_new_futuregszBaseFutureTests._new_futurecs&t�j�|j�|_|j|jj�dS)N)rr r!r"r#r$)r)r%rr	r js

zBaseFutureTests.setUpcCs�Gdd�d�}|jtj|��|jtj|���|jtjd��|jtjtj���|j|jd�}|jtj|��|jtjt|���|jtjtjt|����|j	�dS)Nc@seZdZdZdd�ZdS)z/BaseFutureTests.test_isfuture.<locals>.MyFutureNcSs
d|_dS)NF)r)rrrr	�__init__ssz8BaseFutureTests.test_isfuture.<locals>.MyFuture.__init__)rrrrr1rrrr	�MyFuturepsr2�)r")
�assertFalser&�isfuture�
assertTruerZMockr0r"�typer)rr2rrrr	�
test_isfutureoszBaseFutureTests.test_isfuturecCsD|j|jd�}|j|j��|j|j��|j�|j|j��dS)N)r")r0r"r4rrrr6)rrrrr	�test_initial_state�s
z"BaseFutureTests.test_initial_statecCs(tj|j�|j�}|j|j|j�dS)N)r&Zset_event_loopr"r0�assertIs�_loop)rrrrr	�"test_init_constructor_default_loop�sz2BaseFutureTests.test_init_constructor_default_loopcCs|jt|jd�dS)N�*)�assertRaises�	TypeErrorr0)rrrr	�test_constructor_positional�sz+BaseFutureTests.test_constructor_positionalc6Cs|jj|j|jd�}|jtj|j�|jj|j|jd�}|jtj|j�|jj|j|jd�}|jtt	f��|j
d�WdQRX|jj|j|jd�}|jtt	f��|jt�WdQRX|jj|j|jd�}|jtt	f��|j
�WdQRX|jj|j|jd�}|jtt	f��|jdd��WdQRX|jj|j|jd�}|jtt	f��|jdd��WdQRX|jj|j|jd�}|jtt	f��|j�WdQRX|jj|j|jd�}yt|�Wnt	k
�r�YnX|jj|j|jd�}|j�|j�t|�dS)N)r"cSsdS)Nr)rrrr	�<lambda>�sz4BaseFutureTests.test_uninitialized.<locals>.<lambda>cSsdS)Nr)rrrr	rA�s)r-�__new__r"r>r&�InvalidStateErrorrr�RuntimeError�AttributeErrorrr�	Exceptionr�add_done_callback�remove_done_callbackZ_schedule_callbacks�reprrr�iter)r�futrrr	�test_uninitialized�s>z"BaseFutureTests.test_uninitializedcCs�|j|jd�}|j|j��|j|j��|j|j��|jtj|j	�|jtj|j
�|jtj|jd�|jtj|j
d�|j|j��dS)N)r")r0r"r6rrrr>r&ZCancelledErrorrrrCrrr4)rrrrr	�test_cancel�szBaseFutureTests.test_cancelcCs�|j|jd�}|jtj|j�|jd�|j|j��|j	|j
��|j|j�d�|j|j�d�|jtj|jd�|jtj|j
d�|j|j��dS)N)r"r=)r0r"r>r&rCrrr4rr6r�assertEqualrrr)rrrrr	�test_result�s
zBaseFutureTests.test_resultcCs�t�}|j|jd�}|jtj|j�|jtd|j	t
�|j	|�|j|j��|j
|j��|jt|j�|j|j�|�|jtj|jd�|jtj|j	d�|j|j��dS)N)r"z!StopIteration .* cannot be raised)rDr0r"r>r&rCrZassertRaisesRegexr?r�
StopIterationr4rr6rrrNrr)r�excrrrr	�test_exception�s

zBaseFutureTests.test_exceptioncCs,|j|jd�}|jt�|j|j�t�dS)N)r")r0r"rrD�assertIsInstancer)rrrrr	�test_exception_class�s
z$BaseFutureTests.test_exception_classcsn|j|jd���fdd�}|�}|jt|�d�|jt|����jd�|jt|�d�|jt|�d	�dS)
N)r"c3s2dV�EdH}d|fV�EdH}d|fVdS)N�A�B�Cr)�x�y)rrr	�fixture�s



z6BaseFutureTests.test_yield_from_twice.<locals>.fixturerUr=rVrW)rVr=)rWr=)r0r"rN�nextr)rrZr(r)rr	�test_yield_from_twice�s
z%BaseFutureTests.test_yield_from_twicecCs4|jjd�|j|jd�}|jd}|jt|�d|d|df�|j�|jjd�|j|jd�}|jt|�d�|j�|j|jd�}|j�|jt|�d�|j|jd�}|jd	�|jt|�d
�|j|j�d	�t	�}|j|jd�}|j
|�|jt|�d�|j|j�|�dd
�}|j|jd�}	|	j
t�|t�}
|jt|	�d|
�|	j�|jt|	�d�|j|jd�}|j
t�|j
t�|t�}|t�}
|jt|�d||
f�|j|jd�}|j
t�xtd�D]}|j
t��q�W|j
t�d||
f}|jt|�d|�|j�|jt|�d�dS)NT)r"r3z!<Future pending created at %s:%s>rFz<Future pending>z<Future cancelled>�z<Future finished result=4>z*<Future finished exception=RuntimeError()>cSs(tj|�\}}d|j||f}tj|�S)Nz
%s() at %s:%s)rZget_function_sourcer�re�escape)�func�filename�lineno�textrrr	�	func_reprsz3BaseFutureTests.test_future_repr.<locals>.func_reprz<Future pending cb=\[%s\]>z<Future pending cb=\[%s, %s\]>�z%s, <8 more>, %s���)r"�	set_debugr0�_source_tracebackrNrIrrrrDrr:rrGr
�assertRegexrr�range)rZf_pending_debug�frameZ	f_pending�f_cancelledZf_resultrQ�f_exceptionrdZf_one_callbacksZ	fake_reprZf_two_callbacksZ
first_reprZ	last_reprZf_many_callbacks�iZcb_regexrrr	�test_future_repr�sh
















z BaseFutureTests.test_future_reprcCs�ddlm}|j|jd�}|jd�|j|jd�}|||�|j|j��|j|j�d�|j|jd�}|j	t
��|j|jd�}|||�|j|j��|jt
|j�|j|jd�}|j�|j|jd�}|||�|j|j
��dS)Nr)�_copy_future_state)r"�
)Zasyncio.futuresrpr0r"rr6rrNrrrDr>rr)rrprZnewfrmZnewf_exceptionrlZnewf_cancelledrrr	�test_copy_state9s$



zBaseFutureTests.test_copy_statecs>|j|jd���fdd���fdd�}|jt|��j�dS)N)r"c3s�EdHdS)Nrr)rKrr	�coroVsz'BaseFutureTests.test_iter.<locals>.corocs��\}}dS)Nr)Zarg1Zarg2)rsrr	�testYsz'BaseFutureTests.test_iter.<locals>.test)r0r"r>�AssertionErrorr)rrtr)rsrKr	�	test_iterSs
zBaseFutureTests.test_iterzasyncio.base_events.loggercCs"|j|jd�}~|j|jj�dS)N)r")r0r"r4�error�called)r�m_logrKrrr	�test_tb_logger_abandoned_sz(BaseFutureTests.test_tb_logger_abandonedcCs6|j|jd�}|jt��|j�~|j|jj�dS)N)r")r0r"rrFrr4rwrx)rryrKrrr	�&test_tb_logger_not_called_after_canceles
z6BaseFutureTests.test_tb_logger_not_called_after_cancelcCs,|j|jd�}|jd�~|j|jj�dS)N)r"r=)r0r"rr4rwrx)rryrKrrr	�!test_tb_logger_result_unretrievedms
z1BaseFutureTests.test_tb_logger_result_unretrievedcCs4|j|jd�}|jd�|j�~|j|jj�dS)N)r"r=)r0r"rrr4rwrx)rryrKrrr	�test_tb_logger_result_retrievedts

z/BaseFutureTests.test_tb_logger_result_retrievedcCsD|j|jd�}|jtd��~tj|j�tj�|j|j	j
�dS)N)r"�boom)r0r"rrDr�run_brieflyr�
gc_collectr6rwrx)rryrKrrr	�$test_tb_logger_exception_unretrieved|sz4BaseFutureTests.test_tb_logger_exception_unretrievedcCs8|j|jd�}|jtd��|j�~|j|jj�dS)N)r"r~)r0r"rrDrr4rwrx)rryrKrrr	�"test_tb_logger_exception_retrieved�s
z2BaseFutureTests.test_tb_logger_exception_retrievedcCs>|j|jd�}|jtd��|jt|j�~|j|jj�dS)N)r"r~)	r0r"rrDr>rr4rwrx)rryrKrrr	�)test_tb_logger_exception_result_retrieved�s
z9BaseFutureTests.test_tb_logger_exception_result_retrievedcCs|dd�}tjjd�}|j|d�}tj||jd�}|jj|�\}}|jtj	|��|j
|d�|j|tj
��|jdd�dS)NcSs|tj�fS)N)�	threading�	get_ident)�argrrr	�run�sz-BaseFutureTests.test_wrap_future.<locals>.runr3�oi)r"T)�wait)�
concurrentr�ThreadPoolExecutor�submitr&r'r"Zrun_until_completer6r5rNZassertNotEqualr�r��shutdown)rr��ex�f1�f2�resZidentrrr	r)�sz BaseFutureTests.test_wrap_futurecCs(|j|jd�}tj|�}|j||�dS)N)r")r0r"r&r'r:)rr�r�rrr	�test_wrap_future_future�s
z'BaseFutureTests.test_wrap_future_futurec
sntjd��Z}�fdd�|_dd�}tjjd�}|j|d�}tj|�}�j	�j
|j�|jdd	�WdQRXdS)
Nzasyncio.futures.eventscs�jS)N)r"r)rrr	rA�szBBaseFutureTests.test_wrap_future_use_global_loop.<locals>.<lambda>cSs|tj�fS)N)r�r�)r�rrr	r��sz=BaseFutureTests.test_wrap_future_use_global_loop.<locals>.runr3r�T)r�)
r�patchZget_event_loopr�rr�r�r&r'r:r"r;r�)rZeventsr�r�r�r�r)rr	� test_wrap_future_use_global_loop�s
z0BaseFutureTests.test_wrap_future_use_global_loopcCsNtjj�}tj||jd�}|j�tj|j�|j	|j
��|j	|j
��dS)N)r")r�r�Futurer&r'r"rrrr6r)rr�r�rrr	�test_wrap_future_cancel�s
z'BaseFutureTests.test_wrap_future_cancelcCshtjj�}tj||jd�}|jd�|j�tj	|j�|j
|j��|j|j
�d�|j|j��dS)N)r"r=)r�rr�r&r'r"rrrrr4rrNrr6)rr�r�rrr	�test_wrap_future_cancel2�s

z(BaseFutureTests.test_wrap_future_cancel2cCsZ|jjd�|j|jd�}tj�jd}|j|jt�|j	|jddd�t
|df�dS)NT)r"r3���test_future_source_traceback���)r"rgr0�sys�	_getframe�f_linenorSrh�listrN�__file__)r�futurerbrrr	r��sz,BaseFutureTests.test_future_source_tracebackc	Cs�|jj|�dd�}|�}|j|jd�}|j|�d}tj|j�tj�tj	dkr|d}t
|�||jf}|jj
tj|d�nd}|jj
tjd	d�|jjd
d
}|j|tj|tj��dS)NcSs0y
t��Wn tk
r*}z|Sd}~XnXdS)N)�MemoryError�
BaseException)rQrrr	�memory_error�s
zLBaseFutureTests.check_future_exception_never_retrieved.<locals>.memory_error)r"r�r]z'^Future exception was never retrieved\n)�exc_infoz,^Future/Task exception was never retrieved\nFr)r�r])r"rgr0rrrrr�r��version_infor7�
__traceback__rwZassert_called_once_withr�ANY�	call_argsrir^�compile�DOTALL)	r�debugryr�rQr�Zregexr��messagerrr	�&check_future_exception_never_retrieved�s 

z6BaseFutureTests.check_future_exception_never_retrievedcCs|jd�dS)NF)r�)rrrr	�%test_future_exception_never_retrieved�sz5BaseFutureTests.test_future_exception_never_retrievedcCs|jd�dS)NT)r�)rrrr	�+test_future_exception_never_retrieved_debug�sz;BaseFutureTests.test_future_exception_never_retrieved_debugcCs4|j|jd�}|j�tj|d�|j|j��dS)N)r"r�)r0r"rrZ_set_result_unless_cancelledr6r)rrKrrr	� test_set_result_unless_cancelled�sz0BaseFutureTests.test_set_result_unless_cancelledcCsz|j|jd�}|jd�|j�}d}y|jd�Wn,tk
r^}z|jd}WYdd}~XnX|jd�|j|d�dS)N)r"r3r�rzStopIteration was expected)r3r�)r3r�)	r0r"rr�sendrPr.ZfailrN)rrK�firr�rrr	�test_future_stop_iteration_args�s

z/BaseFutureTests.test_future_stop_iteration_argscCs\|j|jd�}t|�}|jt|jttd�d�|jt|jtd�td��|jt|jt�dS)N)r"Zelephant� )r0r"rJr>r?�throwrFr�)rrKr�rrr	�test_future_iter_throws

z&BaseFutureTests.test_future_iter_throwcCs>Gdd�d�}x*td�D]}|j|jd�}|j|��qWdS)Nc@seZdZdd�ZdS)z5BaseFutureTests.test_future_del_collect.<locals>.EvilcSstj�dS)N)�gcZcollect)rrrr	�__del__sz=BaseFutureTests.test_future_del_collect.<locals>.Evil.__del__N)rrrr�rrrr	�Evil
sr��d)r")rjr0r"r)rr�rnrKrrr	�test_future_del_collectsz'BaseFutureTests.test_future_del_collect))rrrr0r r8r9r<r@rLrMrOrRrTr\rorrrvrr�rzr{r|r}r�r�r�r)r�r�r�r�r�r�r�r�r�r�r�r�r+rr)r%r	r,esF!
A	


	r,�_CFuturezrequires the C _asyncio modulec@seZdZeed�ZdS)�CFutureTestsr�N)rrr�getattrrr-rrrr	r�sr�c@seZdZejZdS)�
PyFutureTestsN)rrrr�	_PyFuturer-rrrr	r�sr�csdeZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Z�Z
S)�BaseFutureDoneCallbackTestscst�j�|j�|_dS)N)rr r!r")r)r%rr	r "s
z!BaseFutureDoneCallbackTests.setUpcCstj|j�dS)N)rrr")rrrr	r&sz'BaseFutureDoneCallbackTests.run_brieflycs��fdd�}|S)Ncs�j��dS)N)�append)r�)�bag�thingrr	�bag_appender+sz@BaseFutureDoneCallbackTests._make_callback.<locals>.bag_appenderr)rr�r�r�r)r�r�r	�_make_callback)sz*BaseFutureDoneCallbackTests._make_callbackcCst�dS)N)�NotImplementedError)rrrr	r0/sz'BaseFutureDoneCallbackTests._new_futurecCsrg}|j�}|j|j|d��|j|j|d��|j|g�|jd�|j�|j|ddg�|j|j�d�dS)Nr=��foo)r0rGr�rNrrr)rr�rrrr	�$test_callbacks_invoked_on_set_result2s
z@BaseFutureDoneCallbackTests.test_callbacks_invoked_on_set_resultcCsdg}|j�}|j|j|d��|j|g�t�}|j|�|j�|j|dg�|j|j�|�dS)Nr�)r0rGr�rNrDrrr)rr�rrQrrr	�'test_callbacks_invoked_on_set_exception@s
zCBaseFutureDoneCallbackTests.test_callbacks_invoked_on_set_exceptioncCs�g}|j�}|j|d�}|j|d�}|j|d�}|j|�|j|�|j|j|�d�|j|j|�d�|j|�xtd�D]}|j|�q|W|j|j|�d�|j|g�|jd�|j�|j|dg�|j|j�d�dS)Nr3r�r�r��r�)	r0r�rGrNrHrjrrr)rr�rZcb1Zcb2Zcb3rnrrr	�test_remove_done_callbackNs$



z5BaseFutureDoneCallbackTests.test_remove_done_callbackcsP|j���jt�xtd�D]}�jt�qWG�fdd�d�}�j|��dS)N�?cseZdZ�fdd�ZdS)zRBaseFutureDoneCallbackTests.test_remove_done_callbacks_list_mutation.<locals>.evilcs�jt�dS)NF)rH�id)r�other)rKrr	�__eq__ys
zYBaseFutureDoneCallbackTests.test_remove_done_callbacks_list_mutation.<locals>.evil.__eq__N)rrrr�r)rKrr	�evilxsr�)r0rG�strrjr�rH)r�_r�r)rKr	�(test_remove_done_callbacks_list_mutationos
zDBaseFutureDoneCallbackTests.test_remove_done_callbacks_list_mutationcCsHdd�}|j�}|j|�|jt�|jt�|jd�tj|j�dS)NcSs|jt�dS)N)rHr�)rrrr	�mut�szPBaseFutureDoneCallbackTests.test_schedule_callbacks_list_mutation_1.<locals>.mutr3)r0rGr�rrrr")rr�rKrrr	�'test_schedule_callbacks_list_mutation_1s



zCBaseFutureDoneCallbackTests.test_schedule_callbacks_list_mutation_1cs\|j���jt�xtd�D]}�jt�qWd�d�G���fdd�d�}�j|��dS)Nr�r�rcseZdZ���fdd�ZdS)zQBaseFutureDoneCallbackTests.test_schedule_callbacks_list_mutation_2.<locals>.evilcs�d7���kr�jt�dS)Nr3F)rGr�)rr�)�	extra_cbsrK�
max_extra_cbsrr	r��s
zXBaseFutureDoneCallbackTests.test_schedule_callbacks_list_mutation_2.<locals>.evil.__eq__N)rrrr�r)r�rKr�rr	r��sr�)r0rGr�rjr�rH)rr�r�r)r�rKr�r	�'test_schedule_callbacks_list_mutation_2�s
zCBaseFutureDoneCallbackTests.test_schedule_callbacks_list_mutation_2)rrrr rr�r0r�r�r�r�r�r�r+rr)r%r	r� s!
r�c@seZdZdd�ZdS)�CFutureDoneCallbackTestscCstj|jd�S)N)r")rr�r")rrrr	r0�sz$CFutureDoneCallbackTests._new_futureN)rrrr0rrrr	r��sr�c@seZdZdd�ZdS)�PyFutureDoneCallbackTestscCstj|jd�S)N)r")rr�r")rrrr	r0�sz%PyFutureDoneCallbackTests._new_futureN)rrrr0rrrr	r��sr��__main__)�concurrent.futuresr�r�r^r�r�Zunittestrr&rrrtr�ImportErrorrr
rrr
ZTestCaserr,Z
skipUnless�hasattrr�r�r�r�r�r�mainrrrr	�<module>sH34