Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/test/__pycache__/test_context.cpython-38.opt-2.pyc
U

>��g�z�@sddlZddlZddlZddlZddlZddlZddlZddlZzddl	m
Z
Wnek
rhdZ
YnXdd�ZGdd�dej
�ZGdd�d�ZGd	d
�d
e�ZGdd�d�ZGd
d�de�ZGdd�de�Ze�e
dkd�Gdd�dej
��Zedk�re��dS)�N��hamtcst����fdd��}|S)Ncst��}|j�f|�|�S�N��contextvars�Context�run)�args�kwargs�ctx��func��0/opt/cppython/lib/python3.8/test/test_context.py�wrappersz!isolated_context.<locals>.wrapper)�	functools�wraps)r
rrrr�isolated_contextsrc@s�eZdZdd�Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zedd��Z
dd�Zdd�Zdd�Zedd��Zedd��Zedd ��Zed!d"��Zed#d$��Zd%d&�Zed'd(��Zd)d*�Zd+S),�ContextTestc	Cs�|�td��t��W5QRX|�td��t�d�W5QRXt�d�}|�|jd�|�t��d|_W5QRX|�t	|�t	d��dS)Nztakes exactly 1z
must be a str��aaa�bbb)
�assertRaisesRegex�	TypeErrorr�
ContextVar�assertEqual�name�assertRaises�AttributeError�assertNotEqual�hash)�self�crrr�test_context_var_new_1s
z"ContextTest.test_context_var_new_1cCs�t�d�}|�dt|��tjddd�}|�dt|��g}tjd|d�}|�|�|�dt|��|�dt|��|�d�}|�t|�t|��|�dt|��|�|�|�dt|��dS)N�a�{��defaultZ123z...rz used )rr�assertIn�repr�append�set�assertNotIn�reset)r!r"Zlst�trrr�test_context_var_repr_1)s



z#ContextTest.test_context_var_repr_1c	Cs�|�td��Gdd�dtj�}W5QRX|�td��Gdd�dtj�}W5QRX|�td��Gdd�dtj�}W5QRXdS)Nznot an acceptable base typec@seZdZdS)z<ContextTest.test_context_subclassing_1.<locals>.MyContextVarN��__name__�
__module__�__qualname__rrrr�MyContextVar?sr4c@seZdZdS)z9ContextTest.test_context_subclassing_1.<locals>.MyContextNr0rrrr�	MyContextDsr5c@seZdZdS)z7ContextTest.test_context_subclassing_1.<locals>.MyTokenNr0rrrr�MyTokenHsr6)rrrrr�Token)r!r4r5r6rrr�test_context_subclassing_1=sz&ContextTest.test_context_subclassing_1c	Cs||�td��t�d�W5QRX|�td��tjddd�W5QRX|�td��tjdd�W5QRXtjfi�dS)Nz
any argumentsr�r$)rrrr�r!rrr�test_context_new_1KszContextTest.test_context_new_1c	Csnt��}|�td��|dW5QRX|�td��d|kW5QRX|�td��|�d�W5QRXdS)NzContextVar key was expectedr)rrrr�get�r!rrrr�test_context_typerrors_1Tsz$ContextTest.test_context_typerrors_1cCst��}|�|tj�dSr)r�copy_contextZassertIsInstancerr=rrr�test_context_get_context_1^sz&ContextTest.test_context_get_context_1c	Cs,t��}|�td��|��W5QRXdS)Nzmissing 1 required)rrrrrr=rrr�test_context_run_1bszContextTest.test_context_run_1cCs�t��}dd�}|t�|�fD]�}|�|�|�dddif�|�|�|d�dddif�|�|j|dd	�dddd
�f�|�|j|ddd	�dddd
�f�i}|�|j|df|�dddif�|�|i�qdS)
Nc_sd|d<|d7}||fS)N�foo�spam��barr�r	r
rrrr
ksz,ContextTest.test_context_run_2.<locals>.funcrDrCrBr)rrE�r9)r$rC�)rHrE)rrr�partialrr)r!rr
�fr$rrr�test_context_run_2hs&��
�zContextTest.test_context_run_2c	Cs�t��}dd�}|�t��|�|�W5QRX|�t��|�|dd�W5QRX|�t��|j|dddd�W5QRXdS)Nc_sdddS)NrrrrFrrrr
�sz,ContextTest.test_context_run_3.<locals>.funcrrGr%r9)rrr�ZeroDivisionErrorr�r!rr
rrr�test_context_run_3�szContextTest.test_context_run_3cspt��}t���t�d����fdd������fdd�}|�|�}��||���|�d����|�dS)N�varcs����d��dSr)�assertIsNoner<r�r!rOrr�func2�sz-ContextTest.test_context_run_4.<locals>.func2csb����d����d���������d�d�t��}��t|�d���|�d�|S)NrCr)rPr<r+rrrr?�len)Zcur��ctx2rRr!rOrr�func1�s

