Your IP : 216.73.216.85


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-1.pyc



��YfD@�@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�5/opt/alt/python35/lib64/python3.5/test/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)rr4Zprotocolrrrr7OszInMemoryPickleTests.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=)rrrr@cszLPersistentPicklerUnpicklerMixin.loads.<locals>.PersUnpickler.persistent_loadN)rrrr@r)rrr�
PersUnpicklerbsrA)rrrr)rrrrArrr)rrrasz%PersistentPicklerUnpicklerMixin.loads)rrrr7rrrrrr:Vs	r:c@s"eZdZejZejZdS)�PyPersPicklerTestsN)rrrr r8r/r!rrrrrrBjs	rBc@s"eZdZejZejZdS)�PyIdPersPicklerTestsN)rrrr r8r/r!rrrrrrCqs	rCc@s"eZdZejZejZdS)�PyPicklerUnpicklerObjectTestsN)rrrr r8�
pickler_classr!�unpickler_classrrrrrDxs	rDc@s%eZdZejZdd�ZdS)�PyDispatchTableTestscCs
tjj�S)N)r �dispatch_table�copy)rrrr�get_dispatch_table�sz'PyDispatchTableTests.get_dispatch_tableN)rrrr r8rErJrrrrrG~s	rGc@s%eZdZejZdd�ZdS)�PyChainDispatchTableTestscCstjitj�S)N)�collections�ChainMapr rH)rrrrrJ�sz,PyChainDispatchTableTests.get_dispatch_tableN)rrrr r8rErJrrrrrK�s	rKc@sCeZdZejZejfZe	fZ
eje	eefZ
dS)�CUnpicklerTestsN)rrr�_pickle�	Unpicklerrr r$r#r'r(r&r)r-rrrrrN�s
			rNc@s"eZdZejZejZdS)�
CPicklerTestsN)rrrrO�Picklerr/rPrrrrrrQ�s	rQc@s"eZdZejZejZdS)�CPersPicklerTestsN)rrrrOrRr/rPrrrrrrS�s	rSc@s"eZdZejZejZdS)�CIdPersPicklerTestsN)rrrrOrRr/rPrrrrrrT�s	rTc@s"eZdZejZejZdS)�CDumpPickle_LoadPickleN)	rrrrOrRr/r r!rrrrrrU�s	rUc@s"eZdZejZejZdS)�DumpPickle_CLoadPickleN)	rrrr r8r/rOrPrrrrrrV�s	rVc@s.eZdZejZejZdd�ZdS)�CPicklerUnpicklerObjectTestscCsn|jtj��}|jt��t|_WdQRX|jt��ddi|_WdQRXddi|_dS)N����)rFrrZassertRaisesr%�object�memor))rrrrr�test_issue18339�sz,CPicklerUnpicklerObjectTests.test_issue18339N)	rrrrOrRrErPrFr\rrrrrW�s		rWc@s%eZdZejZdd�ZdS)�CDispatchTableTestscCs
tjj�S)N)r rHrI)rrrrrJ�sz&CDispatchTableTests.get_dispatch_tableN)rrrr rRrErJrrrrr]�s	r]c@s%eZdZejZdd�ZdS)�CChainDispatchTableTestscCstjitj�S)N)rLrMr rH)rrrrrJ�sz+CChainDispatchTableTests.get_dispatch_tableN)rrrr rRrErJrrrrr^�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�calcobjsizerOrRrr�assertEqualrZ�
__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�errorsrcrXcs[tj|�}�tj|�dddd�}|j��|�|�|��dS)Nrxrsryrv)r r7rrr)�dataZ	memo_sizeZ
marks_sizer0r)rqrnrr�stdsizerrr�check_unpickler�s

z3SizeofTests.test_unpickler.<locals>.check_unpicklerr�d�cSsg|]}t|��qSr)rl)�.0rorrr�
<listcomp>�s	z.SizeofTests.test_unpickler.<locals>.<listcomp>�cSs-d}x t|�D]}||g}qW|S)Nr)rk)Zdeeprzrorrr�recurse�sz+SizeofTests.test_unpickler.<locals>.recurse�:�2�@��a�)rsrtru)rvrw)rrdrOrPr*rgrhrrrerZrf�lenrkr r7r)rrmrxryrr|r�r)rqrnrrr{rr�test_unpickler�s6		

3"#
zSizeofTests.test_unpicklerN)rrrrrhrpr�rrrrr_�s	r_�_elementtree�xml.etree.ElementTree�cPickler �StringIOr�	cStringIO�__builtin__�
basestring�builtins�str�
exceptions�
StandardError�	Exception�UserDictrL�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)	ri�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=rrrrr�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)rr�r�rrr�	<setcomp>?s	z0CompatPickleTests.test_import.<locals>.<setcomp>cSsh|]\}}|�qSrr)rr�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)NrX�_)r�items�subTestr�r,ZassertInrre)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��OSErrorrXr�)r�r�)
rr�r�r�Z
assertTruer�r�r�rer,)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�getrZfailre)	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_MAPPINGrer�)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�)rer�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.contextZmultiprocessing)r�
import_moduler�r�rer�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.rBrCrGrKr��has_c_implementation�extendrNrQrSrTrUrVrDrWr]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�rLr�)r�r�r�r�);Z_compat_picklerrrrr�r rrLr*riZunittestZtestrZtest.pickletesterrrr	r
rrr
rrOr�r,rrr.r9rZr:rBrCrDrGrKrNrQrSrTrUrVrWr]r^Zcpython_onlyZTestCaser_r�r�r�r�r�r�r�r�r�rrrrr�<module>s~"

			
B		o