o
    7f                     @   sF   d Z ddlmZ ddlmZmZ dedefddZG dd	 d	eZd
S )z
A "meta test" which tests the parsing of .test files. This is not meant to become exhaustive
but to ensure we maintain a basic level of ergonomics for mypy contributors.
    )Suite)PytestResultrun_pytest_data_suite
data_suitereturnc                 C   s   t | g ddS )N   )
extra_argsmax_attempts)r   )r    r
   W/home/ertert/spirit/venv/lib/python3.10/site-packages/mypy/test/meta/test_parse_data.py_run_pytest
   s   r   c                   @   s4   e Zd ZdddZdddZdddZdd	d
ZdS )ParseTestDataSuiter   Nc                 C      t d}d|jv sJ d S )Nzg
            [case abc]
            s: str
            [case foo-XFAIL]
            s: str
            zInvalid testcase id 'foo-XFAIL'r   stdout)selfresultr
   r
   r   test_parse_invalid_case      
z*ParseTestDataSuite.test_parse_invalid_casec                 C   s:   t d}|j dd }d| d}||jv sJ d S )Nzd
            [case abc]
            s: str
            [unknownsection]
            abc
            z[unknownsection]r   z.test:z7: Invalid section header [unknownsection] in case 'abc')r   input
splitlinesindexr   )r   r   expected_linenoexpectedr
   r
   r   test_parse_invalid_section   s   

z-ParseTestDataSuite.test_parse_invalid_sectionc                 C   r   )Nzf
            [case abc]
            s: str
            [out version>=3.8]
            abc
            z@version>=3.8 always true since minimum runtime version is (3, 8)r   r   actualr
   r
   r   test_bad_ge_version_check/   r   z,ParseTestDataSuite.test_bad_ge_version_checkc                 C   r   )Nzf
            [case abc]
            s: str
            [out version==3.7]
            abc
            zAversion==3.7 always false since minimum runtime version is (3, 8)r   r   r
   r
   r   test_bad_eq_version_check=   r   z,ParseTestDataSuite.test_bad_eq_version_check)r   N)__name__
__module____qualname__r   r   r   r   r
   r
   r
   r   r      s
    


r   N)	__doc__mypy.test.helpersr   mypy.test.meta._pytestr   r   strr   r   r
   r
   r
   r   <module>   s
    