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.opt-2.pyc



���]9�@s�ddlZddlZddlZyddlmZWn"ek
r\ddlmZYnXddlm	Z	ddlZddlm
Z
Gdd�de
j�ZGdd	�d	e�Z
Gd
d�de�ZGdd
�d
e�Zedkr�ej�dS)�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_events�	_selector�selectZreturn_valueZset_event_loop)�self)�	__class__��0/opt/alt/python35/lib64/python3.5/test_pep492.pyrs
zBaseTest.setUp)�__name__�
__module__�__qualname__rrr)rrrs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)r
rr�test&sz7LockTests.test_context_manager_async_with.<locals>.test)	r	�Lockr
�	Condition�	Semaphore�BoundedSemaphore�run_until_completerr)r
�
primitivesr�	primitiver)r
r�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)r
rrr<sz7LockTests.test_context_manager_with_await.<locals>.test)	r	rr
rrr r!rr)r
r"rr#r)r
r�test_context_manager_with_await4s

z)LockTests.test_context_manager_with_awaitN)rrrr$r%rrrrrs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)�streamrr�readerTs-z/StreamReaderTests.test_readline.<locals>.readersline1
sline2
sline3)r	�StreamReaderr
Z	feed_dataZfeed_eofr!�assertEqual)r
ZDATAr,r)r)r+r�
test_readlineMs

zStreamReaderTests.test_readlineN)rrrr/rrrrr&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)Nrrrrr�fooasz,CoroutineTests.test_iscoroutine.<locals>.fooc@sFeZdZdd�Zdddd�Zdd�Zdd	�ZdS)
z1CoroutineTests.test_iscoroutine.<locals>.FakeCorocSsdS)Nr)r
�valuerrr�sendksz6CoroutineTests.test_iscoroutine.<locals>.FakeCoro.sendNcSsdS)Nr)r
�typ�val�tbrrr�throwlsz7CoroutineTests.test_iscoroutine.<locals>.FakeCoro.throwcSsdS)Nr)r
rrr�closemsz7CoroutineTests.test_iscoroutine.<locals>.FakeCoro.closecss	dVdS)Nr)r
rrr�	__await__nsz;CoroutineTests.test_iscoroutine.<locals>.FakeCoro.__await__)rrrr3r7r8r9rrrr�FakeCorojsr:)rr	Ziscoroutiner8)r
r1�fr:rrr�test_iscoroutine`s	zCoroutineTests.test_iscoroutinecCs&dd�}|jtj|��dS)Nc�sdS)Nrrrrrr1ssz4CoroutineTests.test_iscoroutinefunction.<locals>.foo)rr	Ziscoroutinefunction)r
r1rrr�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)r
rrrr9xszMCoroutineTests.test_function_returning_awaitable.<locals>.Awaitable.__await__N)rrrr9rrrr�	Awaitablewsr?cs��S)Nrr)r?rr�func{sz>CoroutineTests.test_function_returning_awaitable.<locals>.funcr>)r	�	coroutiner.r3r8)r
r@�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>rrrrr�bar�sz5CoroutineTests.test_async_def_coroutines.<locals>.barc�s��IdHS)Nrr)rDrrr1�sz5CoroutineTests.test_async_def_coroutines.<locals>.foor>T)r
r!r.�	set_debug)r
r1r)r)rDr�test_async_def_coroutines�sz(CoroutineTests.test_async_def_coroutineszasyncio.coroutines.loggercssdd�����fdd�}�jjd��jj|����fdd�}�jj|��dS)Nc�sdS)Nrrrrrr1�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)r1�m_logr
rr�start�s			

	z4CoroutineTests.test_async_def_wrapped.<locals>.startTc�s;��}tj|d�j�}�jt|�d�dS)Nr
zTask.*foo.*running)r	�
ensure_futurer
rGrH)rLZtask)r1r
rrrO�s	)r
rEr!)r
rNrOr)r1rNr
r�test_async_def_wrapped�sz%CoroutineTests.test_async_def_wrappedcsedd��tj�fdd�����fdd�}�jj|��}�j|d�dS)Ncss
fEdHdS)Nr>rrrrr�gen�s	z0CoroutineTests.test_types_coroutine.<locals>.gencs��S)Nrr)rRrrr@�sz1CoroutineTests.test_types_coroutine.<locals>.funcc�s%��}�j|tj�|IdHS)N)ZassertIsInstance�types�_GeneratorWrapper)�wrapper)r@r
rrrB�s	z1CoroutineTests.test_types_coroutine.<locals>.coror>)rSrAr
r!r.)r
rBr)r)r@rRr
r�test_types_coroutine�s
z#CoroutineTests.test_types_coroutinecsJd���fdd�����fdd�}�jj|��dS)Nc
�s>�jdd�}z�j|djjd�Wdd}XdS)N�limit�rr1)Z	get_stackr.�f_code�co_name)r;)�Tr
rrr1�sz1CoroutineTests.test_task_print_stack.<locals>.fooc�s(tj��d�j���IdHdS)Nr
)r	rPr
r)r[r1r
rr�runner�sz4CoroutineTests.test_task_print_stack.<locals>.runner)r
r!)r
r\r)r[r1r
r�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)r
rr�afunc�sz/CoroutineTests.test_double_await.<locals>.afuncc
�s[��}tj|d�j�}z(tjdd�j�IdH|IdHWd|j�XdS)Nr
r)r	ZTaskr
r�cancel)rB�t)r^r
rrr\�s	
z0CoroutineTests.test_double_await.<locals>.runnerTz<Cannot await.*test_double_await.*\bafunc\b.*while.*\bsleep\b)r
rEZassertRaisesRegex�RuntimeErrorr!)r
r\r)r^r
r�test_double_await�s	
z CoroutineTests.test_double_awaitN)
rrrr<r=rCrFrZpatchrQrVr]rbrrrrr0^s
r0�__main__)�collections.abc�collectionsrSZunittestrr�ImportErrorr	rrrZTestCaserrr&r0r�mainrrrr�<module>s
/