Your IP : 216.73.216.196


Current Path : /opt/alt/python310/lib64/python3.10/test/__pycache__/
Upload File :
Current File : //opt/alt/python310/lib64/python3.10/test/__pycache__/test_asdl_parser.cpython-310.opt-2.pyc

o

0�i��@s�	ddlZddlZddlZddlmZddlZddlZddlZe�	�s(e�
d��eeee���Zej
�ed�ZGdd�dej�ZedkrJe��dSdS)�N)�dirnamez'test irrelevant for an installed PythonZParserc@s\eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�ZdS)�TestAsdlParsercCs�tj�dt�tj�dtj�td��}tj	�
d|�}tj	�|�}|�|�||_
|j
�tj�td��|_|�|j
�|j�d�dS)Nr�asdlzasdl.pyzPython.asdlzModule validation failed)�sys�path�insert�
parser_dir�	importlib�	machinery�SourceFileLoader�os�join�util�spec_from_loader�module_from_spec�exec_moduler�parse�mod�
assertTrueZcheck)�cls�loader�spec�module�r�</opt/alt/python310/lib64/python3.10/test/test_asdl_parser.py�
setUpClasss�
zTestAsdlParser.setUpClasscCstjd=dS)Nr)rr)rrrr�
tearDownClass%szTestAsdlParser.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�assertIsInstancerZType�valueZSumrZProduct)r Zdefsrrr�test_definitions5s
zTestAsdlParser.test_definitionscCs|jd}|�t|�d�dS)Nr(z�Product([Field(identifier, name), Field(identifier, asname, opt=True)], [Field(int, lineno), Field(int, col_offset), Field(int, end_lineno, opt=True), Field(int, end_col_offset, opt=True)]))rr%�str)r r(rrr�test_product=s

�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)r r#rrr�test_attributesEs
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
excepthandlerr0r/rr2r$�typeZ
identifierr&r1r#�body)rr%r3r4r*rZConstructor�fieldsr7r&r�optZassertFalse�seq)r Zehandler�consZf0�f1�f2rrr�test_constructor_fieldsMs&




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__rrrAhs

z;TestAsdlParser.test_visitor.<locals>.CustomVisitor.__init__cS�|jD]}|�|�qdSr)r)�visit)r rZdfnrrr�visitModulel�
�z>TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitModulecSs|�|j�dSr)rFr+)r r7rrr�	visitTypepsz<TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitTypecSrEr)rrF)r �sum�trrr�visitSumsrHz;TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitSumcSs$|jD]}|jr|j�|j�qdSr)r9r;rB�appendr&)r r<�frrr�visitConstructorws

��zCTestAsdlParser.test_visitor.<locals>.CustomVisitor.visitConstructor)	�__name__�
__module__�__qualname__rArGrIrLrO�
__classcell__rrrCr�
CustomVisitorgsrTr)�ModulerUZInteractive�FunctionType)rZVisitorBaserFrr%rB)r rT�vrrr�test_visitorfs�zTestAsdlParser.test_visitorN)
rPrQrR�classmethodrrr!r'r,r.r6r?rXrrrrrs

r�__main__)�importlib.machineryr	�importlib.utilrZos.pathrrZ	sysconfigZunittestZis_python_buildZSkipTest�__file__Zsrc_baserr
rZTestCaserrP�mainrrrr�<module>s 
n