Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.133.120.119
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_pickle.cpython-310.pyc
o

ab,L�@sNddlmZmZmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZzddlZdZWne y�dZYnwGdd�deej!�Z"Gdd�deej!�Z#Gdd�deej!�Z$Gdd�deeeej!�Z%Gdd�de&�Z'Gdd�dee'ej!�Z(Gdd�dee'ej!�Z)Gdd �d eej!�Z*Gd!d"�d"eej!�Z+Gd#d$�d$eej!�Z,Gd%d&�d&eej!�Z-e�rqGd'd(�d(eej!�Z.Gd)d*�d*e#�Z/Gd+d,�d,e$�Z0Gd-d.�d.e(�Z1Gd/d0�d0e)�Z2Gd1d2�d2e$�Z3Gd3d4�d4e$�Z4Gd5d6�d6eej!�Z5Gd7d8�d8eej!�Z6Gd9d:�d:eej!�Z7Gd;d<�d<eej!�Z8ej9Gd=d>�d>ej!��Z:hd?�Z;hd@�Z<dAdB�Z=dCdD�Z>dEdF�Z?dGdH�Z@dIdJ�ZAGdKdL�dLej!�ZBdMdN�ZCeDdOk�r�e�E�dSdS)P�)�IMPORT_MAPPING�REVERSE_IMPORT_MAPPING�NAME_MAPPING�REVERSE_NAME_MAPPINGN)�support)�
import_helper)�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$�9/usr/local/python-3.10/lib/python3.10/test/test_pickle.pyr#s




rc@s6eZdZejZefZeje	e
eej
eefZdd�ZdS)�PyUnpicklerTestscK�$t�|�}|j|fi|��}|��S�N��io�BytesIO�	unpicklerr��self�buf�kwds�f�ur$r$r%r4�
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�kwargsr1�pr$r$r%r?s


zPyPicklerTests.dumpscKr'r(r)r-r$r$r%rFr3zPyPicklerTests.loadsr()
rrrrr r@r"r,rrr$r$r$r%r>:s