z-ContextTest.test_context_run_4.<locals>.func1rC)rrrrrr()r!�ctx1rVZreturned_ctxrrTr�test_context_run_4�s

zContextTest.test_context_run_4c	sTt��}t�d����fdd�}��t��|�|�W5QRX����d��dS)NrOcs&����d����d�dddS)NrCrr)rPr<r+rrQrrr
�s
z,ContextTest.test_context_run_5.<locals>.func)rrrrrLrrPr<rMrrQr�test_context_run_5�s
zContextTest.test_context_run_5cs4t���tjddd�����fdd�}��|�dS)Nr$rr&csP�����d����������d������d�������d�dS)Nr�*)rr<rPr+r�r"rr!rr�fun�s

z+ContextTest.test_context_run_6.<locals>.fun�rrrr�r!r\rr[r�test_context_run_6�szContextTest.test_context_run_6cs&t������fdd������dS)Nc	s&��td������W5QRXdS)Nzis already entered)r�RuntimeErrorrr�rr\r!rrr\�sz+ContextTest.test_context_run_7.<locals>.funrr:rrar�test_context_run_7�szContextTest.test_context_run_7c	Cs�t�d�}|�t��|��W5QRX|�|�d��|�d�}|�|��d�|�|�d�d�|�|j	|j
�|�|j	tjj
�|�|j|�|�d�}|�|��d�|�|�d�d�|�|j	d�|�
|�|�|��d�|�|�d�d�|�d�|�td��|�
|�W5QRX|�|��d�t��}|�||�|�
|�|�td��|�
|�W5QRX|�|�d��|�||�|�||d�|�|�|d�d�|�t|�d�|�t|���|dfg�|�t|���dg�|�t|���|g�|�t|�|g�t��}|�||�|�t��||W5QRX|�|�|d�d�|�t|�d�|�t|�g�dS)	Nr"rZrCZspam2zhas already been used�aarr)rrr�LookupErrorr<rPr+r�assertIs�	old_value�MISSINGr7rOr-rr`r?r(rS�list�items�values�keysr,�KeyError)r!r"�t0r.rWrUrrr�test_context_getset_1�sT





z!ContextTest.test_context_getset_1c	CsDt�d�}t�d�}|�d�}|�td��|�|�W5QRXdS)N�v1�v2rZzby a different)rrr+r�
ValueErrorr-)r!rorp�t1rrr�test_context_getset_2s



z!ContextTest.test_context_getset_2cs4tjddd��t������fdd�}��|�dS)Nr"rZr&c	s������d���t����W5QRX������������d�d��������t����g���d�}��t�����g�����d���	|���t����g���t����W5QRXdS)NrZrCr)
rr<rrlrPr,rhrkr+r-)r.r[rrr\s

z.ContextTest.test_context_getset_3.<locals>.fun)rrrrr^rr[r�test_context_getset_3sz!ContextTest.test_context_getset_3c	CsJtjddd�}t��}|�|jd�}|�td��|�|�W5QRXdS)Nr"rZr&rzdifferent Context)rrrrr+rrqr-)r!r"r�tokrrr�test_context_getset_4's
z!ContextTest.test_context_getset_4csHtjddd����g���fdd�}t���|������g�dS)Nr"rZr&cs.��g�����d������dg�dS)NrZ)r+r<r*rr�r"r!rrr\6s
z.ContextTest.test_context_getset_5.<locals>.fun)rrr+r?rrr<r^rrwr�test_context_getset_51s

