Your IP : 216.73.216.85


Current Path : /opt/alt/python39/lib64/python3.9/test/__pycache__/
Upload File :
Current File : //opt/alt/python39/lib64/python3.9/test/__pycache__/test_asdl_parser.cpython-39.opt-1.pyc

a

XC?h��@s�dZddlZddlZddlmZddlZddlZddlZe�	�sJe�
d��eeee���Zej
�ed�ZGdd�dej�Zedkr�e��dS)	z+Tests for the asdl parser in Parser/asdl.py�N)�dirnamez'test irrelevant for an installed PythonZParserc@s\eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�ZdS)�TestAsdlParsercCsbtj�dt�tj�dtj�td��}|�	�|_
|j
�tj�td��|_|�
|j
�|j�d�dS)Nr�asdlzasdl.pyzPython.asdlzModule validation failed)�sys�path�insert�
parser_dir�	importlib�	machinery�SourceFileLoader�os�join�load_moduler�parse�mod�
assertTrueZcheck)�cls�loader�r�:/opt/alt/python39/lib64/python3.9/test/test_asdl_parser.py�
setUpClasss�
zTestAsdlParser.setUpClasscCstjd=dS)Nr)rr)rrrr�
tearDownClass!szTestAsdlParser.tearDownClasscCstj|_tj|_|jj|_dS�N)rrr�types��selfrrr�setUp%szTestAsdlParser.setUpcCs>|�|jjd�|�d|j�|�d|j�|�d|j�dS)N�Python�stmt�exprr)�assertEqualr�nameZassertInrrrrr�test_module+szTestAsdlParser.test_modulecCsb|jj}|�|d|jj�|�|dj|jj�|�|jd|jj�|�|jd|jj�dS)NrZwithitem�alias)	r�dfns�assertIsInstancer�Type�valueZSumrZProduct)rZdefsrrr�test_definitions1s
zTestAsdlParser.test_definitionscCs|jd}|�t|�d�dS)Nr#zGProduct([Field(identifier, name), Field(identifier, asname, opt=True)]))rr �str)rr#rrr�test_product9s

�zTestAsdlParser.test_productcCsx|jd}|�t|j�d�|�t|jd�d�|�t|jd�d�|�t|jd�d�|�t|jd	�d
�dS)Nr�rzField(int, lineno)�zField(int, col_offset)�z Field(int, end_lineno, opt=True)�z$Field(int, end_col_offset, opt=True))rr �len�
attributes�repr)rrrrr�test_attributes?s
zTestAsdlParser.test_attributescCs|jd}|�t|j�d�|�t|j�d�|jd}|�||jj�|�t|j�d�|jd}|�|jd�|�|j	d�|�
|j�|jd}|�|jd�|�|j	d	�|�
|j�|jd
}|�|jd�|�|j	d�|�|j�|�
|j
�dS)
NZ
excepthandlerr,r+rr.r�typeZ
identifierr!r-r�body)rr r/r0r%rZConstructor�fieldsr3r!r�optZassertFalse�seq)rZehandler�consZf0�f1�f2rrr�test_constructor_fieldsGs&




z&TestAsdlParser.test_constructor_fieldscCs@Gdd�d|jj�}|�}|�|jd�|�|jgd��dS)Ncs<eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Z�ZS)z2TestAsdlParser.test_visitor.<locals>.CustomVisitorcst���g|_dSr)�super�__init__�names_with_seqr��	__class__rrr=bs
z;TestAsdlParser.test_visitor.<locals>.CustomVisitor.__init__cSs|jD]}|�|�qdSr)r$�visit)rrZdfnrrr�visitModulefs
z>TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitModulecSs|�|j�dSr)rAr')rr3rrr�	visitTypejsz<TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitTypecSs|jD]}|�|�qdSr)rrA)r�sum�trrr�visitSumms
z;TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitSumcSs$|jD]}|jr|j�|j�qdSr)r5r7r>�appendr!)rr8�frrr�visitConstructorqs
zCTestAsdlParser.test_visitor.<locals>.CustomVisitor.visitConstructor)	�__name__�
__module__�__qualname__r=rBrCrFrI�
__classcell__rrr?r�
CustomVisitoras
rNr)�ModulerOZInteractive�FunctionType)rZVisitorBaserArr r>)rrN�vrrr�test_visitor`s�zTestAsdlParser.test_visitorN)
rJrKrL�classmethodrrrr"r(r*r2r;rRrrrrrs

r�__main__)�__doc__�importlib.machineryr	rZos.pathrrZ	sysconfigZunittestZis_python_buildZSkipTest�__file__Zsrc_baserr
rZTestCaserrJ�mainrrrr�<module>s
i