Your IP : 216.73.216.213


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



��Yf��@s�ddlZddlmZddlmZddlZddlZejd�Zejd�Z	ddl
Z
Gdd�de�Zdd	�Z
Gd
d�d�ZGdd
�d
eje�ZGdd�deje�Zdd�Zedkr�e�dS)�N)�DocTestSuite)�support�_thread�	threadingc@seZdZdS)�WeakN)�__name__�
__module__�__qualname__�r
r
�>/opt/alt/python35/lib64/python3.5/test/test_threading_local.pyr
srcCs,t�}||_|jtj|��dS)N)r�weak�append�weakref�ref)�local�weaklistrr
r
r�targets		rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�
BaseLocalTestcCs+|jd�|jd�|jd�dS)N��2�d)�_local_refs)�selfr
r
r�test_local_refss

zBaseLocalTest.test_local_refscCs
|j�}g}xFt|�D]8}tjdtd||f�}|j�|j�qW~tj�|j	t
|�|�dd�|D�}|jt
|�|d|f�d|_tj�dd�|D�}|jt
|�|d|f|t
|�f�dS)Nr�argscSs%g|]}|�dkr|�qS)Nr
)�.0rr
r
r�
<listcomp>*s	z-BaseLocalTest._local_refs.<locals>.<listcomp>�cSs%g|]}|�dkr|�qS)Nr
)rrr
r
rr0s	)
�_local�ranger�Threadr�start�join�gc�collect�assertEqual�lenZassertInZsomeothervar)r�nrr�i�tZdeadlistr
r
rrs

 	
zBaseLocalTest._local_refsc	s}ddl�G�fdd�d�j�}|����fdd��tj�fdd�td�D���WdQRXdS)	Nrcs"eZdZ�fdd�ZdS)z)BaseLocalTest.test_derived.<locals>.Localcs�jd�dS)Ng{�G�z�?)Zsleep)r)�timer
r�__init__:sz2BaseLocalTest.test_derived.<locals>.Local.__init__N)rrr	r+r
)r*r
r�Local9sr,cs |�_�j�j|�dS)N)�xr%)r()rrr
r�f>s	z%BaseLocalTest.test_derived.<locals>.fc3s*|] }tjd�d|f�VqdS)rrN)rr )rr()r.r
r�	<genexpr>Csz-BaseLocalTest.test_derived.<locals>.<genexpr>�
)r*rrZ
start_threadsr)rr,r
)r.rrr*r�test_derived3s	zBaseLocalTest.test_derivedcs�Gdd�d|j��d�d�tj��tj�������fdd�}tjd|�}|j��j��fdd�td	�D���j�|j�|j	��dS)
Nc@seZdZdS)z7BaseLocalTest.test_derived_cycle_dealloc.<locals>.LocalN)rrr	r
r
r
rr,Isr,Fcsd��g}|j|�d|d_~tj��j��j�tdd��D���dS)N�barrcss|]}t|d�VqdS)�fooN)�hasattr)rrr
r
rr/_szFBaseLocalTest.test_derived_cycle_dealloc.<locals>.f.<locals>.<genexpr>)r
r3r#r$�set�wait�all)�cycle)r,�e1�e2�locals�passedr
rr.Ps




z3BaseLocalTest.test_derived_cycle_dealloc.<locals>.frcsg|]}���qSr
r
)rr()r,r
rrhs	z<BaseLocalTest.test_derived_cycle_dealloc.<locals>.<listcomp>r0)
rr�Eventr r!r6rr5r"Z
assertTrue)rr.r)r
)r,r9r:r;r<r�test_derived_cycle_deallocGs



z(BaseLocalTest.test_derived_cycle_dealloccCscGdd�d|j�}|dd�|d�|jt|jdd�|jt|jd�dS)Nc@seZdZdd�ZdS)z-BaseLocalTest.test_arguments.<locals>.MyLocalc_sdS)Nr
)rr�kwargsr
r
rr+qsz6BaseLocalTest.test_arguments.<locals>.MyLocal.__init__N)rrr	r+r
r
r
r�MyLocalpsr@�ar)r�assertRaises�	TypeError)rr@r
r
r�test_argumentsns


