
    6 f%                        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 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)Options)parse)DataDrivenTestCase	DataSuite)assert_string_arrays_equalfind_test_filesparse_options)get_mypy_commentsc                  z    e Zd ZdZdZ eddg          Z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testcaser
   returnNonec                $    t          |           d S N)test_parserselfr   s     I/var/www/equiseq/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      sl        IOM<O;PQQQE
'!!+,,,     r#   r   r   r
   r   r   c           	     h   t                      }d|_        d|_        | j                            d          rd|_        nt          j        |_        d                    | j	                  }t          |          }t          ||          \  }}|                    |          }	 t          t          |d          dd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   
asciimain__main__N)fnammoduleerrorsoptionszInvalid parser output (, line ))r   force_uppercase_builtinshide_error_codesfileendswithpython_versionr   PYTHON3_VERSIONjoininputr   r   apply_changesr	   bytesstr_with_optionssplitr   messagesr   outputline)	r   r7   sourcecommentschanges_naes	            r!   r   r      sU   
 iiG'+G$#G}.// :!(!)!9YYx~&&F !((H$Xw77JGQ##G,,G&'""
4Y`
 
 
 w''--d33   J\hm\\HM\\\    s   "A
C- -
D7DDr<   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_caseJ   s    """""r#   Nr$   )r%   r&   r'   r(   r)   r*   r"   r.   r#   r!   rQ   rQ   E   s;        I !E# # # # # #r#   rQ   c           
        	 t          d                    | j                  | d          }|j        t          j        d d         k    rt                       t          t          d                    | j                  d          t          d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)
Nr0   r      zutf-8r3   zNo errors reportedzInvalid compiler output (r8   r9   )r   r@   rA   r>   r+   r,   r   r	   rC   INPUT_FILE_NAMEAssertionErrorr   module_with_blockerr   rG   rF   r<   rH   )r   r7   rO   s      r!   rS   rS   N   s#   
		(. 9 98QGG!S%5bqb%999FFF$))HN++W55
TXZa	
 	
 	
 1222 	
 	
 	
 ,(J6666 	#OJNNNhmNNN	
 	
 	
 	
 	
 	
 	
 	
 	
	
s   B!B# #
C8-A C33C8r$   )__doc__
__future__r   r+   pytestr   mypyr   mypy.config_parserr   mypy.errorsr   mypy.optionsr   
mypy.parser	   mypy.test.datar
   r   mypy.test.helpersr   r   r   	mypy.utilr   r   r   rV   rQ   rS   r.   r#   r!   <module>rd      sh       " " " " " " 



             2 2 2 2 2 2 $ $ $ $ $ $                   8 8 8 8 8 8 8 8 X X X X X X X X X X ' ' ' ' ' '	 	 	 	 	) 	 	 	   F # # # # #i # # #
 
 
 
 
 
r#   