Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_pickle.cpython-310.pyc
o

�9j�N�@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$�'/usr/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=rr�+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%rNa�
zHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_idN�rrrrNr$rRr$r%�PersPickler`�rU)r@r*r+r�getvalue)r.rDrErUr1rGr$rRr%r_s


z%PersistentPicklerUnpicklerMixin.dumpscs8G�fdd�d�j�}t�|�}||fi|��}|��S)NcrL)z<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpicklercrMr()�persistent_loadrOrRr$r%rXjrSzLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadN�rrrrXr$rRr$r%�
PersUnpicklerirVrZ)r,r*r+r)r.r/r0rZr1r2r$rRr%rhs
z%PersistentPicklerUnpicklerMixin.loadsr()rrrrrr$r$r$r%rK]s
	rKc@�eZdZejZejZdS)�PyPersPicklerTestsN)rrrrr r@r"r,r$r$r$r%r\qs
r\c@sBeZdZejZejZej	dd��Z
ej	dd��Zej	dd��ZdS)�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�assertEqualrrWrN�weakref�ref�assertIsNone)r!rEr1r@�rrRr$r%�check�s


z@PyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.checkc@�eZdZdd�ZdS)�FPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPicklercS�|Sr(r$rOr$r$r%rN���TPyIdPersPicklerTests.test_pickler_reference_cycle.<locals>.PersPickler.persistent_idNrTr$r$r$r%rU��rUc@�eZdZedd��ZdS)rlcSrmr(r$)�clsrQr$r$r%rN��roN)rrr�classmethodrNr$r$r$r%rU��c@rq)rlcS�|Sr(r$)rQr$r$r%rN�rsroN)rrrrrNr$r$r$r%rU�ru)r@)r.rjrUr$rRr%�test_pickler_reference_cycle~sz1PyIdPersPicklerTests.test_pickler_reference_cyclecsvG�fdd�d|j�}Gdd�d�}|��|t���}|�|j��t���}|�|��~�t�	�|�
|��dS)NcseZdZ��fdd�Z�ZS)zPPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Picklercs�|_t�j|i|��dSr()�dispatch_table�super�__init__)r.�argsrF)�	__class__�tabler$r%rz�szYPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.Pickler.__init__)rrrrz�
__classcell__r$�r})r|r%r!�sr!c@�eZdZdS)zVPyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleak.<locals>.DispatchTableN�rrrr$r$r$r%�
DispatchTable��r�)r@r*r+�assertIsrxrfrg�assertIsNotNoner�
gc_collectrh)r.r!r�r@�	table_refr$rr%�*test_custom_pickler_dispatch_table_memleak�s
z?PyIdPersPicklerTests.test_custom_pickler_dispatch_table_memleakcr^)Ncstttjd�D]}|t���d|���}��|��d�q|t���}��|�d�d�t	�
|�}~��|��dSr_)rcrrdr*r+rrerrXrfrgrh)r#rEr,rirRr$r%rj�s
zBPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.checkc@rk)�JPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpicklercSrmr(r$)rP�pidr$r$r%rX�rn�ZPyIdPersPicklerTests.test_unpickler_reference_cycle.<locals>.PersUnpickler.persistent_loadNrYr$r$r$r%rZ�rprZc@rq)r�cSrmr(r$)rrr�r$r$r%rX�rsr�N)rrrrtrXr$r$r$r%rZ�ruc@rq)r�cSrvr(r$)r�r$r$r%rX�rsr�N)rrrrrXr$r$r$r%rZ�ru)r,)r.rjrZr$rRr%�test_unpickler_reference_cycle�s
z3PyIdPersPicklerTests.test_unpickler_reference_cycleN)
rrrrr r@r"r,r�cpython_onlyrwr�r�r$r$r$r%r]xs

r]c@r[)�PyPicklerUnpicklerObjectTestsN)rrrrr �
pickler_classr"�unpickler_classr$r$r$r%r��s
r�c@�eZdZejZdd�ZdS)�PyDispatchTableTestscC�
tj��Sr(�rrx�copyrRr$r$r%�get_dispatch_table�rSz'PyDispatchTableTests.get_dispatch_tableN�rrrrr r�r�r$r$r$r%r���r�c@r�)�PyChainDispatchTableTestscC�t�itj�Sr(��collections�ChainMaprrxrRr$r$r%r���z,PyChainDispatchTableTests.get_dispatch_tableNr�r$r$r$r%r��r�r�c@�$eZdZGdd�deje�ZeZdS)�PyPicklerHookTestsc@r�)z'PyPicklerHookTests.CustomPyPicklerClassNr�r$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@r[)�
CPicklerTestsN�rrrr�r!r@r#r,r$r$r$r%r���
r�c@r[)�CPersPicklerTestsNr�r$r$r$r%r��r�r�c@r[)�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+�assertRaises�	TypeError�object�memor9)r.r,r$r$r%�test_issue18339s��z,CPicklerUnpicklerObjectTests.test_issue18339N)	rrrr�r!r�r#r�r�r$r$r$r%r�sr�c@r�)�CDispatchTableTestscCr�r(r�rRr$r$r%r�rSz&CDispatchTableTests.get_dispatch_tableN�rrrrr!r�r�r$r$r$r%r��r�c@r�)�CChainDispatchTableTestscCr�r(r�rRr$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$r�r�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)	N�7P2n3i2n3i2P�3nP0n�Pn0P�sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx�� r)r�calcobjsizer�r!r*r+rer��
__sizeof__r:�calcsize�check_sizeof�sys�	getsizeofrcr�chr)r.�basesizerG�MT_size�ME_sizerj�ir$r$r%�test_pickler,s,


�����
�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)�data�	memo_size�
marks_sizerr2�r�rjr��stdsizer,r$r%�check_unpicklerMs

�z3SizeofTests.test_unpickler.<locals>.check_unpicklerr�d�cSsg|]}t|��qSr$)r�)�.0r�r$r$r%�
<listcomp>X�z.SizeofTests.test_unpickler.<locals>.<listcomp>�cSsd}t|�D]}||g}q|Sr?)rc)�deepr�r�r$r$r%�recurseYs
z+SizeofTests.test_unpickler.<locals>.recurse�2�@�<��a�)rr�r�r#r:r�r�r*r+rer�r��lenrcrrr)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��StringIOr*��	cStringIOr*��_elementtreezxml.etree.ElementTree>��socket�
_socketobjectr��
SocketType��UserDictr�r�r���
exceptions�
StandardError�builtins�	Exception��__builtin__�
basestringr��strcC�<||ftvrt||f\}}||fS|tvrt|}||fSr()rr��module�namer$r$r%�mappingx��rcCrr()rrrr$r$r%�reverse_mappingrrc
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%�	getmodule�s.

������rcCs&t|�}|�d�D]}t||�}q	|S)N�.)r�split�getattr)rrrQr�r$r$r%�getattribute�srccs<�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	Csltt���}|tt�O}|dd�tD�O}|dd�t��D�O}|D]}zt|�Wq"ty3Yq"wdS)NcS�h|]\}}|�qSr$r$�r�rrr$r$r%�	<setcomp>�r�z0CompatPickleTests.test_import.<locals>.<setcomp>cSr$r$r$r%r$r$r%r&�r�)�setr�valuesrrrrr<)r.rrr$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�subTestrr<�assertInrre)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+r,r�
assertTruerr2r<rre)r.r.�name3r/�name2r!rrr$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||fkrTn
qB|�d||f�t	�
||�}t�
||�}|�
||�Wd�n1szwYqdS)Nz No reverse mapping from %r to %r)rr+r,rr<rrr�ALT_IMPORT_MAPPINGr�getr�failre)	r.r/r.r�m3�n3�m2�n2rr$r$r%�test_reverse_import_mapping�s0�������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+r,rr<r�ALT_NAME_MAPPINGrer)r.r/r6r.r5r!rrr$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�r2)r�r2r1r3)rerrr"r�r,�BlockingIOError�ResourceWarning�StopAsyncIteration�RecursionError�EncodingWarningr2rr<)r.rrr$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_moduler"r,rerr)r.rrrr$r$r%�test_multiprocessing_exceptionss
�����z1CompatPickleTests.test_multiprocessing_exceptionsN)
rrrr)r0r7r?rArGrJr$r$r$r%r#�s
"r#cCs|�t���|Sr()�addTest�doctest�DocTestSuite)�loader�tests�patternr$r$r%�
load_testssrQ�__main__)F�_compat_picklerrrrr�rr*r�r:r�r
rfrL�unittest�testr�test.supportr�test.pickletesterrr	r
rrr
rrrrr��has_c_implementationr<�TestCaserr&r>rHr�rKr\r]r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r8r@rrrrr"r#rQr�mainr$r$r$r%�<module>s��	���Z
Ax
�

Youez - 2016 - github.com/yon3zu
LinuXploit