
    i                        d Z ddlmZ ddlZddlZddlZddl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 dd
lmZmZ ddlmZ  G d de          ZddZdS )z/Test cases for the mypy cache JSON export tool.    )annotationsN)build)CompileError)!convert_binary_cache_meta_to_jsonconvert_binary_cache_to_json)BuildSource)Options)test_temp_dir)DataDrivenTestCase	DataSuite)assert_string_arrays_equalc                       e Zd ZdZdgZd	dZdS )
TypeExportSuiteTzexportjson.testtestcaser   returnNonec           	        d}d                     |j                  }|j                            d          }	 t	                      }d|_        d|_        d|_        d|_        d|_	        t          j                             | j        d          }t          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          j        t!          |d          g|t"                    }|j        }	t'          |	          }t(          j        d d	         \  }
}t          j                             d
|
 d|           }|j        D ]}|dv rt          j                             || d          }|sLt          |d          5 }t/          |                                d          }d d d            n# 1 swxY w Y   nmt          j                             || d          }t          |d          5 }t3          |                                |          }d d d            n# 1 swxY w Y   t5          j        |d                                          D ]}d|v rt;          j        dd|          }|rld|v rt;          j        dd|          }d|v sd|v rt;          j        dd|          }d|v rt;          j        dd|          }d|vrt;          j        dd |          }d!|vs
J |            |	                    |           n # t@          $ r}|j!        }	d}Y d }~nd }~ww xY w|s0d                     |j"                  #                                d"k    ra|r4t(          j$        d#k    r$tK          |j"                  }tK          |	          }	n|j"        }tM          ||	d$|j'         d%|j(         d&           d S d S )'NF
_metaTzmain.pywmain)sourcesoptionsalt_lib_path   z.mypy_cache.)builtinstyping	_typeshed
__future__typing_extensionssyscollectionsz.data.ffrb)implicit_namesz.meta.ff   )indentz"path": z"[^"]+\.pyi?"z...z"version_id"z"[0-9][^"]+"z"mtime"z"data_mtime"z: [0-9]+z: ...z
"platform"z	: "[^"]+"z"hash"z"[a-f0-9]{40}"z"<hash>"ERRORz<not checked>win32zInvalid output (z, line )))joininputnameendswithr	   use_builtins_fixturesshow_tracebackallow_empty_bodiesfixed_format_cachesqlite_cacheospath	base_pathopenwriter   r   r
   errorsboolr"   version_infofilesr   readr   jsondumps
splitlinesresubappendr   messagesoutputstripplatformfilter_platform_specificr   fileline)selfr   errorsrcis_metar   fnamfresultamajorminor	cache_dirmodule	json_data	meta_fnamrJ   eouts                      W/root/projects/qq-shell/venv/lib64/python3.11/site-packages/mypy/test/testexportjson.pyrun_casezTypeExportSuite.run_case   s   ii''-((118	iiG,0G)%)G")-G&)-G&#(G 7<<	::DdC A              [$T6223WS`  F AGGE+BQB/LE5]u4F4Fu4F4FGGI , "# "#    w||I&/B/B/BCC VdD)) aQ$@Z_$`$`$`	a a a a a a a a a a a a a a a !#Y68K8K8K L LIi.. V!$EaffhhPT$U$U	V V V V V V V V V V V V V V V Jy;;;FFHH # #D!T))!v&6tDD 	O)T11#%6/5$#G#GD$,,$0F0F#%6+w#E#ED'4//#%6+w#E#ED#4//#%6*;Z#N#ND"$......HHTNNNN#'"#F  	 	 	
AEEEEEE	  	DIIho..4466/II &3<722.x??,Q//o&QQ8=QQQQQ     JIs   A&L C 4L  CL CCL $F<0L <G 	 L G 	7L ;#H*L *H.	.L 1H.	2CL 
L+	L&&L+N)r   r   r   r   )__name__
__module____qualname__required_out_sectionr<   r\        r[   r   r      s<        EE E E E E Erb   r   lines	list[str]r   c                    d | D             S )Nc                "    g | ]}d |vd|v
|S )z"size":z"hash":ra   ).0ls     r[   
<listcomp>z,filter_platform_specific.<locals>.<listcomp>a   s,    JJJ!	 2 2y7I7IA7I7I7Irb   ra   )rc   s    r[   rH   rH   `   s    JJuJJJJrb   )rc   rd   r   rd   )__doc__r    r   r>   r4   rA   r"   mypyr   mypy.errorsr   mypy.exportjsonr   r   mypy.modulefinderr   mypy.optionsr	   mypy.test.configr
   mypy.test.datar   r   mypy.test.helpersr   r   rH   ra   rb   r[   <module>rs      s4   5 5 " " " " " "  				 				 



       $ $ $ $ $ $ [ [ [ [ [ [ [ [ ) ) ) ) ) )             * * * * * * 8 8 8 8 8 8 8 8 8 8 8 8 8 8I I I I Ii I I IXK K K K K Krb   