HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_threading_local.cpython-310.opt-2.pyc
o

�i��@s�ddlZddlZddlmZddlmZddlmZddlm	Z	ddl
Z
ddlZddlZddl
Z
ddlZGdd�de�Zdd	�ZGd
d�d�ZGdd
�d
eje�ZGdd�deje�Zdd�Zedkrhe�dSdS)�N)�DocTestSuite)�support)�threading_helper)�
import_modulec@�eZdZdS)�WeakN��__name__�
__module__�__qualname__�rr�6/usr/local/lib/python3.10/test/test_threading_local.pyr�rcCs t�}||_|�t�|��dS�N)r�weak�append�weakref�ref)�local�weaklistrrrr
�targetsrc@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�
BaseLocalTestcCs"|�d�|�d�|�d�dS)N��2�d)�_local_refs��selfrrr
�test_local_refss

zBaseLocalTest.test_local_refscCs�|��}g}t|�D]}tjt||fd�}|��|��q
~t��|�	t
|�|�dd�|D�}|�t
|�|d|f�d|_t��dd�|D�}|�t
|�|d|f|t
|�f�dS)N�r�argscS�g|]	}|�dur|�qSrr��.0rrrr
�
<listcomp>-�z-BaseLocalTest._local_refs.<locals>.<listcomp>�cSr!rrr"rrr
r$3r%)
�_local�range�	threading�Threadr�start�joinr�
gc_collect�assertEqual�lenZassertInZsomeothervar)r�nrr�i�tZdeadlistrrr
r s
&zBaseLocalTest._local_refscstddl�G�fdd�d�j�}|����fdd��t��fdd�td�D���	Wd�dS1s3wYdS)	NrcseZdZ�fdd�ZdS)z)BaseLocalTest.test_derived.<locals>.Localcs��d�dS)Ng{�G�z�?)�sleepr��timerr
�__init__=sz2BaseLocalTest.test_derived.<locals>.Local.__init__N�r	r
rr6rr4rr
�Local<sr8cs|�_���j|�dSr)�xr.)r1)rrrr
�fAsz%BaseLocalTest.test_derived.<locals>.fc3s �|]}tj�|fd�VqdS)rN)r)r*�r#r1)r:rr
�	<genexpr>Fs��z-BaseLocalTest.test_derived.<locals>.<genexpr>�
)r5r'rZ
start_threadsr()rr8r)r:rrr5r
�test_derived6s
�"�zBaseLocalTest.test_derivedcs�Gdd�d|j��d�d�t���t��������fdd�}tj|d�}|������fdd�td	�D�����|��|�	��dS)
Nc@r)z7BaseLocalTest.test_derived_cycle_dealloc.<locals>.LocalNrrrrr
r8Lrr8FcsL��g}|�|�d|d_~t��������tdd��D���dS)N�barrcss�|]	}t|d�VqdS)�fooN)�hasattr)r#rrrr
r<bs�zFBaseLocalTest.test_derived_cycle_dealloc.<locals>.f.<locals>.<genexpr>)rr@rr-�set�wait�all)�cycle�r8�e1�e2�localsZpassedrr
r:Ss

z3BaseLocalTest.test_derived_cycle_dealloc.<locals>.f�rcsg|]}���qSrrr;)r8rr
r$ksz<BaseLocalTest.test_derived_cycle_dealloc.<locals>.<listcomp>r=)
r'r)�Eventr*r+rCr(rBr,Z
assertTrue)rr:r2rrFr
�test_derived_cycle_deallocJsz(BaseLocalTest.test_derived_cycle_dealloccCsJGdd�d|j�}|dd�|d�|jt|jdd�|�t|jd�dS)Nc@seZdZdd�ZdS)z-BaseLocalTest.test_arguments.<locals>.MyLocalc_�dSrr)rr �kwargsrrr
r6tsz6BaseLocalTest.test_arguments.<locals>.MyLocal.__init__Nr7rrrr
�MyLocalssrOr&)�a)r'�assertRaises�	TypeError)rrOrrr
�test_argumentsqs

