HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_asdl_parser.cpython-310.opt-1.pyc
o

�i��@s�dZddlZddlZddlZddlmZddlZddlZddl	Z	e�
�s)e	�d��eeee���Z
ej�e
d�ZGdd�de	j�ZedkrKe	��dSdS)	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)�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�
assertTrue�check)�cls�loader�spec�module�r�2/usr/local/lib/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�nameZassertInrr rrr�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
excepthandlerr1r0rr3r%�typeZ
identifierr'r2r$�body)rr&r4r5r+rZConstructor�fieldsr8r'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__rrrBhs

z;TestAsdlParser.test_visitor.<locals>.CustomVisitor.__init__cS�|jD]}|�|�qdSr)r*�visit)r!rZdfnrrr�visitModulel�
�z>TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitModulecSs|�|j�dSr)rGr,)r!r8rrr�	visitTypepsz<TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitTypecSrFr)rrG)r!�sum�trrr�visitSumsrIz;TestAsdlParser.test_visitor.<locals>.CustomVisitor.visitSumcSs$|jD]}|jr|j�|j�qdSr)r:r<rC�appendr')r!r=�frrr�visitConstructorws

��zCTestAsdlParser.test_visitor.<locals>.CustomVisitor.visitConstructor)	�__name__�
__module__�__qualname__rBrHrJrMrP�
__classcell__rrrDr�
CustomVisitorgsrUr)�ModulerVZInteractive�FunctionType)rZVisitorBaserGrr&rC)r!rU�vrrr�test_visitorfs�zTestAsdlParser.test_visitorN)
rQrRrS�classmethodrrr"r(r-r/r7r@rYrrrrrs

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