
    hi                        d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 ddl
mZmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZmZmZ ddlmZ  G d de          ZddZdZ G d de          ZddZdS )zTests for the mypy parser.    )annotationsN)skip)defaults)parse_mypy_comments)CompileErrorErrors)Options)parse)DataDrivenTestCase	DataSuite)assert_string_arrays_equalfind_test_filesparse_options)get_mypy_commentsc                  :   e Zd ZdZdZ eddg          Zej        dk     re	                    d           ej        dk     re	                    d	           ej        d
k     re	                    d           ej        dk     re	                    d           ddZ
dS )ParserSuiteT.zparse*.testparse-errors.test)patternexclude   
   zparse-python310.testr      zparse-python312.testr      zparse-python313.testr      zparse-python314.testtestcaser   returnNonec                $    t          |           d S N)test_parserselfr    s     c/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/mypy/test/testparse.pyrun_casezParserSuite.run_case!   s    H    Nr    r   r!   r"   )__name__
__module____qualname__required_out_section	base_pathr   filessysversion_inforemover)    r*   r(   r   r      s        IOM<O;PQQQE
'!!+,,,
'!!+,,,
'!!+,,,
'!!+,,,     r*   r   r    r   r!   r"   c           	     B   t                      }d|_        | j                            d          rd|_        nw| j                            d          rd|_        nU| j                            d          rd|_        n3| j                            d          rd	|_        nt
          j        |_        d
                    | j                  }t          |          }t          ||          \  }}|                    |          }	 t          t          |d          ddt          |          |d          }|                    |                              d
          }n# t"          $ r}|j        }Y d}~nd}~ww xY wt'          | j        |d| j         d| j         d           dS )zdPerform a single parser test case.

    The argument contains the description of the test case.
    Tzpython310.testr   zpython312.testr   zpython313.testr   zpython314.testr   
asciimain__main__)fnammoduleerrorsoptionsraise_on_errorNzInvalid parser output (, line ))r	   hide_error_codesfileendswithpython_versionr   PYTHON3_VERSIONjoininputr   r   apply_changesr
   bytesr   str_with_optionssplitr   messagesr   outputline)	r    r>   sourcecommentschanges_naes	            r(   r%   r%   %   s   
 iiG#G}.// 	:!(			 0	1	1 :!(			 0	1	1 :!(			 0	1	1 :!(!)!9YYx~&&F !((H$Xw77JGQ##G,,G&'""'??
 
 
 w''--d33   J\hm\\HM\\\    s   AE 
E5$E00E5rC   c                  $    e Zd ZdZdZdgZd
dZd	S )ParseErrorSuiteTr   r   r    r   r!   r"   c                $    t          |           d S r$   )test_parse_errorr&   s     r(   r)   zParseErrorSuite.run_caseZ   s    """""r*   Nr+   )r,   r-   r.   r/   r0   r1   r)   r5   r*   r(   rX   rX   U   s;        I !E# # # # # #r*   rX   c           
        	 t          d                    | j                  | d          }|j        t          j        d d         k    rt                       t          t          d                    | j                  d          t          dt          |          |d           t          d          # t          $ rK}|j        |j        dk    sJ t          | j        |j        d	| j         d
| j         d           Y d }~d S d }~ww xY w)Nr7   r      zutf-8r:   T)r=   r>   r?   zNo errors reportedzInvalid compiler output (r@   rA   )r   rG   rH   rE   r2   r3   r   r
   rJ   INPUT_FILE_NAMEr   AssertionErrorr   module_with_blockerr   rN   rM   rC   rO   )r    r>   rV   s      r(   rZ   rZ   ^   s3   
		(. 9 98QGG!S%5bqb%999FFF$))HN++W55'??	
 	
 	
 	
 1222 	
 	
 	
 ,(J6666 	#OJNNNhmNNN	
 	
 	
 	
 	
 	
 	
 	
 	
	
s   B0B2 2
D<A DDr+   )__doc__
__future__r   r2   pytestr   mypyr   mypy.config_parserr   mypy.errorsr   r   mypy.optionsr	   
mypy.parser
   mypy.test.datar   r   mypy.test.helpersr   r   r   	mypy.utilr   r   r%   r]   rX   rZ   r5   r*   r(   <module>rk      sn       " " " " " " 



             2 2 2 2 2 2 , , , , , , , ,                   8 8 8 8 8 8 8 8 X X X X X X X X X X ' ' ' ' ' '    )   $( ( ( (Z # # # # #i # # #
 
 
 
 
 
r*   