z!ContextTest.test_context_getset_5csDt���tjddd������fdd�}��fdd����|�dS)Nr"rZr&csz��d����}��|�d���d�����d���|�d�|�������d���|�d�dS)N�
��)r+�copyrr)rU�r"rW�ctx2_funr!rr�ctx1_funBs


z1ContextTest.test_context_copy_1.<locals>.ctx1_funcs.�����d���d������d�dS)Nryr{)rr<r+rrwrrr~Ps
z1ContextTest.test_context_copy_1.<locals>.ctx2_funr])r!rrr}r�test_context_copy_1>s
zContextTest.test_context_copy_1csbt�d����fdd�}tjjdd�}zt|�|td���}W5|��X��	|ttd���dS)N�cvarcsFtd�D]8}��||�t�t�dd�������||�q|S)Nryg����MbP?g�������?)�ranger+�time�sleep�random�uniformrr<)�num�i�r�r!rr�sub[s
z/ContextTest.test_context_threads_1.<locals>.subry)�max_workers)
rr�
concurrent�futures�ThreadPoolExecutor�shutdownrh�mapr�r)r!r��tp�resultsrr�r�test_context_threads_1Ws

z"ContextTest.test_context_threads_1cCstj}|�|t|�dSr)rrr�str)r!Zclssrrr�test_contextvar_getitemisz#ContextTest.test_contextvar_getitemN)r1r2r3r#rr/r8r;r>r@rArKrNrXrYr_rbrnrsrtrvrxr�r�r�rrrrrs:
	


	
5


	

