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_pep492.cpython-36.opt-1.pyc

3

� f9�@s�dZddlZddlZddlZyddlmZWn ek
rLddlm	ZYnXddlm
Z
ddlZddlmZGdd�dej�Z
Gd	d
�d
e
�ZGdd�de
�ZGd
d�de
�Zedkr�ej�dS)z3Tests support for new syntax introduced by PEP 492.�N)�support)�test_support)�mock)�
test_utilscseZdZ�fdd�Z�ZS)�BaseTestcsHt�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/python36/lib64/python3.6/test/test_asyncio/test_pep492.pyrs

zBaseTest.setUp)�__name__�
__module__�__qualname__r�
__classcell__r
r
)rrrsrc@seZdZdd�Zdd�ZdS)�	LockTestscsptj�jd�tj�jd�tj�jd�tj�jd�g}�fdd�}x*|D]"}�jj||���j|j��qFWdS)N)r
c�s�tjd�jd�IdH�j|j��|4IdH�D}�j|d��j|j��tjd�jd�IdH�j|j��WdQIdHRX�j|j��dS)Ng{�G�z�?)r
)r	�sleepr
�assertFalse�locked�assertIs�
assertTrue)�lock�_lock)rr
r�test&sz7LockTests.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_withcsptj�jd�tj�jd�tj�jd�tj�jd�g}�fdd�}x*|D]"}�jj||���j|j��qFWdS)N)r
c�s�tjd�jd�IdH�j|j��|IdH�D}�j|d��j|j��tjd�jd�IdH�j|j��WdQRX�j|j��dS)Ng{�G�z�?)r
)r	rr
rrrr)rr)rr
rr<sz7LockTests.test_context_manager_with_await.<locals>.test)	r	rr
rrrr rr)rr!rr"r
)rr�test_context_manager_with_await4s

z)LockTests.test_context_manager_with_awaitN)rrrr#r$r
r
r
rrsrc@seZdZdd�ZdS)�StreamReaderTestscsTd}tj|jd���j|��j��fdd�}|jj|��}|j|dddg�dS)Nsline1
line2
line3)r
c�sBg}x8�2dHy3dH}Wn
tk
s2X|j|�qYW|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%Ksr%c@sVeZdZdd�Zdd�Zdd�Zdd�Zejd	�d
d��Z	dd
�Z
dd�Zdd�ZdS)�CoroutineTestscCsRdd�}|�}z|jtj|��Wd|j�XGdd�d�}|jtj|���dS)Nc�sdS)Nr
r
r
r
r�fooasz,CoroutineTests.test_iscoroutine.<locals>.fooc@s.eZdZdd�Zd
dd�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__)NN)rrrr2r6r7r8r
r
r
r�FakeCorojs
r9)rr	Ziscoroutiner7)rr0�fr9r
r
r�test_iscoroutine`s
zCoroutineTests.test_iscoroutinecCsdd�}|jtj|��dS)Nc�sdS)Nr
r
r
r
rr0ssz4CoroutineTests.test_iscoroutinefunction.<locals>.foo)rr	Ziscoroutinefunction)rr0r
r
r�test_iscoroutinefunctionrsz'CoroutineTests.test_iscoroutinefunctioncsDGdd�d��tj�fdd��}|�}|j|jd�d�|j�dS)Nc@seZdZdd�ZdS)zCCoroutineTests.test_function_returning_awaitable.<locals>.AwaitablecSsdS)N�spam)r=r
)rr
r
rr8xszMCoroutineTests.test_function_returning_awaitable.<locals>.Awaitable.__await__N)rrrr8r
r
r
r�	Awaitablewsr>cs��S)Nr
r
)r>r
r�func{sz>CoroutineTests.test_function_returning_awaitable.<locals>.funcr=)r	�	coroutiner-r2r7)rr?�coror
)r>r�!test_function_returning_awaitablevs
z0CoroutineTests.test_function_returning_awaitablecsXdd���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
)rCr
rr0�sz5CoroutineTests.test_async_def_coroutines.<locals>.foor=T)r
r r-�	set_debug)rr0r(r
)rCr�test_async_def_coroutines�sz(CoroutineTests.test_async_def_coroutineszasyncio.coroutines.loggercsRdd�����fdd�}�jjd��jj|����fdd�}�jj|��dS)Nc�sdS)Nr
r
r
r
rr0�sz2CoroutineTests.test_async_def_wrapped.<locals>.fooc
�sj��}�jt|�d�tjdtf��<d}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)r0�m_logrr
r�start�s
z4CoroutineTests.test_async_def_wrapped.<locals>.startTc�s*��}tj|�jd�}�jt|�d�dS)N)r
zTask.*foo.*running)r	�
ensure_futurer
rFrG)rKZtask)r0rr
rrN�s)r
rDr )rrMrNr
)r0rMrr�test_async_def_wrapped�sz%CoroutineTests.test_async_def_wrappedcsFdd��tj�fdd�����fdd�}�jj|��}�j|d�dS)NcssfEdHdS)Nr=r
r
r
r
r�gen�s
z0CoroutineTests.test_types_coroutine.<locals>.gencs��S)Nr
r
)rQr
rr?�sz1CoroutineTests.test_types_coroutine.<locals>.funcc�s��}�j|tj�|IdHS)N)ZassertIsInstance�types�_GeneratorWrapper)�wrapper)r?rr
rrA�sz1CoroutineTests.test_types_coroutine.<locals>.coror=)rRr@r
r r-)rrAr(r
)r?rQrr�test_types_coroutine�s
z#CoroutineTests.test_types_coroutinecs4d���fdd�����fdd�}�jj|��dS)Nc
�s0�jdd�}z�j|djjd�Wdd}XdS)N�)�limitrr0)Z	get_stackr-�f_code�co_name)r:)�Trr
rr0�sz1CoroutineTests.test_task_print_stack.<locals>.fooc�s tj���jd���IdHdS)N)r
)r	rOr
r
)rZr0rr
r�runner�sz4CoroutineTests.test_task_print_stack.<locals>.runner)r
r )rr[r
)rZr0rr�test_task_print_stack�sz$CoroutineTests.test_task_print_stackc	sP�fdd����fdd�}�jjd��jtd���jj|��WdQRXdS)Nc�stjd�jd�IdHdS)Ng�������?)r
)r	rr
r
)rr
r�afunc�sz/CoroutineTests.test_double_await.<locals>.afuncc
�sJ��}tj|�jd�}z$tjd�jd�IdH|IdHWd|j�XdS)N)r
r)r	ZTaskr
rZcancel)rA�t)r]rr
rr[�sz0CoroutineTests.test_double_await.<locals>.runnerTz<Cannot await.*test_double_await.*\bafunc\b.*while.*\bsleep\b)r
rDZassertRaisesRegex�RuntimeErrorr )rr[r
)r]rr�test_double_await�s	z CoroutineTests.test_double_awaitN)
rrrr;r<rBrErZpatchrPrUr\r`r
r
r
rr/^s
r/�__main__)�__doc__�collections.abc�collectionsrRZunittestrr�ImportErrorr	rrrZTestCaserrr%r/r�mainr
r
r
r�<module>s"/