zBaseLocalTest.test_argumentscs�d�_���tj��tj�����fdd�}���fdd�}tjd|�}|j��j�tjd|�}|j�|j��j�|j��j�j�j�dS)Nz No error message set or cleared.cs0d�_d�_�`�j��j�dS)Nr3r2)r-�yr5r6r
)r9r:�objr
r�f1s
		
z)BaseLocalTest._test_one_class.<locals>.f1csUy
�j}Wntk
r*d�_Yn'Xd|�f�_tjj�j�dS)N�z'Incorrectly got value %r from class %r
)r-�AttributeError�_failed�sys�stderr�write)r3)�crFrr
r�f2�s

z)BaseLocalTest._test_one_class.<locals>.f2r)	rJrr=r r!r6r"r5ZassertFalse)rrNrGrOZt1Zt2r
)rNr9r:rFrr�_test_one_classys		





zBaseLocalTest._test_one_classcCs|j|j�dS)N)rPr)rr
r
r�test_threading_local�sz"BaseLocalTest.test_threading_localcCs*Gdd�d|j�}|j|�dS)Nc@seZdZdZdS)zBBaseLocalTest.test_threading_local_subclass.<locals>.LocalSubclassz(To test that subclasses behave properly.N)rrr	�__doc__r
r
r
r�
LocalSubclass�srS)rrP)rrSr
r
r�test_threading_local_subclass�sz+BaseLocalTest.test_threading_local_subclasscCsl|�}d|_|j|jddi�|jt��i|_WdQRX|jt��|`WdQRXdS)N�r-)r-r%�__dict__rBrI)r�clsrFr
r
r�_test_dict_attribute�s		z"BaseLocalTest._test_dict_attributecCs|j|j�dS)N)rXr)rr
r
r�test_dict_attribute�sz!BaseLocalTest.test_dict_attributecCs*Gdd�d|j�}|j|�dS)Nc@seZdZdZdS)zABaseLocalTest.test_dict_attribute_subclass.<locals>.LocalSubclassz(To test that subclasses behave properly.N)rrr	rRr
r
r
rrS�srS)rrX)rrSr
r
r�test_dict_attribute_subclass�sz*BaseLocalTest.test_dict_attribute_subclasscCsgGdd�d�}|�}|j�|_||j_tj|�}~tj�|j|��dS)Nc@seZdZdS)z.BaseLocalTest.test_cycle_collection.<locals>.XN)rrr	r
r
r
r�X�sr[)rrr-rrr#r$ZassertIsNone)rr[r-�wrr
r
r�test_cycle_collection�s	
z#BaseLocalTest.test_cycle_collectionN)rrr	rrr1r>rDrPrQrTrXrYrZr]r
r
r
rrs'$	rc@seZdZejZdS)�ThreadLocalTestN)rrr	rrr
r
r
rr^�sr^c@seZdZejZdS)�PyThreadingLocalTestN)rrr	�_threading_localrrr
r
r
rr_�sr_cs�tj�}|jtd��|jtjt��|jtjt��tj�dd�}�fdd�}|jtdd|d|��t	j
|�dS)Nr`cSstjt_dS)N)rrr`r)�testr
r
r�setUp�sztest_main.<locals>.setUpcs
�t_dS)N)r`r)ra)�
local_origr
r�tearDown�sztest_main.<locals>.tearDownrbrd)�unittestZ	TestSuiteZaddTestrZ	makeSuiter^r_r`rrZrun_unittest)Zsuiterbrdr
)rcr�	test_main�s	rf�__main__)reZdoctestrrarrr#�
import_modulerrr`�objectrrrZTestCaser^r_rfrr
r
r
r�<module>s