zBaseLocalTest.test_argumentscs�d�_���t���t������fdd�}���fdd�}tj|d�}|�����tj|d�}|��|�����|�����j�j�dS)Nz No error message set or cleared.cs$d�_d�_�`������dS)Nr@r?)r9�yrBrCr)rGrH�objrr
�f1�s
z)BaseLocalTest._test_one_class.<locals>.f1csFz�j}Wn
tyd�_YdSwd|�f�_tj��j�dS)N�z'Incorrectly got value %r from class %r
)r9�AttributeError�_failed�sys�stderr�write)r@)�crUrrr
�f2�s
��z)BaseLocalTest._test_one_class.<locals>.f2rJ)	rYr)rKr*r+rCr,rBZassertFalse)rr]rVr^�t1�t2r)r]rGrHrUrr
�_test_one_class|szBaseLocalTest._test_one_classcC�|�|j�dSr)rar'rrrr
�test_threading_local��z"BaseLocalTest.test_threading_localcC� Gdd�d|j�}|�|�dS)Nc@r)zBBaseLocalTest.test_threading_local_subclass.<locals>.LocalSubclassNrrrrr
�
LocalSubclass�rrf)r'ra�rrfrrr
�test_threading_local_subclass��z+BaseLocalTest.test_threading_local_subclasscCs�|�}d|_|�|jddi�|�t��i|_Wd�n1s"wY|�t��|`Wd�dS1s:wYdS)N�r9)r9r.�__dict__rQrX)r�clsrUrrr
�_test_dict_attribute�s�"�z"BaseLocalTest._test_dict_attributecCrbr)rmr'rrrr
�test_dict_attribute�rdz!BaseLocalTest.test_dict_attributecCre)Nc@r)zABaseLocalTest.test_dict_attribute_subclass.<locals>.LocalSubclassNrrrrr
rf�rrf)r'rmrgrrr
�test_dict_attribute_subclass�riz*BaseLocalTest.test_dict_attribute_subclasscCsJGdd�d�}|�}|��|_||j_t�|�}~t��|�|��dS)Nc@r)z.BaseLocalTest.test_cycle_collection.<locals>.XNrrrrr
�X�rrp)r'rr9rrrr-ZassertIsNone)rrpr9�wrrrr
�test_cycle_collection�s

z#BaseLocalTest.test_cycle_collectioncCs:td�}|�dd�d�td�D]}t��}q|��dS)N�	_testcapicSrMrrrrrr
�<lambda>�sz?BaseLocalTest.test_threading_local_clear_race.<locals>.<lambda>Fi�)rZcall_in_temporary_c_threadr(r)rZjoin_temporary_c_thread)rrs�_rrr
�test_threading_local_clear_race�s

z-BaseLocalTest.test_threading_local_clear_raceN)r	r
rrrr>rLrSrarcrhrmrnrorrrvrrrr
rs'$	
rc@seZdZejZdS)�ThreadLocalTestN)r	r
r�_threadr'rrrr
rw��
rwc@seZdZejZdS)�PyThreadingLocalTestN)r	r
r�_threading_localrr'rrrr
rz�ryrzcsrt��}|�td��|�t�t��|�t�t��tj�dd�}�fdd�}|�td||d��t	�
|�dS)Nr{cSstjt_dSr)rxr'r{r��testrrr
�setUp�sztest_main.<locals>.setUpcs
�t_dSr)r{rr|�Z
local_origrr
�tearDown�s
ztest_main.<locals>.tearDown)r~r�)�unittestZ	TestSuiteZaddTestrZ	makeSuiterwrzr{rrZrun_unittest)Zsuiter~r�rrr
�	test_main�s�r��__main__)rZr��doctestrr}rZtest.supportrZtest.support.import_helperrr�gcrxr)r{�objectrrrZTestCaserwrzr�r	rrrr
�<module>s*:
