Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/test/test_asyncio/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/test_asyncio/__pycache__/test_pep492.cpython-35.pyc



��Yf9�@sdZddlZddlZddlZyddlmZWn"ek
rbddlm	ZYnXddlm
Z
ddlZddlmZGdd�dej�Z
Gd	d
�d
e
�ZGdd�de
�ZGd
d�de
�Zedkrej�dS)z3Tests support for new syntax introduced by PEP 492.�N)�support)�test_support)�mock)�
test_utilscs"eZdZ�fdd�Z�S)�BaseTestcsft�j�tj�|_tj�|j_tj�|j_f|jjj	_
|j|j�dS)N)�super�setUp�asyncioZ
BaseEventLoop�looprZMockZ_process_eventsZ	_selectorZselectZreturn_valueZset_event_loop)�self)�	__class__��B/opt/alt/python35/lib64/python3.5/test/test_asyncio/test_pep492.pyrs
zBaseTest.setUp)�__name__�
__module__�__qualname__rr
r
)rrrsrc@s(eZdZdd�Zdd�ZdS)�	LockTestscs�tjd�j�tjd�j�tjd�j�tjd�j�g}�fdd�}x7|D]/}�jj||���j|j��qgWdS)Nr
c�s�tjdd�j�IdH�j|j��|4IdH�X}�j|d��j|j��tjdd�j�IdH�j|j��WdQIdHRX�j|j��dS)Ng{�G�z�?r
)r	�sleepr
�assertFalse�locked�assertIs�
assertTrue)�lock�_lock)rr
r�test&sz7LockTests.test_context_manager_async_with.<locals>.test)	r	�Lockr
�	Condition�	Semaphore�BoundedSemaphore�run_until_completerr)r�
primitivesr�	primitiver
)rr�test_context_manager_async_withs

z)LockTests.test_context_manager_async_withcs�tjd�j�tjd�j�tjd�j�tjd�j�g}�fdd�}x7|D]/}�jj||���j|j��qgWdS)Nr
c�s�tjdd�j�IdH�j|j��|IdH�X}�j|d��j|j��tjdd�j�IdH�j|j��WdQRX�j|j��dS)Ng{�G�z�?r
)r	rr
rrrr)rr)rr
rr<sz7LockTests.test_context_manager_with_await.<locals>.test)	r	rr
rrrrrr)rr rr!r
)rr�test_context_manager_with_await4s

z)LockTests.test_context_manager_with_awaitN)rrrr"r#r
r
r
rrsrc@seZdZdd�ZdS)�StreamReaderTestscsvd}tjd|j���j|��j��fdd�}|jj|��}|j|dddg�dS)Nsline1
line2
line3r
c�sKg}x>�2dHy3dH}Wntk
r2YWqGX|j|�qWqG|S)N)�StopAsyncIteration�append)�data�line)�streamr
r�readerTs-z/StreamReaderTests.test_readline.<locals>.readersline1
sline2
sline3)r	�StreamReaderr
Z	feed_dataZfeed_eofr�assertEqual)rZDATAr*r'r
)r)r�
test_readlineMs

zStreamReaderTests.test_readlineN)rrrr-r
r
r
rr$Ksr$c@seZdZdd�Zdd�Zdd�Zdd�Zejd	�d
d��Z	dd
�Z
dd�Zdd�ZdS)�CoroutineTestscCsmdd�}|�}z|jtj|��Wd|j�XGdd�d�}|jtj|���dS)Nc�sdS)Nr
r
r
r
r�fooasz,CoroutineTests.test_iscoroutine.<locals>.fooc@sFeZdZdd�Zdddd�Zdd�Zdd	�ZdS)
z1CoroutineTests.test_iscoroutine.<locals>.FakeCorocSsdS)Nr
)r�valuer
r
r�sendksz6CoroutineTests.test_iscoroutine.<locals>.FakeCoro.sendNcSsdS)Nr
)r�typ�val�tbr
r
r�throwlsz7CoroutineTests.test_iscoroutine.<locals>.FakeCoro.throwcSsdS)Nr
)rr
r
r�closemsz7CoroutineTests.test_iscoroutine.<locals>.FakeCoro.closecss	dVdS)Nr
)rr
r
r�	__await__nsz;CoroutineTests.test_iscoroutine.<locals>.FakeCoro.__await__)rrrr1r5r6r7r
r
r
r�FakeCorojsr8)rr	Ziscoroutiner6)rr/�fr8r
r
r�test_iscoroutine`s	zCoroutineTests.test_iscoroutinecCs&dd�}|jtj|��dS)Nc�sdS)Nr
r
r
r
rr/ssz4CoroutineTests.test_iscoroutinefunction.<locals>.foo)rr	Ziscoroutinefunction)rr/r
r
r�test_iscoroutinefunctionrsz'CoroutineTests.test_iscoroutinefunctioncs^Gdd�d��tj�fdd��}|�}|j|jd�d�|j�dS)Nc@seZdZdd�ZdS)zCCoroutineTests.test_function_returning_awaitable.<locals>.AwaitablecSsdS)N�spam)r<r
)rr
r
rr7xszMCoroutineTests.test_function_returning_awaitable.<locals>.Awaitable.__await__N)rrrr7r
r
r
r�	Awaitablewsr=cs��S)Nr
r
)r=r
r�func{sz>CoroutineTests.test_function_returning_awaitable.<locals>.funcr<)r	�	coroutiner,r1r6)rr>�coror
)r=r�!test_function_returning_awaitablevs
	z0CoroutineTests.test_function_returning_awaitablecs|dd���fdd�}|jj|��}|j|d�|jjd�|jj|��}|j|d�dS)Nc�sdS)Nr<r
r
r
r
r�bar�sz5CoroutineTests.test_async_def_coroutines.<locals>.barc�s��IdHS)Nr
r
)rBr
rr/�sz5CoroutineTests.test_async_def_coroutines.<locals>.foor<T)r
rr,�	set_debug)rr/r'r
)rBr�test_async_def_coroutines�sz(CoroutineTests.test_async_def_coroutineszasyncio.coroutines.loggercssdd�����fdd�}�jjd��jj|����fdd�}�jj|��dS)Nc�sdS)Nr
r
r
r
rr/�sz2CoroutineTests.test_async_def_wrapped.<locals>.fooc
�s���}�jt|�d�tjdtf��Ld}tj��j�jj��jj	dd}�j|d�WdQRXdS)Nz/<CoroWrapper .*\.foo\(\) running at .*pep492.*>z.*foo.*was neverrzCoroWrapper.*foo.*was never)
�assertRegex�reprrZcheck_warnings�RuntimeWarningZ
gc_collectr�errorZcalled�	call_args)�foo_coro�message)r/�m_logrr
r�start�s			

	z4CoroutineTests.test_async_def_wrapped.<locals>.startTc�s;��}tj|d�j�}�jt|�d�dS)Nr
zTask.*foo.*running)r	�
ensure_futurer
rErF)rJZtask)r/rr
rrM�s	)r
rCr)rrLrMr
)r/rLrr�test_async_def_wrapped�sz%CoroutineTests.test_async_def_wrappedcsedd��tj�fdd�����fdd�}�jj|��}�j|d�dS)Ncss
fEdHdS)Nr<r
r
r
r
r�gen�s	z0CoroutineTests.test_types_coroutine.<locals>.gencs��S)Nr
r
)rPr
rr>�sz1CoroutineTests.test_types_coroutine.<locals>.funcc�s%��}�j|tj�|IdHS)N)ZassertIsInstance�types�_GeneratorWrapper)�wrapper)r>rr
rr@�s	z1CoroutineTests.test_types_coroutine.<locals>.coror<)rQr?r
rr,)rr@r'r
)r>rPrr�test_types_coroutine�s
z#CoroutineTests.test_types_coroutinecsJd���fdd�����fdd�}�jj|��dS)Nc
�s>�jdd�}z�j|djjd�Wdd}XdS)N�limit�rr/)Z	get_stackr,�f_code�co_name)r9)�Trr
rr/�sz1CoroutineTests.test_task_print_stack.<locals>.fooc�s(tj��d�j���IdHdS)Nr
)r	rNr
r
)rYr/rr
r�runner�sz4CoroutineTests.test_task_print_stack.<locals>.runner)r
r)rrZr
)rYr/rr�test_task_print_stack�sz$CoroutineTests.test_task_print_stackc	sh�fdd����fdd�}�jjd��jtd���jj|��WdQRXdS)Nc�stjdd�j�IdHdS)Ng�������?r
)r	rr
r
)rr
r�afunc�sz/CoroutineTests.test_double_await.<locals>.afuncc
�s[��}tj|d�j�}z(tjdd�j�IdH|IdHWd|j�XdS)Nr
r)r	ZTaskr
rZcancel)r@�t)r\rr
rrZ�s	
z0CoroutineTests.test_double_await.<locals>.runnerTz<Cannot await.*test_double_await.*\bafunc\b.*while.*\bsleep\b)r
rCZassertRaisesRegex�RuntimeErrorr)rrZr
)r\rr�test_double_await�s	
z CoroutineTests.test_double_awaitN)
rrrr:r;rArDrZpatchrOrTr[r_r
r
r
rr.^s
r.�__main__)�__doc__�collections.abc�collectionsrQZunittestrr�ImportErrorr	rrrZTestCaserrr$r.r�mainr
r
r
r�<module>s 
/