Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_pickle.cpython-39.pyc

a

��g�K�@s@ddlmZmZmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZzddlZdZWne�ydZYn0Gdd�deej�Z Gdd�deej�Z!Gdd�deej�Z"Gdd�deeeej�Z#Gdd�de$�Z%Gdd�dee%ej�Z&Gdd�dee%ej�Z'Gdd�deej�Z(Gd d!�d!eej�Z)Gd"d#�d#eej�Z*Gd$d%�d%eej�Z+e�r�Gd&d'�d'eej�Z,Gd(d)�d)e!�Z-Gd*d+�d+e"�Z.Gd,d-�d-e&�Z/Gd.d/�d/e'�Z0Gd0d1�d1e"�Z1Gd2d3�d3e"�Z2Gd4d5�d5eej�Z3Gd6d7�d7eej�Z4Gd8d9�d9eej�Z5Gd:d;�d;eej�Z6ej7Gd<d=�d=ej��Z8hd>�Z9hd?�Z:d@dA�Z;dBdC�Z<dDdE�Z=dFdG�Z>dHdI�Z?GdJdK�dKej�Z@dLdM�ZAeBdNk�r<e�C�dS)O�)�IMPORT_MAPPING�REVERSE_IMPORT_MAPPING�NAME_MAPPING�REVERSE_NAME_MAPPINGN)�support)�AbstractHookTests)�AbstractUnpickleTests)�AbstractPickleTests)�AbstractPickleModuleTests)�AbstractPersistentPicklerTests)�&AbstractIdentityPersistentPicklerTests)�#AbstractPicklerUnpicklerObjectTests)�AbstractDispatchTableTests)�AbstractCustomPicklerClass)�BigmemPickleTestsTFc@s@eZdZeej�Zeej�Zeej	�Z
eej�Zej
ZejZdS)�
PyPickleTestsN)�__name__�
__module__�__qualname__�staticmethod�pickle�_dump�dump�_dumps�dumps�_load�load�_loads�loads�_Pickler�Pickler�
_Unpickler�	Unpickler�r#r#�,/usr/local/lib/python3.9/test/test_pickle.pyr"s



rc@s6eZdZejZefZeje	e
eej
eefZdd�ZdS)�PyUnpicklerTestscKs$t�|�}|j|fi|��}|��S�N��io�BytesIO�	unpicklerr��self�buf�kwds�f�ur#r#r$r3s
zPyUnpicklerTests.loadsN)rrrrr!r*�
IndexError�bad_stack_errors�UnpicklingError�EOFError�AttributeError�
ValueError�struct�error�ImportError�truncated_errorsrr#r#r#r$r%+s�r%c@s*eZdZejZejZddd�Zdd�Z	dS)�PyPicklerTestsNcKs<t��}|j||fi|��}|�|�|�d�t|���S�Nr)r(r)�picklerr�seek�bytes�read)r,�arg�proto�kwargsr/�pr#r#r$r>s


zPyPicklerTests.dumpscKs$t�|�}|j|fi|��}|��Sr&r'r+r#r#r$rEs
zPyPicklerTests.loads)N)
rrrrrr=r!r*rrr#r#r#r$r;9s
r;c@sBeZdZejefZejeee	e
jeefZ
ddd�Zdd�ZdZdS)�InMemoryPickleTestsNcKstj||fi|��Sr&)rr)r,rA�protocolrCr#r#r$rSszInMemoryPickleTests.dumpscKstj|fi|��Sr&)rr)r,r-r.r#r#r$rVszInMemoryPickleTests.loads)N)rrrrr3r1r2r4r5r6r7r8r9r:rrZ+test_framed_write_sizes_with_delayed_writerr#r#r#r$rEKs
�
rEc@seZdZddd�Zdd�ZdS)�PersistentPicklerUnpicklerMixinNcs:G�fdd�d�j�}t��}|||�}|�|�|��S)NcseZdZ�fdd�ZdS)z:PersistentPicklerUnpicklerMixin.dumps.<locals>.PersPicklercs
��|�Sr&)�
persistent_id��subself�obj�r,r#r$rH`szHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_idN�rrrrHr#rLr#r$�PersPickler_srN)r=r(r)r�getvalue)r,rArBrNr/rDr#rLr$r^s