r>c@sBeZdZejefZejeee	e
jeefZ
ddd�Zdd�ZdZdS)�InMemoryPickleTestsNcKstj||fi|��Sr()rr)r.rD�protocolrFr$r$r%rTszInMemoryPickleTests.dumpscKstj|fi|��Sr()rr)r.r/r0r$r$r%rWszInMemoryPickleTests.loadsr()rrrrr6r4r5r7r8r9r:r;r<r=rrZ+test_framed_write_sizes_with_delayed_writerr$r$r$r%rHLs
�
rHc@seZdZddd�Zdd�ZdS)�PersistentPicklerUnpicklerMixinNcs:G�fdd�d�j�}t��}|||�}|�|�|��S)Nc�eZdZ�fdd�ZdS)z:PersistentPicklerUnpicklerMixin.dumps.<locals>.PersPicklerc�
��|�Sr()�
persistent_id��subself�obj�r.r$r%rMa�
zHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_idN�rrrrMr$rQr$r%�PersPickler`�rT)r@r*r+r�getvalue)r.rDrErTr1rGr$rQr%r_s


z%PersistentPicklerUnpicklerMixin.dumpscs8G�fdd�d�j�}t�|�}||fi|��}|��S)NcrK)z<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpicklercrLr()�persistent_loadrNrQr$r%rWjrRzLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadN�rrrrWr$rQr$r%�
PersUnpicklerirUrY)r,r*r+r)r.r/r0rYr1r2r$rQr%rhs
z%PersistentPicklerUnpicklerMixin.loadsr()rrrrrr$r$r$r%rJ]s
	rJc@�eZdZejZejZdS)�PyPersPicklerTestsN)rrrrr r@r"r,r$r$r$r%r[qs
r[c@s4eZdZejZejZej	dd��Z
ej	dd��ZdS)�PyIdPersPicklerTestsc�^�fdd�}Gdd�d�j�}||�Gdd�d�j�}||�Gdd�d�j�}||�dS)Ncs�ttjd�D]}t��}|||�}|�d�����|���d�q|t���}��|�	d�d�t
�|�}~��|��dS�N��abc�def)
�ranger�HIGHEST_PROTOCOLr*r+r�assertEqualrrVrM�weakref�ref�assertIsNone)r!rEr1r@�rrQr$r%�check�s


z@PyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.checkc@�eZdZdd�ZdS)�FPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPicklercS�|Sr(r$rNr$r$r%rM���TPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_idNrSr$r$r$r%rT��rTc@�eZdZedd��ZdS)rkcSrlr(r$)�clsrPr$r$r%rM��rnN)rrr�classmethodrMr$r$r$r%rT��c@rp)rkcS�|Sr(r$)rPr$r$r%rM�rrrnN)rrrrrMr$r$r$r%rT�rt)r@)r.rirTr$rQr%�test_pickler_reference_cycle~sz1PyIdPersPicklerTests.test_pickler_reference_cyclecr])Ncstttjd�D]}|t���d|���}��|��d�q|t���}��|�d�d�t	�
|�}~��|��dSr^)rbrrcr*r+rrdrrWrerfrg)r#rEr,rhrQr$r%ri�s
zBPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.checkc@rj)�JPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklercSrlr(r$)rO�pidr$r$r%rW�rm�ZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadNrXr$r$r$r%rY�rorYc@rp)rwcSrlr(r$)rqrxr$r$r%rW�rrryN)rrrrsrWr$r$r$r%rY�rtc@rp)rwcSrur(r$)rxr$r$r%rW�rrryN)rrrrrWr$r$r$r%rY�rt)r,)r.rirYr$rQr%�test_unpickler_reference_cycle�s
z3PyIdPersPicklerTests.test_unpickler_reference_cycleN)rrrrr r@r"r,r�cpython_onlyrvrzr$r$r$r%r\xs
r\c@rZ)�PyPicklerUnpicklerObjectTestsN)rrrrr �
pickler_classr"�unpickler_classr$r$r$r%r|�s
r|c@�eZdZejZdd�ZdS)�PyDispatchTableTestscC�
tj��Sr(�r�dispatch_table�copyrQr$r$r%�get_dispatch_table�rRz'PyDispatchTableTests.get_dispatch_tableN�rrrrr r}r�r$r$r$r%r���r�c@r)�PyChainDispatchTableTestscC�t�itj�Sr(��collections�ChainMaprr�rQr$r$r%r���z,PyChainDispatchTableTests.get_dispatch_tableNr�r$r$r$r%r��r�r�c@�$eZdZGdd�deje�ZeZdS)�PyPicklerHookTestsc@�eZdZdS)z'PyPicklerHookTests.CustomPyPicklerClassN�rrrr$r$r$r%�CustomPyPicklerClass�sr�N)rrrrr rr�r}r$r$r$r%r��s
�r�c@s,eZdZddlmZmZmZmZmZm	Z	dS)�CPickleTestsr)rrrrr!r#N)
rrr�_picklerrrrr!r#r$r$r$r%r��s$r�c@s"eZdZejZejfZejfZ	dS)�CUnpicklerTestsN)
rrrr�r#r,rr6r5r=r$r$r$r%r��sr�c@rZ)�
CPicklerTestsN�rrrr�r!r@r#r,r$r$r$r%r���
r�c@rZ)�CPersPicklerTestsNr�r$r$r$r%r��r�r�c@rZ)�CIdPersPicklerTestsNr�r$r$r$r%r��r�r�c@�eZdZejZejZdS)�CDumpPickle_LoadPickleN)	rrrr�r!r@rr"r,r$r$r$r%r��r�r�c@r�)�DumpPickle_CLoadPickleN)	rrrrr r@r�r#r,r$r$r$r%r��r�r�c@s eZdZejZejZdd�ZdS)�CPicklerUnpicklerObjectTestscCs�|�t���}|�t��t|_Wd�n1swY|�t��
ddi|_Wd�n1s4wYddi|_dS)N���r_)r~r*r+ZassertRaises�	TypeError�object�memor9)r.r,r$r$r%�test_issue18339�s��z,CPicklerUnpicklerObjectTests.test_issue18339N)	rrrr�r!r}r#r~r�r$r$r$r%r��sr�c@r)�CDispatchTableTestscCr�r(r�rQr$r$r%r�rRz&CDispatchTableTests.get_dispatch_tableN�rrrrr!r}r�r$r$r$r%r��r�c@r)�CChainDispatchTableTestscCr�r(r�rQr$r$r%r�	r�z+CChainDispatchTableTests.get_dispatch_tableNr�r$r$r$r%r�r�r�c@r�)�CPicklerHookTestsc@r�)z%CPicklerHookTests.CustomCPicklerClassNr�r$r$r$r%�CustomCPicklerClass
sr�N)rrrr�r!rr�r}r$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|��q6||||d|d�dS)	NZ7P2n3i2n3i2PZ3nP0nZPn0P�sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�� r)r�calcobjsizer�r!r*r+rdr��
__sizeof__r:�calcsize�check_sizeof�sys�	getsizeofrbr�chr)r.�basesizerGZMT_sizeZME_sizeri�ir$r$r%�test_picklers,


�����
�zSizeofTests.test_picklercs�t�d�}tj�t�d��t�d��|j�dD].}dD])}�t��||d�}|�	t
�|�|��||d�t|�dt|�d�qq|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�r_r�r�csDt�|�}�t�|�ddd�}|���|�|�|��dS)Nr�r�r�)rrr*r+r)�dataZ	memo_sizeZ
marks_sizerr2�r�rir�Zstdsizer,r$r%�check_unpickler6s

�z3SizeofTests.test_unpickler.<locals>.check_unpicklerr�d�cSsg|]}t|��qSr$)r�)�.0r�r$r$r%�
<listcomp>A�z.SizeofTests.test_unpickler.<locals>.<listcomp>�cSsd}t|�D]}||g}q|Sr?)rb)Zdeepr�r�r$r$r%�recurseBs
z+SizeofTests.test_unpickler.<locals>.recurse�2�@�<��a�)rr�r�r#r:r�r�r*r+rdr�r��lenrbrrr)r.r�r�r�r2r�r�r$r�r%�test_unpickler&sN


��������zSizeofTests.test_unpicklerN)rrrrr�r�r�r$r$r$r%r�sr�>)�cPickler)�_elementtreezxml.etree.ElementTree)�	cStringIOr*)�StringIOr*>)�__builtin__�
basestring�builtins�str)�UserDictr�r�r�)�socket�
_socketobjectr��
SocketType)�
exceptions�
StandardErrorr��	ExceptioncC�<||ftvrt||f\}}||fS|tvrt|}||fSr()rr��module�namer$r$r%�mappinga��r�cCr�r()rrr�r$r$r%�reverse_mappinghr�r�c
Cs�ztj|WStyhz't���tjrdnd}t�|t�t	|�Wd�n1s.wYWn,t
yM}z
tjrGtd||f�t�d}~wty`}ztjr[t|��d}~wwtj|YSw)N�always�ignorezCan't import module %r: %s)
r��modules�KeyError�warnings�catch_warningsr�verbose�simplefilter�DeprecationWarning�
__import__r8�printr<)r��action�excr$r$r%�	getmoduleos.