rc@s6eZdZdZdd�dd�Zdd�Zdd�Zd	d
�ZdS)�HashKeyN��error_on_eq_tocCs||_||_||_dSr)rr r�)r!r rr�rrr�__init__tszHashKey.__init__cCsd|j�d|j�d�S)Nz
<Key name:z hash:�>)rr r:rrr�__repr__zszHashKey.__repr__cCs|jdk	r|jjrt�|jSr)�_crasher�
error_on_hash�HashingErrorr r:rrr�__hash__}szHashKey.__hash__cCs�t|t�stS|jdk	r$|jjr$t�|jdk	rL|j|krLtd|�d|����|jdk	rt|j|krttd|�d|����|j|j	f|j|j	fkS)Nzcannot compare z to )
�
isinstancer��NotImplementedr��error_on_eq�EqErrorr�rqrr �r!�otherrrr�__eq__�s
zHashKey.__eq__)r1r2r3r�r�r�r�r�rrrrr�qs
r�cs(eZdZ�fdd�Z�fdd�Z�ZS)�KeyStrcs tjdk	rtjjrt�t���Sr)r�r�r�r��superr�r:��	__class__rrr��szKeyStr.__hash__cs"tjdk	rtjjrt�t��|�Sr)r�r�r�r�r�r�r�r�rrr��sz
KeyStr.__eq__)r1r2r3r�r��
__classcell__rrr�rr��sr�c@s,eZdZddd�dd�Zdd�Zdd�Zd	S)
�HaskKeyCrasherF�r�r�cCs||_||_dSrr�)r!r�r�rrrr��szHaskKeyCrasher.__init__cCstjdk	rtd��|t_dS)Nzcannot nest crashers)r�r�r`r:rrr�	__enter__�s
zHaskKeyCrasher.__enter__cGs
dt_dSr)r�r�)r!�excrrr�__exit__�szHaskKeyCrasher.__exit__N)r1r2r3r�r�r�rrrrr��sr�c@seZdZdS)r�Nr0rrrrr��sr�c@seZdZdS)r�Nr0rrrrr��sr�z!_testcapi lacks "hamt()" functionc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/S)0�HamtTestcCsntdd�}tdd�}|�||�|�t|�t|��t�}d||<d||<|�||d�|�||d�dS)Nryrrr$�b)r�rrr �dict)r!�k1�k2�drrr�test_hashkey_helper_1�s

zHamtTest.test_hashkey_helper_1cCst�}d}dSrr�r!�hrrr�test_hamt_basics_1�szHamtTest.test_hamt_basics_1cCsBt�}|�t|�d�|�dd�}|�||�|�t|�d�|�t|�d�|�|�d��|�|�dd�d�|�|�d�d�|�dd�}|�||�|�t|�d�|�t|�d�|�t|�d�|�|�d�d�|�|�d�d�|�|�d��|�|�d��|�|�d��|�|�d�d�d}}}dS)Nrr$r�rrZryrG)rrrSr+�assertIsNotrPr<)r!r��h2�h3rrr�test_hamt_basics_2�s*zHamtTest.test_hamt_basics_2cCs4t�}t�}|�d|�}|�d|�}|�||�dS)N�1)r�objectr+re)r!r��o�h1r�rrr�test_hamt_basics_3�s
zHamtTest.test_hamt_basics_3cCsft�}|�dg�}|�dg�}|�||�|�t|�d�|�t|�d�|�|�d�|�d��dS)N�keyr)rr+r�rrSr<)r!r�r�r�rrr�test_hamt_basics_4�szHamtTest.test_hamt_basics_4c	Cs�tdd�}tdd�}tdd�}t�}|�|d�}|�|d�}|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|d�}|�|d�}|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�|�|�d�|�t|�d	�|�t|�d
�|�t|�d�|�t|�d�|�t|�d�dS)
Nryrr�cccr$r�ZccrcrrrG�)r�rr+rr<rS)	r!r�r�Zk3r�r�r�Zh4Zh5rrr�test_hamt_collision_1�s8


zHamtTest.test_hamt_collision_1cCsltdd�}tdd�}tdd�}t�}|�|d�}|�|d�}|�|d�}|�dd�|��D�dddh�dS)Nl�C�Dr�EcSsh|]
}|j�qSr)r)�.0�krrr�	<setcomp>=sz1HamtTest.test_hamt_collision_3.<locals>.<setcomp>)r�rr+rrk)r!r�r�r�r�rrr�test_hamt_collision_3s


zHamtTest.test_hamt_collision_3cCs�d}d}d}d}d}t|�D�]�}t�}t�}t|�D]�}	t|	�}
|	|s�tdd��(|�t��|�|
|	�W5QRXW5QRX|�|
|	�}|	|s�tdd��*|�t��|�	t|	��W5QRXW5QRX|	||
<|�
t|�t|��|	|s6|�
t|���t|����|�
t|���t|����q6|�
t|�|�t|�D]}
|�
|�	t|
�d	�|
��qFt
t|��}t�|�t|�D�]*\}}	t|	�}
||�s�tdd��&|�t��|�|
�W5QRXW5QRX||�stdd��*|�t��|�t|	��W5QRXW5QRX|�|
�}|�
|�	|
d	�d	�||
=|�
t|�t|��||d
k�rl|}
|��}||�s�|�
t|���t|����|�
t|���t|�����q�|�
t|�d�|�
t|�d�|D] }
|�
|
�	t|
��||
��q�|�
t|�t|
��t|�D]�\}	}
|
�t|
��}
|�
|
�	t|
�d	�d	�|�t|
�d�|�
t|�t|��|	|�s|�
t|���t|����|�
t|���t|�����q|�
t|�d�|�
t|�d�|�
t
|���g�qdS)NiXi��arHr�T�r��r�z	not foundrGr)r�rr�r�r�rr�r+r�r<rrSrirhr��shuffle�	enumerate�deleter|rkr��poprj)r!ZCOLLECTION_SIZEZTEST_ITERS_EVERYZCRASH_HASH_EVERYZCRASH_EQ_EVERYZ
RUN_XTIMES�_r�r�r�r�Zkeys_to_deleteZiter_iZhmZdmrrr�test_hamt_stress?s� "


"

 
 zHamtTest.test_hamt_stressc	Csbtdd�}tdd�}tdd�}tdd�}td	d
�}tdd�}tdd
|d�}t�}|�|d�}|�|d�}|�|d�}|�|d�}|�|d�}t|�}	|�|�}|�t|�|	d�|�td��|�|�W5QRX|�|�}|�t|�|	d�|�|�}
|�|
|�|�|�}|�t|�|	d�|�|�	|d�d�|�|�	|�d�|�|�	|�d�dS)N�d�A�e�B�fr��gr��hr�����Z�Err�r$r�r"r��er�cannot comparerGr�rZ)
r�rr+rSr�rrrqrer<)r!r�r�r�r�r�r�r�r��orig_lenr�rrr�test_hamt_delete_1�s6





	



zHamtTest.test_hamt_delete_1c
	Cs�tdd�}tdd�}tdd�}tdd�}td	d
�}tdd�}tdd
|d�}t�}|�|d�}|�|d�}|�|d�}|�|d�}|�|d�}t|�}	|�td��|�|�W5QRX|�|�}|�t|�|	�|�|�}|�t|�|	d�|�|�}|�t|�|	d�|�|�}|�t|�|	d�|�|�|�d�|�|�|�d�|�|�}|�|�}|�|�}|�|�}|�t|�d�dS)Nr�r��)r�鉊r�r�r�r�r�r�r�r�r�r$r�r"r�r�r�rrGr�r)	r�rr+rSrrqr�rr<)
r!r�r�r�r�r�r�r�r�r�rrr�test_hamt_delete_2�s>













zHamtTest.test_hamt_delete_2cCs�tdd�}tdd�}tdd�}tdd�}tdd	�}t�}|�|d
�}|�|d�}|�|d�}|�|d
�}|�|d�}t|�}|�|�}|�t|�|d�|�|�}|�t|�|d�|�|�|�d�|�|�|�d�dS)Nr�r�r�r���r�r�r�r�r$r�r"r�r�rrG)r�rr+rSr�rr<�r!r�r�r�r�r�r�r�rrr�test_hamt_delete_3�s$






zHamtTest.test_hamt_delete_3cCstdd�}tdd�}tdd�}tdd�}tdd�}t�}|�|d	�}|�|d
�}|�|d�}|�|d�}|�|d
�}t|�}|�|�}|�t|�|d�|�|�}|�t|�|d�|�|�}|�t|�|d�|�|�}|�t|�|d�|�|�}|�t|�d�dS)Nr�r�r�r�r�r�r�r�r$r�r"r�r�rrGr��r)r�rr+rSr�rr�rrr�test_hamt_delete_4s,









zHamtTest.test_hamt_delete_4cCs"t�}g}td�D].}t|t|��}|�|�|�|d|���}qtdd�}|�|d�}|�t|�d�|�|d�}|�t|�d�|�|�}|�t|�d�|�|d�}|�t|�d�|�|d	�}|�t|�d
�|�|d	�}|�t|�d
�|D]}|�|�}q�|�t|�d�dS)N�zval-�Z18Z	collision�rG�r�r)	rr�r�r�r*r+rrSr�)r!r�rkr�r�Zcollision_key16rrr�test_hamt_delete_5Gs,


zHamtTest.test_hamt_delete_5c	
Cs�tdd�}tdd�}tdd�}tdd�}td	d
�}tdd�}t�}|�|d
�}|�|d�}|�|d�}|�|d�}|�|d�}|�|d�}|��}|�tt|��|d
f|df|df|df|df|dfh�dS)Nr�r�r�r�r�r�r�r�r�r��n�Fr$r�r"r�r�rJ�r�rr+rirrh�	r!r�r�r�r�r�r�r��itrrr�test_hamt_items_1xs$






&�zHamtTest.test_hamt_items_1c	
Cs�tdd�}tdd�}tdd�}tdd�}tdd�}td	d
�}t�}|�|d�}|�|d�}|�|d
�}|�|d�}|�|d�}|�|d�}|��}|�tt|��|df|df|d
f|df|df|dfh�dS�Nr�r�r�r�r�r�r�r�r�r�r$r�r"r�r�rJr�r�rrr�test_hamt_items_2�s$






&�zHamtTest.test_hamt_items_2c	Cs�tdd�}tdd�}tdd�}tdd�}tdd�}td	d
�}t�}|�|d�}|�|d�}|�|d
�}|�|d�}|�|d�}|�|d�}|�tt|����||||||h�|�tt|��||||||h�dSr�)r�rr+rrhrk)r!r�r�r�r�r�r�r�rrr�test_hamt_keys_1�s





$zHamtTest.test_hamt_keys_1cCs2t�}|�t|���d�|�t|���g�dS)Nr)rrrSrirhr�rrr�test_hamt_items_3�szHamtTest.test_hamt_items_3cCs�tdd�}tdd�}tdd�}tdd�}tdd	�}t�}|�|d
�}|�|d�}|�|d�}|�|d
�}t�}|�|d
�}|�||k�|�||k�|�|d�}|�||k�|�||k�|�|d�}|�||k�|�||k�|�|d�}|�||k�|�||k�|�|d
�}|�||k�|�||k�|�|d�}|�||k�|�||k�|�|�}|�||k�|�||k�|�|d
�}|�||k�|�||k�dS)Nr�r�r�r�r�r�r��xr�r$r�r"r�Zd2r�)r�rr+�assertFalse�
assertTruer�)r!r�r�r�r�r�r�r�rrr�test_hamt_eq_1�sF





zHamtTest.test_hamt_eq_1c	Cs�tdd�}tdd|d�}t�}|�|d�}t�}|�|d�}|�td��||kW5QRX|�td��||kW5QRXdS)Nr�r�r�r�r$r�)r�rr+rrq)r!r�r�r�r�rrr�test_hamt_eq_2�s
zHamtTest.test_hamt_eq_2cCs�tdd�}t�}|�dd�}t�|�}g}|�|�|�|�g}|�|�|�|�|�||�}~~~t��t��t��|�|��dS)Nr�r�r)	r�rr+�weakref�refr*�gc�collectrP)r!r�r�rr$r�rrr�test_hamt_gc_1�s 





zHamtTest.test_hamt_gc_1cCsxtdd�}tdd�}t�}|�|d�}|�||�}t�|�}|��}t|�~~t��t��t��|�	|��dS)Nr�r�r�r�r$)
r�rr+rrri�nextrrrP)r!r�r�r�r�hirrr�test_hamt_gc_2s


zHamtTest.test_hamt_gc_2c
Cs�tdd�}tdd�}tdd�}t�}|�|d�}|�||k�|�||k�|�t��$tdd��||kW5QRXW5QRX|�t��$tdd��||kW5QRXW5QRXdS�	Nr�r�r�r�rTr�r�)	r�rr+rrrr�r�r��r!r�ZAAr�r�rrr�test_hamt_in_1$s


zHamtTest.test_hamt_in_1c
Cs�tdd�}tdd�}tdd�}t�}|�|d�}|�||d�|�||d�|�t��||W5QRX|�t��$tdd��||W5QRXW5QRX|�t��$tdd��||W5QRXW5QRXdSr)	r�rr+rrrlr�r�r�r
rrr�test_hamt_getitem_18s


zHamtTest.test_hamt_getitem_1N)r1r2r3r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrrrrrrr��s.	%#Y-4$*1/r��__main__)�concurrent.futuresr�rrrr�r�ZunittestrZ	_testcapir�ImportErrorrZTestCaserr�r�r�r��	Exceptionr�r�ZskipIfr�r1�mainrrrr�<module>s:
	Z! 


F1le Man4ger