z%PersistentPicklerUnpicklerMixin.dumpscs8G�fdd�d�j�}t�|�}||fi|��}|��S)NcseZdZ�fdd�ZdS)z<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpicklercs
��|�Sr&)�persistent_loadrIrLr#r$rPiszLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadN�rrrrPr#rLr#r$�
PersUnpicklerhsrR)r*r(r)r)r,r-r.rRr/r0r#rLr$rgs
z%PersistentPicklerUnpicklerMixin.loads)N)rrrrrr#r#r#r$rG\s
	rGc@seZdZejZejZdS)�PyPersPicklerTestsN)rrrrrr=r!r*r#r#r#r$rSpsrSc@s4eZdZejZejZej	dd��Z
ej	dd��ZdS)�PyIdPersPicklerTestscs^�fdd�}Gdd�d�j�}||�Gdd�d�j�}||�Gdd�d�j�}||�dS)Ncs�ttjd�D]6}t��}|||�}|�d�����|���d�q|t���}��|�	d�d�t
�|�}~��|��dS�N��abc�def)
�ranger�HIGHEST_PROTOCOLr(r)r�assertEqualrrOrH�weakref�ref�assertIsNone)r rBr/r=�rrLr#r$�checks


z@PyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.checkc@seZdZdd�ZdS)�FPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPicklercSs|Sr&r#rIr#r#r$rH�s�TPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_idNrMr#r#r#r$rN�srNc@seZdZedd��ZdS)racSs|Sr&r#)�clsrKr#r#r$rH�srbN)rrr�classmethodrHr#r#r#r$rN�sc@seZdZedd��ZdS)racSs|Sr&r#)rKr#r#r$rH�srbN)rrrrrHr#r#r#r$rN�s)r=)r,r`rNr#rLr$�test_pickler_reference_cycle}sz1PyIdPersPicklerTests.test_pickler_reference_cyclecs^�fdd�}Gdd�d�j�}||�Gdd�d�j�}||�Gdd�d�j�}||�dS)Ncstttjd�D]*}|t���d|���}��|��d�q|t���}��|�d�d�t	�
|�}~��|��dSrU)rYrrZr(r)rr[rrPr\r]r^)r"rBr*r_rLr#r$r`�s
zBPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.checkc@seZdZdd�ZdS)�JPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklercSs|Sr&r#)rJ�pidr#r#r$rP�s�ZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadNrQr#r#r#r$rR�srRc@seZdZedd��ZdS)rfcSs|Sr&r#)rcrgr#r#r$rP�srhN)rrrrdrPr#r#r#r$rR�sc@seZdZedd��ZdS)rfcSs|Sr&r#)rgr#r#r$rP�srhN)rrrrrPr#r#r#r$rR�s)r*)r,r`rRr#rLr$�test_unpickler_reference_cycle�s
z3PyIdPersPicklerTests.test_unpickler_reference_cycleN)rrrrrr=r!r*r�cpython_onlyrerir#r#r#r$rTws
rTc@seZdZejZejZdS)�PyPicklerUnpicklerObjectTestsN)rrrrr�
pickler_classr!�unpickler_classr#r#r#r$rk�srkc@seZdZejZdd�ZdS)�PyDispatchTableTestscCs
tj��Sr&�r�dispatch_table�copyrLr#r#r$�get_dispatch_table�sz'PyDispatchTableTests.get_dispatch_tableN�rrrrrrlrrr#r#r#r$rn�srnc@seZdZejZdd�ZdS)�PyChainDispatchTableTestscCst�itj�Sr&��collections�ChainMaprrprLr#r#r$rr�sz,PyChainDispatchTableTests.get_dispatch_tableNrsr#r#r#r$rt�srtc@s$eZdZGdd�deje�ZeZdS)�PyPicklerHookTestsc@seZdZdS)z'PyPicklerHookTests.CustomPyPicklerClassN�rrrr#r#r#r$�CustomPyPicklerClass�srzN)rrrrrrrzrlr#r#r#r$rx�s�rxc@s,eZdZddlmZmZmZmZmZm	Z	dS)�CPickleTestsr)rrrrr r"N)
rrr�_picklerrrrr r"r#r#r#r$r{�sr{c@s"eZdZejZejfZejfZ	dS)�CUnpicklerTestsN)
rrrr|r"r*rr3r2r:r#r#r#r$r}�sr}c@seZdZejZejZdS)�
CPicklerTestsN�rrrr|r r=r"r*r#r#r#r$r~�sr~c@seZdZejZejZdS)�CPersPicklerTestsNrr#r#r#r$r��sr�c@seZdZejZejZdS)�CIdPersPicklerTestsNrr#r#r#r$r��sr�c@seZdZejZejZdS)�CDumpPickle_LoadPickleN)	rrrr|r r=rr!r*r#r#r#r$r��sr�c@seZdZejZejZdS)�DumpPickle_CLoadPickleN)	rrrrrr=r|r"r*r#r#r#r$r��sr�c@s eZdZejZejZdd�ZdS)�CPicklerUnpicklerObjectTestscCs�|�t���}|�t��t|_Wd�n1s40Y|�t��ddi|_Wd�n1sh0Yddi|_dS)N���rV)rmr(r)ZassertRaises�	TypeError�object�memor6)r,r*r#r#r$�test_issue18339�s$(z,CPicklerUnpicklerObjectTests.test_issue18339N)	rrrr|r rlr"rmr�r#r#r#r$r��sr�c@seZdZejZdd�ZdS)�CDispatchTableTestscCs
tj��Sr&rorLr#r#r$rrsz&CDispatchTableTests.get_dispatch_tableN�rrrrr rlrrr#r#r#r$r�sr�c@seZdZejZdd�ZdS)�CChainDispatchTableTestscCst�itj�Sr&rurLr#r#r$rrsz+CChainDispatchTableTests.get_dispatch_tableNr�r#r#r#r$r�sr�c@s$eZdZGdd�deje�ZeZdS)�CPicklerHookTestsc@seZdZdS)z%CPicklerHookTests.CustomCPicklerClassNryr#r#r#r$�CustomCPicklerClasssr�N)rrrr|r rr�rlr#r#r#r$r�sr�c@s"eZdZejZdd�Zdd�ZdS)�SizeofTestscCs�t�d�}t�t���}|�t�|�|�t	�
d�}t	�
d�}|j}||||d|t�
d��td�D]}|�t|��ql||||d|d�dS)	NZ7P2n3i2n3i2PZ3nP0nZPn0P�sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�� r)r�calcobjsizer|r r(r)r[r��
__sizeof__r7�calcsize�check_sizeof�sys�	getsizeofrYr�chr)r,�basesizerDZMT_sizeZME_sizer`�ir#r#r$�test_picklers,


������zSizeofTests.test_picklercs�t�d�}tj�t�d��t�d��|j�dD]\}dD]R}�t��||d�}|�	t
�|�|��||d�t|�dt|�d�q6q.|td	�dtd
�d������fdd�}|d
dd
�|d
gddd�|dd�t
d�D�dd�dd�}||d
�dd
�||d�dd�||d�dd�||d�dd�||d�dd��t�t�dd
��d	d
d�}|���|�d�dd�dS)Nz2P2n2P 2P2n2i5P 2P3n8P2n2i�P�n)�ASCIIzUTF-16zlatin-1)�strict�replace��encoding�errorsr�rVr�r�csDt�|�}�t�|�ddd�}|���|�|�|��dS)Nr�r�r�)rrr(r)r)�dataZ	memo_sizeZ
marks_sizerr0�r�r`r�Zstdsizer*r#r$�check_unpickler5s