������r�cCs&t|�}|�d�D]}t||�}q	|S)N�.)r��split�getattr)r�r�rPr�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�

��rc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�CompatPickleTestsc	Csltt���}|tt�O}|dd�tD�O}|dd�t��D�O}|D]}zt|�Wq"ty3Yq"wdS)NcS�h|]\}}|�qSr$r$�r�r�r�r$r$r%�	<setcomp>�r�z0CompatPickleTests.test_import.<locals>.<setcomp>cSrr$r$rr$r$r%r�r�)�setr�valuesrrrr�r<)r.r�r�r$r$r%�test_import�s��zCompatPickleTests.test_importc
Cs�t��D]A\}}|�||f��.zt|�Wn	tyYnw|dd�dkr6|�|t�|�t||�Wd�n1s@wYqdS)Nr_�_)r�items�subTestr�r<ZassertInrrd)r.�module3�module2r$r$r%�test_import_mapping�s�����z%CompatPickleTests.test_import_mappingc
Cs
t��D]~\\}}\}}|�||f||ff��c||fdkr,t||�}|�t|t��nG||fdkr@t||�}|�t|t��n3t||�\}}|dd�dkrY|�	||f||f�zt||�}Wn	tyiYn
w|�	t||�|�Wd�n1s}wYqdS)N�r��OSError�r�r<r_r	)
rr
rr�Z
assertTruer�rr<r�rd)r.r�name3r
�name2rr�r�r$r$r%�test_name_mapping�s*

