
    X-PhN                        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           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testcaser   returnNonec                $    t          |           d S N)test_parserselfr   s     S/var/www/html/test/jupyter/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           	        t                      }d|_        d|_        | 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   
asciimain__main__)fnammoduleerrorsoptionsraise_on_errorNzInvalid parser output (, line ))r	   force_uppercase_builtins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$#G}.// :!(			 0	1	1 :!(			 0	1	1 :!(!)!9YYx~&&F !((H$Xw77JGQ##G,,G&'""'??
 
 
 w''--d33   J\hm\\HM\\\    s   &AD? ?
E	EErB   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_caseW   s    """""r(   Nr)   )r*   r+   r,   r-   r.   r/   r'   r3   r(   r&   rW   rW   R   s;        I !E# # # # # #r(   rW   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)Nr5   r      zutf-8r8   T)r;   r<   r=   zNo errors reportedzInvalid compiler output (r>   r?   )r   rF   rG   rD   r0   r1   r   r
   rI   INPUT_FILE_NAMEr   AssertionErrorr   module_with_blockerr   rM   rL   rB   rN   )r   r<   rU   s      r&   rY   rY   [   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   r0   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\   rW   rY   r3   r(   r&   <module>rj      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 ' ' ' ' ' '    )    ' ' ' 'X # # # # #i # # #
 
 
 
 
 
r(   