�z3SizeofTests.test_unpickler.<locals>.check_unpicklerr�d�cSsg|]}t|��qSr#)r�)�.0r�r#r#r$�
<listcomp>@�z.SizeofTests.test_unpickler.<locals>.<listcomp>�cSsd}t|�D]}||g}q|Sr<)rY)Zdeepr�r�r#r#r$�recurseAs
z+SizeofTests.test_unpickler.<locals>.recurse�2�@�<��a�)rr�r|r"r7r�r�r(r)r[r�r��lenrYrrr)r,r�r�r�r0r�r�r#r�r$�test_unpickler%sL


������
�zSizeofTests.test_unpicklerN)rrrrr�r�r�r#r#r#r$r�sr�>)�_elementtreezxml.etree.ElementTree)�cPickler)�StringIOr()�	cStringIOr(>)�__builtin__�
basestring�builtins�str)�UserDictr�rvr�)�
exceptions�
StandardErrorr��	Exception)�socket�
_socketobjectr��
SocketTypecCs6||ftvrt||f\}}n|tvr.t|}||fSr&)rr��module�namer#r#r$�mapping`s
r�cCs6||ftvrt||f\}}n|tvr.t|}||fSr&)rrr�r#r#r$�reverse_mappinggs
r�c
Cs�ztj|WSty�zNt���2tjr0dnd}t�|t�t	|�Wd�n1s\0YWnpt
y�}z&tjr�td||f�t�WYd}~n<d}~0ty�}ztjr�t|��WYd}~n
d}~00tj|YS0dS)N�always�ignorezCan't import module %r: %s)
r��modules�KeyError�warnings�catch_warningsr�verbose�simplefilter�DeprecationWarning�
__import__r5�printr9)r��action�excr#r#r$�	getmodulens"
*r�cCs&t|�}|�d�D]}t||�}q|S)N�.)r��split�getattr)r�r�rKr�r#r#r$�getattribute�sr�ccs:t|�D],}t||�}t|t�rt|t�r||fVqdSr&)�dirr��
isinstance�type�
issubclass�
BaseException)�modr��attrr#r#r$�get_exceptions�s
r�c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�CompatPickleTestsc	Csntt���}|tt�O}|dd�tD�O}|dd�t��D�O}|D]$}zt|�WqDtyfYqD0qDdS)NcSsh|]\}}|�qSr#r#�r�r�r�r#r#r$�	<setcomp>�r�z0CompatPickleTests.test_import.<locals>.<setcomp>cSsh|]\}}|�qSr#r#r�r#r#r$r��r�)�setr�valuesrrrr�r9)r,r�r�r#r#r$�test_import�szCompatPickleTests.test_importc
Cs�t��D]�\}}|�||f��\zt|�Wnty>Yn0|dd�dkrl|�|t�|�t||�Wd�q1s�0YqdS)NrV�_)r�items�subTestr�r9ZassertInrr[)r,�module3�module2r#r#r$�test_import_mapping�sz%CompatPickleTests.test_import_mappingc
Cs
t��D]�\\}}\}}|�||f||ff���||fdkrXt||�}|�t|t��n�||fdkr�t||�}|�t|t��nft||�\}}|dd�dkr�|�	||f||f�zt||�}Wnty�Yn0|�	t||�|�Wd�q1s�0YqdS)N�r��OSError�r�r9rVr�)
rr�r�r�Z
assertTruer�r�r9r�r[)r,r��name3r��name2r�r�r�r#r#r$�test_name_mapping�s 