�����z#CompatPickleTests.test_name_mappingc	Cst��D]{\}}|�||f��hzt|�Wnty/}z
tjr%t|�WYd}~nd}~ww||ftvr^t	�
|d�|kr^t��D]\\}}\}}||f||fkrTq^qB|�d||f�t	�
||�}t�
||�}|�
||�Wd�n1szwYqdS)Nz No reverse mapping from %r to %r)rr
rr�r<rr�r��ALT_IMPORT_MAPPINGr�getrZfailrd)	r.r
rr�Zm3Zn3Zm2Zn2r�r$r$r%�test_reverse_import_mapping�s2��������z-CompatPickleTests.test_reverse_import_mappingc
Cs�t��D]^\\}}\}}|�||f||ff��Czt||�}Wn	ty(Ynwt||�\}}||||ftvrB|�||f||f�t||�\}}|�||f||f�Wd�n1s]wYqdSr()	rr
rr�r<r��ALT_NAME_MAPPINGrdr�)r.r
rrrrr�r�r$r$r%�test_reverse_name_mapping�s����z+CompatPickleTests.test_reverse_name_mappingc	CsJ|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d�|�tdd�d	�tt�D]q\}}|�|��`|tttt	t
fvrL	Wd�q1|tur_t|t�r_|�td|�d	�n4|t
ur}t|t
�r}|�td|�d
�|�td|�d|f�n|�td|�d|f�|�td|�d|f�Wd�n1s�wYq1dS)Nr�r�)r�r�r�r�)r�r�r)r�rrr)rdr�r�rr�r�BlockingIOError�ResourceWarning�StopAsyncIteration�RecursionError�EncodingWarningrr�r<)r.r�r�r$r$r%�test_exceptions�s\����������������z!CompatPickleTests.test_exceptionsc	Csvt�d�}t|�D]/\}}|�|��|�td|�d|f�|�td|�d|f�Wd�n1s3wYq	dS)Nzmultiprocessing.context�multiprocessing)r�
import_modulerrrdr�r�)r.r�r�r�r$r$r%�test_multiprocessing_exceptions�s
�����z1CompatPickleTests.test_multiprocessing_exceptionsN)
rrrrrrrrrr"r$r$r$r%r�s
"rcCs|�t���|Sr()ZaddTest�doctestZDocTestSuite)�loaderZtests�patternr$r$r%�
load_testssr&�__main__)F�_compat_picklerrrrr�rr*r�r:r�r�rer#Zunittest�testrZtest.supportrZtest.pickletesterrr	r
rrr
rrrrr�Zhas_c_implementationr<ZTestCaserr&r>rHr�rJr[r\r|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r{r�rrr�r�r�r�rrr&r�mainr$r$r$r%�<module>s��	���C
Ax
�
© 2025 GrazzMean