Your IP : 216.73.216.60


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_pickle.cpython-35.opt-2.pyc



���]D@�@s�ddlmZmZmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZyddlZdZWnek
r6d
ZYnXGdd�de�ZGdd�de�ZGdd�de�ZGdd�deee�ZGdd�de�ZGdd�dee�Z Gdd�dee�Z!Gdd�de�Z"Gdd�de�Z#Gd d!�d!e�Z$er
Gd"d#�d#e�Z%Gd$d%�d%e�Z&Gd&d'�d'e �Z'Gd(d)�d)e!�Z(Gd*d+�d+e�Z)Gd,d-�d-e�Z*Gd.d/�d/e�Z+Gd0d1�d1e�Z,Gd2d3�d3e�Z-e
j.Gd4d5�d5ej/��Z0dXdYdZd[hZ1d\d]d^d_hZ2dIdJ�Z3dKdL�Z4dMdN�Z5dOdP�Z6dQdR�Z7GdSdT�dTej/�Z8dUdV�Z9e:dWkr�e9�dS)`�)�IMPORT_MAPPING�REVERSE_IMPORT_MAPPING�NAME_MAPPING�REVERSE_NAME_MAPPINGN)�support)�AbstractUnpickleTests)�AbstractPickleTests)�AbstractPickleModuleTests)�AbstractPersistentPicklerTests)�&AbstractIdentityPersistentPicklerTests)�#AbstractPicklerUnpicklerObjectTests)�AbstractDispatchTableTests)�BigmemPickleTestsTFc@seZdZdS)�PickleTestsN)�__name__�
__module__�__qualname__�rr�0/opt/alt/python35/lib64/python3.5/test_pickle.pyrsrc@sgeZdZejZefZeeje	e
efZejee
e
ejeefZdd�ZdS)�PyUnpicklerTestscKs+tj|�}|j||�}|j�S)N)�io�BytesIO�	unpickler�load)�self�buf�kwds�f�urrr�loads+szPyUnpicklerTests.loadsN)rrr�pickle�
_Unpicklerr�
IndexError�bad_stack_errors�UnpicklingError�	TypeError�AttributeError�EOFError�bad_mark_errors�
ValueError�struct�error�ImportError�truncated_errorsrrrrrr!s				rc@s=eZdZejZejZddd�Zdd�Z	dS)�PyPicklerTestsNcCsHtj�}|j||�}|j|�|jd�t|j��S)Nr)rr�pickler�dump�seek�bytes�read)r�arg�protor�prrr�dumps6s


zPyPicklerTests.dumpscKs+tj|�}|j||�}|j�S)N)rrrr)rrrrrrrrr=szPyPicklerTests.loads)
rrrr �_Picklerr/r!rr7rrrrrr.1s		r.c@s�eZdZejZejZeje	fZ
eje	eee
fZeje
eeeje	efZddd�Zdd�ZdS)�InMemoryPickleTestsNcCstj||�S)N)r r7)rr4�protocolrrrr7OszInMemoryPickleTests.dumpscKstj||�S)N)r r)rrrrrrrRszInMemoryPickleTests.loads)rrrr r8r/r!rr$r"r#r%r&r'r(r)r*r+r,r-r7rrrrrr9Cs				r9c@s+eZdZddd�Zdd�ZdS)�PersistentPicklerUnpicklerMixinNcsQG�fdd�d�j�}tj�}|||�}|j|�|j�S)Ncs"eZdZ�fdd�ZdS)z:PersistentPicklerUnpicklerMixin.dumps.<locals>.PersPicklercs
�j|�S)N)�
persistent_id)�subself�obj)rrrr<ZszHPersistentPicklerUnpicklerMixin.dumps.<locals>.PersPickler.persistent_idN)rrrr<r)rrr�PersPicklerYsr?)r/rrr0�getvalue)rr4r5r?rr6r)rrr7Xs

z%PersistentPicklerUnpicklerMixin.dumpscsGG�fdd�d�j�}tj|�}|||�}|j�S)Ncs"eZdZ�fdd�ZdS)z<PersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpicklercs
�j|�S)N)�persistent_load)r=r>)rrrrAcszLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadN)rrrrAr)rrr�
PersUnpicklerbsrB)rrrr)rrrrBrrr)rrrasz%PersistentPicklerUnpicklerMixin.loads)rrrr7rrrrrr;Vs	r;c@s"eZdZejZejZdS)�PyPersPicklerTestsN)rrrr r8r/r!rrrrrrCjs	rCc@s"eZdZejZejZdS)�PyIdPersPicklerTestsN)rrrr r8r/r!rrrrrrDqs	rDc@s"eZdZejZejZdS)�PyPicklerUnpicklerObjectTestsN)rrrr r8�
pickler_classr!�unpickler_classrrrrrExs	rEc@s%eZdZejZdd�ZdS)�PyDispatchTableTestscCs
tjj�S)N)r �dispatch_table�copy)rrrr�get_dispatch_table�sz'PyDispatchTableTests.get_dispatch_tableN)rrrr r8rFrKrrrrrH~s	rHc@s%eZdZejZdd�ZdS)�PyChainDispatchTableTestscCstjitj�S)N)�collections�ChainMapr rI)rrrrrK�sz,PyChainDispatchTableTests.get_dispatch_tableN)rrrr r8rFrKrrrrrL�s	rLc@sCeZdZejZejfZe	fZ
eje	eefZ
dS)�CUnpicklerTestsN)rrr�_pickle�	Unpicklerrr r$r#r'r(r&r)r-rrrrrO�s
			rOc@s"eZdZejZejZdS)�
CPicklerTestsN)rrrrP�Picklerr/rQrrrrrrR�s	rRc@s"eZdZejZejZdS)�CPersPicklerTestsN)rrrrPrSr/rQrrrrrrT�s	rTc@s"eZdZejZejZdS)�CIdPersPicklerTestsN)rrrrPrSr/rQrrrrrrU�s	rUc@s"eZdZejZejZdS)�CDumpPickle_LoadPickleN)	rrrrPrSr/r r!rrrrrrV�s	rVc@s"eZdZejZejZdS)�DumpPickle_CLoadPickleN)	rrrr r8r/rPrQrrrrrrW�s	rWc@s.eZdZejZejZdd�ZdS)�CPicklerUnpicklerObjectTestscCsn|jtj��}|jt��t|_WdQRX|jt��ddi|_WdQRXddi|_dS)N����)rGrrZassertRaisesr%�object�memor))rrrrr�test_issue18339�sz,CPicklerUnpicklerObjectTests.test_issue18339N)	rrrrPrSrFrQrGr]rrrrrX�s		rXc@s%eZdZejZdd�ZdS)�CDispatchTableTestscCs
tjj�S)N)r rIrJ)rrrrrK�sz&CDispatchTableTests.get_dispatch_tableN)rrrr rSrFrKrrrrr^�s	r^c@s%eZdZejZdd�ZdS)�CChainDispatchTableTestscCstjitj�S)N)rMrNr rI)rrrrrK�sz+CChainDispatchTableTests.get_dispatch_tableN)rrrr rSrFrKrrrrr_�s	r_c@s1eZdZejZdd�Zdd�ZdS)�SizeofTestscCs�tjd�}tjtj��}|jtj|�|�t	j
d�}t	j
d�}|j}||||d|tj
dd��x'td�D]}|jt|��q�W||||d|d	�dS)
NZ5P2n3i2n3iPZ3nP0nZPn0P��xi�� r)r�calcobjsizerPrSrr�assertEqualr[�
__sizeof__r*�calcsize�check_sizeof�sys�	getsizeof�ranger0�chr)r�basesizer6ZMT_sizeZME_size�check�irrr�test_pickler�s	zSizeofTests.test_picklercs%tjd�}tj�tjd��tjd��|j�x�dD]}xvdD]n}�tj�d	|d
|�}|j	t
j|�|��||d�t|�dt|�d�qSWqFW|td�dtd�d������fd
d�}|ddd�|dgddd�|dd�t
d�D�dd�dd�}||d�dd�||d�dd�||d�dd�||d�dd�||d�dd��tjtjdd��d	dd
d�}|j��|�d�dd�dS)Nz2Pn2P 2P2n2i5P 2P3n6P2n2i�P�n�ASCII�UTF-16�latin-1�strict�replace�encoding�errorsrdrYcs[tj|�}�tj|�dddd�}|j��|�|�|��dS)Nryrtrzrw)r r7rrr)�dataZ	memo_sizeZ
marks_sizer0r)rrrors�stdsizerrr�check_unpickler�s

z3SizeofTests.test_unpickler.<locals>.check_unpicklerr�d�cSsg|]}t|��qSr)rm)�.0rprrr�
<listcomp>�s	z.SizeofTests.test_unpickler.<locals>.<listcomp>�cSs-d}x t|�D]}||g}qW|S)Nr)rl)�deepr{rprrr�recurse�sz+SizeofTests.test_unpickler.<locals>.recurse�:�2�@��a�)rtrurv)rwrx)rrerPrQr*rhrirrrfr[rg�lenrlr r7r)rrnryrzrr}r�r)rrrorsr|rr�test_unpickler�s6		

3"#
zSizeofTests.test_unpicklerN)rrrrrirqr�rrrrr`�s	r`�_elementtree�xml.etree.ElementTree�cPickler �StringIOr�	cStringIO�__builtin__�
basestring�builtins�str�
exceptions�
StandardError�	Exception�UserDictrM�socket�
_socketobject�
SocketTypecCsK||ftkr+t||f\}}n|tkrAt|}||fS)N)rr)�module�namerrr�mappings

r�cCsK||ftkr+t||f\}}n|tkrAt|}||fS)N)rr)r�r�rrr�reverse_mappings

r�cCs�ytj|SWn�tk
r�yt|�Wn�tk
rw}z(tjr_td||f�t�WYdd}~Xn;tk
r�}ztjr�t|��WYdd}~XnXtj|SYnXdS)NzCan't import module %r: %s)	rj�modules�KeyError�
__import__r&r�verbose�printr,)r��excrrr�	getmodules
		
r�cCs9t|�}x&|jd�D]}t||�}qW|S)N�.)r��split�getattr)r�r�r>rsrrr�getattribute/sr�ccsSxLt|�D]>}t||�}t|t�r
t|t�r
||fVq
WdS)N)�dirr��
isinstance�type�
issubclass�
BaseException)�modr��attrrrr�get_exceptions5sr�c@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�CompatPickleTestscCs�ttj��}|tt�O}|dd�tD�O}|dd�tj�D�O}x1|D])}yt|�Wq]tk
r�Yq]Xq]WdS)NcSsh|]\}}|�qSrr)r�r�r�rrr�	<setcomp>?s	z0CompatPickleTests.test_import.<locals>.<setcomp>cSsh|]\}}|�qSrr)r�r�r�rrrr�@s	)�setr�valuesrrrr�r,)rr�r�rrr�test_import<s

zCompatPickleTests.test_importcCs�x�tj�D]�\}}|j||f��byt|�Wntk
rQYnX|dd�dkr�|j|t�|jt||�WdQRXq
WdS)NrY�_)r�items�subTestr�r,ZassertInrrf)r�module3�module2rrr�test_import_mappingGs
z%CompatPickleTests.test_import_mappingcCsxtj�D]\\}}\}}|j||f||ff���||fdkr�t||�}|jt|t��n�t||�\}}|dd�dkr�|j||f||f�yt||�}Wnt	k
r�YnX|jt||�|�WdQRXq
WdS)Nr��OSErrorrYr�)r�r�)
rr�r�r�Z
assertTruer�r�r�rfr,)rr��name3r��name2r�r�r�rrr�test_name_mappingRs%"
z#CompatPickleTests.test_name_mappingc	Cs>x7tj�D])\}}|j||f��yt|�Wn8tk
rw}ztjret|�WYdd}~XnX||ftkr�t	j
|d�|kr�xVtj�D]1\\}}\}}||f||fkr�Pq�W|jd||f�t	j
||�}tj
||�}|j
||�WdQRXq
WdS)Nz No reverse mapping from %r to %r)rr�r�r�r,rr�r��ALT_IMPORT_MAPPINGr�getrZfailrf)	rr�r�r�Zm3Zn3�m2Zn2r�rrr�test_reverse_import_mappingcs"	%	z-CompatPickleTests.test_reverse_import_mappingcCs�x�tj�D]�\\}}\}}|j||f||ff���yt||�}Wntk
rnYnXt||�\}}||||ftkr�|j||f||f�t||�\}}|j||f||f�WdQRXq
WdS)N)	rr�r�r�r,r��ALT_NAME_MAPPINGrfr�)rr�r�r�r�r�r�r�rrr�test_reverse_name_mappingws%"
z+CompatPickleTests.test_reverse_name_mappingc
CsE|jtdd�d�|jtdd�d�|jtdd�d�|jtdd�d	�|jtdd�d
�x�tt�D]�\}}|j|���|tttt	fkr�w�|t
k	r�t|t
�r�|jtd|�d�n>|jtd|�d|f�|jtd|�d|f�WdQRXq�WdS)Nr�r�r�r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)r�r�)rfr�r�r�r�r��BlockingIOError�ResourceWarning�StopAsyncIteration�RecursionErrorr�r�)rr�r�rrr�test_exceptions�s0

z!CompatPickleTests.test_exceptionscCs�tjd�}xot|�D]a\}}|j|��C|jtd|�d|f�|jtd|�d|f�WdQRXqWdS)Nzmultiprocessing.context�multiprocessing)r�
import_moduler�r�rfr�r�)rr�r�r�rrr�test_multiprocessing_exceptions�s
z1CompatPickleTests.test_multiprocessing_exceptionsN)
rrrr�r�r�r�r�r�r�rrrrr�;s
r�c
Cssttttttttg}trU|j	t
ttt
ttttttttg�tj|�tjt�dS)N)rrr.rCrDrHrLr��has_c_implementation�extendrOrRrTrUrVrWrErXr^r_r9r`rZrun_unittestZrun_doctestr )Ztestsrrr�	test_main�s		

r��__main__)r�r�)r�r )r�r)r�r)r�r�r�r�)r�r�r�r�)r�r�rMr�)r�r�r�r�);�_compat_picklerrrrr�r rrMr*rjZunittestZtestrZtest.pickletesterrrr	r
rrr
rrPr�r,rrr.r9r[r;rCrDrErHrLrOrRrTrUrVrWrXr^r_Zcpython_onlyZTestCaser`r�r�r�r�r�r�r�r�r�rrrrr�<module>s~"

			
B		o