z#CompatPickleTests.test_name_mappingc	Cst��D]�\}}|�||f���zt|�Wn2ty^}ztjrJt|�WYd}~n
d}~00||ftvr�t	�
|d�|kr�t��D]$\\}}\}}||f||fkr�q�q�|�d||f�t	�
||�}t�
||�}|�
||�Wd�q1s�0YqdS)Nz No reverse mapping from %r to %r)rr�r�r�r9rr�r��ALT_IMPORT_MAPPINGr�getrZfailr[)	r,r�r�r�Zm3Zn3Zm2Zn2r�r#r#r$�test_reverse_import_mapping�s&��z-CompatPickleTests.test_reverse_import_mappingc
Cs�t��D]�\\}}\}}|�||f||ff���zt||�}WntyPYn0t||�\}}||||ftvr�|�||f||f�t||�\}}|�||f||f�Wd�q1s�0YqdSr&)	rr�r�r�r9r��ALT_NAME_MAPPINGr[r�)r,r�r�r�r�r�r�r�r#r#r$�test_reverse_name_mapping�sz+CompatPickleTests.test_reverse_name_mappingc	CsH|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d	�tt�D]�\}}|�|���|tttt	fvr�Wd�qb|t
ur�t|t
�r�|�td|�d	�nh|tur�t|t�r�|�td|�d
�|�td|�d|f�n,|�td|�d|f�|�td|�d|f�Wd�qb1�s80YqbdS)Nr�r�)r�r�r�r�)r�r�r�)r�r�r�r�)
r[r�r�r�r�r��BlockingIOError�ResourceWarning�StopAsyncIteration�RecursionErrorr�r�r9)r,r�r�r#r#r$�test_exceptions�sP�����������z!CompatPickleTests.test_exceptionsc	Csvt�d�}t|�D]^\}}|�|��<|�td|�d|f�|�td|�d|f�Wd�q1sf0YqdS)Nzmultiprocessing.context�multiprocessing)r�
import_moduler�r�r[r�r�)r,r�r�r�r#r#r$�test_multiprocessing_exceptions�s
��z1CompatPickleTests.test_multiprocessing_exceptionsN)
rrrr�r�r�r�r�rrr#r#r#r$r��s
!r�cCs|�t���|Sr&)ZaddTest�doctestZDocTestSuite)�loaderZtests�patternr#r#r$�
load_testssr�__main__)D�_compat_picklerrrrr�rr(rvr7r�r�r\rZunittest�testrZtest.pickletesterrrr	r
rrr
rrrr|Zhas_c_implementationr9ZTestCaserr%r;rEr�rGrSrTrkrnrtrxr{r}r~r�r�r�r�r�r�r�r�rjr�r�r�r�r�r�r�r�r�rr�mainr#r#r#r$�<module>s�
	���C
Aw


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists