Uname:Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64

403WebShell
403Webshell
Server IP : 3.111.61.48  /  Your IP : 216.73.216.67
Web Server : Apache
System : Linux ip-10-0-5-176 6.8.0-1057-aws #60~22.04.1-Ubuntu SMP Wed May 27 08:16:59 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.2.31
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.10/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.10/test/__pycache__/test_peepholer.cpython-310.pyc
o

�9jO�@s^ddlZddlZddlmZdd�ZGdd�de�ZGdd�dej�Zed	kr-e�	�dSdS)
�N)�BytecodeTestCasecCs^d}t�|�D]}|j|kr|d7}qt|d�r|j}|jD]}t|d�r,|t||�7}q|S)Nr��__code__�co_code)�dis�get_instructions�opname�hasattrr�	co_consts�count_instr_recursively)�fr�count�instr�c�r�*/usr/lib/python3.10/test/test_peepholer.pyrs
�


�rc@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/d0�Zd1d2�Zd3d4�Zd5d6�Zd7S)8�
TestTranformsc
Cs�tt�|��}dd�|D�}|D]b}d|jvrq||j}|jdvr6|�|j�d|j�d|j�d|j���|jdvrT|jdkrT|�|j�d|j�d|j�d|j���d|jvrrd	|jvrr|�|j�d|j�d|j�d|j���qdS)
NcSsi|]}|j|�qSr)�offset��.0rrrr�
<dictcomp>sz4TestTranforms.check_jump_targets.<locals>.<dictcomp>�JUMP_)�
JUMP_ABSOLUTE�JUMP_FORWARDz at z
 jumps to �RETURN_VALUE�_OR_POP�JUMP_IF_)�listrrr�argval�failr)�self�code�instructions�targetsr�tgtrrr�check_jump_targetss6


��

������z TestTranforms.check_jump_targetscCs^t�|�}tt�|��}tdd�|D��}tdd�|D��}|�|d�|�|t|j	��dS)z0Check that the lnotab byte offsets are sensible.cs��|]}|dVqdS�rNr�r�trrr�	<genexpr>1��z-TestTranforms.check_lnotab.<locals>.<genexpr>csr&r'rr(rrrr*2r+rN)
r�_get_code_objectr�findlinestarts�min�max�assertGreaterEqual�
assertLess�lenr)r r!�lnotab�min_bytecode�max_bytecoderrr�check_lnotab+s
zTestTranforms.check_lnotabcCs:dd�}|�|d�|�|d�|�|d�|�|�dS)NcSs|dks~dSdS)N�r��xrrr�unot;s�z%TestTranforms.test_unot.<locals>.unot�	UNARY_NOT�POP_JUMP_IF_FALSE�POP_JUMP_IF_TRUE��assertNotInBytecode�assertInBytecoder6)r r:rrr�	test_unot9s
zTestTranforms.test_unotcCs8dD]\}}}t|dd�}|�|||�|�|�qdS)N))z
not a is b�IS_OPr)znot a is not brBr)z
not a in b�CONTAINS_OPr)znot a not in brCr��single)�compiler@r6)r �line�cmp_op�invertr!rrr�test_elim_inversion_of_is_or_inCs
�z-TestTranforms.test_elim_inversion_of_is_or_incCs�dd�}dd�}dd�}|df|df|dffD]\}}|�|d	�|�|d
|�|�|�qdd�}|�|d	�|�|d
d�|�|�dS)NcSsd}d}|S�Nrr8rrrrPsz0TestTranforms.test_global_as_constant.<locals>.fcS�d}|S)NTrr8rrr�gT�z0TestTranforms.test_global_as_constant.<locals>.gcSrL)NFrr8rrr�hWrNz0TestTranforms.test_global_as_constant.<locals>.hTF�LOAD_GLOBAL�
LOAD_CONSTcS�dS)z1Adding a docstring made this test fail in Py2.5.0Nrrrrrr`sr>)r rrMrO�func�elemrrr�test_global_as_constantNsz%TestTranforms.test_global_as_constantcCsBdd�}dD]}|�||�qdD]}|�||�q|�|�dS)NcSs		qrK)rrrrrrjs�z'TestTranforms.test_while_one.<locals>.f)rQr<)rr>)r rrTrrr�test_while_onehszTestTranforms.test_while_onecCsLdD]!\}}t|dd�}|�||�|�|d�|�|d�|�|�qdS)N))za, = a,rQ)za, b = a, b�ROT_TWO)za, b, c = a, b, c�	ROT_THREErDrE�BUILD_TUPLE�UNPACK_TUPLE�rFr@r?r6�r rGrTr!rrr�test_pack_unpackts�zTestTranforms.test_pack_unpackcCs�dD]\}}t|dd�}|�|d|�|�|d�|�|�qttttd���dd�}|�|d�dd�t�|�D�}|�	t
|�d	�|�|�d
d�}|�|�dS)N))z	a = 1,2,3�rr7�)z
("a","b","c")��a�br)z
a,b,c = 1,2,3r^)z(None, 1, None)�NrN)z((1, 2), 3, 4)��rr7r_�rDrErQrY�'cS�g|]	}|jdkr|�qS)rQ�rrrrr�
<listcomp>��
�zETestTranforms.test_folding_of_tuples_of_constants.<locals>.<listcomp>r7cSsgd�fdS)N)drrr7r_rf�����	rrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrr7r_rfrlrmrnrorprrrrr�crater��zATestTranforms.test_folding_of_tuples_of_constants.<locals>.crater)rFr@r?r6�repr�tuple�rangerr�assertEqualr2)r rGrTr!�load_constsrqrrr�#test_folding_of_tuples_of_constants�s

z1TestTranforms.test_folding_of_tuples_of_constantscCsBdD]\}}t|dd�}|�|d|�|�|d�|�|�qdS)N))za in [1,2,3]r^)za not in ["a","b","c"]r`)za in [None, 1, None]rc)za not in [(1, 2), 3, 4]rdrDrErQ�
BUILD_LISTr[r\rrr�"test_folding_of_lists_of_constants�s�z0TestTranforms.test_folding_of_lists_of_constantscCs�dthd��fdthd��fdtddh�fdthd��fd	thd��ffD]\}}t|d
d�}|�|d�|�|d
|�|�|�q%dd�}dd�}|�|d��|�|d��|�|�|�|d��|�|d��|�|�dS)Nza in {1,2,3}�rr7r_za not in {"a","b","c"}>rarbrza in {None, 1, None}rza not in {(1, 2), 3, 4}>rer_rfza in {1, 2, 3, 3, 2, 1}rDrE�	BUILD_SETrQcSs|dvS�Nr{r�rarrrr��z:TestTranforms.test_folding_of_sets_of_constants.<locals>.fcSs|dvSr}rr~rrrrM�rz:TestTranforms.test_folding_of_sets_of_constants.<locals>.gr_rf)�	frozensetrFr?r@r6�
assertTrue)r rGrTr!rrMrrr�!test_folding_of_sets_of_constants�s$�
z/TestTranforms.test_folding_of_sets_of_constantscCs,dD]'\}}t|dd�}|�|d|�t�|�D]}|�|j�d��q|�|�qtddd�}|�|dd�|�|dd�|�|�td	dd�}|�|dd
�|�dd
|j	�|�|�tddd�}|�|dd
�|�dd
>|j	�|�|�tddd�}|�|dd
�|�dd
|j	�|�|�dS)N))z	a = 2+3+4rp)z"@"*4z@@@@)za="abc" + "def"�abcdef)za = 3**4�Q)za = 3*4�)z	a = 13//4r_)za = 14%4r7)za = 2+3rl)za = 13-4rp)za = (12,13)[1]�
)za = 13 << 2�4)za = 13 >> 2r_)z
a = 13 & 7rl)z
a = 13 ^ 7�
)z
a = 13 | 7�rDrErQ�BINARY_za=2+"b"r7rbza="x"*10000rgr9z	a=1<<1000i�rz	a=2**1000)
rFr@rr�assertFalser�
startswithr6�assertNotInr
)r rGrTr!rrrr�#test_folding_of_binops_on_constants�s,


z1TestTranforms.test_folding_of_binops_on_constantscCs�tddd�}|�|dd�|�|d�|�|�tddd�}|�|dd�|�|d�|�|�td	dd�}|�|dd
�|�|d�|�|�tddd�}|�|d�|�|�dS)Nz"foo"[0]rDrErQr�
BINARY_SUBSCRu	"a￿"[1]u￿u	"𒍅"[0]u𒍅z	"fuu"[10]r[)r r!rrr�test_binary_subscr_on_unicode�s


z+TestTranforms.test_binary_subscr_on_unicodecCs�dD]'\}}t|dd�}|�|d|�t�|�D]}|�|j�d��q|�|�qdd�}t�|�D]}|�|j�d��q3|�|�dD]\}}}t|dd�}|�|d|�|�||�|�|�qFdS)	N))z-0.5g�)z-0.0��)z
-(1.0-1.0)r�)z-0r)z~-2r)z+1rrDrErQ�UNARY_cSrR)Nr�rrrrr�negzero&�zDTestTranforms.test_folding_of_unaryops_on_constants.<locals>.negzero))z-"abc"�abc�UNARY_NEGATIVE)z~"abc"r��UNARY_INVERT)rFr@rrr�rr�r6)r rGrTr!rr�rrrr�%test_folding_of_unaryops_on_constantss 
�z3TestTranforms.test_folding_of_unaryops_on_constantscCsHdd�}|�|dd�dd�t�|�D�}|�t|�d�|�|�dS)NcSs|SrKrr8rrrr9r�z/TestTranforms.test_elim_extra_return.<locals>.frQcSrh�rrirrrrrj<rkz8TestTranforms.test_elim_extra_return.<locals>.<listcomp>r)r?rrrvr2r6�r r�returnsrrr�test_elim_extra_return7s
z$TestTranforms.test_elim_extra_returncCs\dd�}|�|�|�|d�|�|d�dd�t�|�D�}|�t|�d�|�|�dS)NcSs|r|S|SrKr)�cond�
true_value�false_valuerrrrCs�z1TestTranforms.test_elim_jump_to_return.<locals>.frrcSrhr�rirrrrrjJrkz:TestTranforms.test_elim_jump_to_return.<locals>.<listcomp>r7)r%r?rrrvr2r6r�rrr�test_elim_jump_to_returnAs
z&TestTranforms.test_elim_jump_to_returncC� dd�}|�|�|�|�dS)NcSs$tr
tstrt�dSdSt�dSrK)rar�d�foo�bazrrrrrQs�
�
z6TestTranforms.test_elim_jump_to_uncond_jump.<locals>.f�r%r6�r rrrr�test_elim_jump_to_uncond_jumpOs
z+TestTranforms.test_elim_jump_to_uncond_jumpcCr�)NcSs|r
tstr	t�}|sdSdSrK)rr�r�r~rrrr^s��z7TestTranforms.test_elim_jump_to_uncond_jump2.<locals>.fr�r�rrr�test_elim_jump_to_uncond_jump2\s
z,TestTranforms.test_elim_jump_to_uncond_jump2cCs�dd�}|�|�|�|�|�t|d�d�dd�}|�|�|�|�|�t|d�d�dd�}|�|�|�|�|�|d�|�|d�|�|d�d	d�}|�|�|�|�|�|d�|�|d�|�|d
�dS)NcSs|o|o|SrKrr`rrrrj��z7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f�JUMP_IF_FALSE_OR_POPr7cSs|p|p|SrKrr`rrrrqr��JUMP_IF_TRUE_OR_POPcSs|r|p|SrKrr`rrrrxr�r<cSs|s|o|SrKrr`rrrr�r�r=)r%r6rvrr?r@r�rrr�test_elim_jump_to_uncond_jump3gs(







z,TestTranforms.test_elim_jump_to_uncond_jump3cCsRdd�}|�|d�|�|d�dd�t�|�D�}|�t|�d�|�|�dS)NcSs|rdS|rdS	dS)Nrr7r_r)�cond1�cond2rrrr�sz5TestTranforms.test_elim_jump_after_return1.<locals>.frrcSrhr�rirrrrrj�rkz>TestTranforms.test_elim_jump_after_return1.<locals>.<listcomp>rm)r?rr�assertLessEqualr2r6r�rrr�test_elim_jump_after_return1�s	z*TestTranforms.test_elim_jump_after_return1cCs"dd�}|�|d�|�|�dS)NcSsddd�}|S)N�returnr7cSsdSrKrrrrrrM�r�zBTestTranforms.test_make_function_doesnt_bail.<locals>.f.<locals>.g)r�r7r)rMrrrr�s
z7TestTranforms.test_make_function_doesnt_bail.<locals>.f�
BINARY_ADD)r?r6r�rrr�test_make_function_doesnt_bail�sz,TestTranforms.test_make_function_doesnt_bailcCsrgd�}|D]0}t|dd�}t�|�D]}|�|j�d��|�|j�d��|�|j�d��q|�|�qdS)N)	z3 * -5z-3 * 5z2 * (3 * 4)z(2 * 3) * 4z
(-1, 2, 3)z
(1, -2, 3)z
(1, 2, -3)z(1, 2, -3) * 6z:lambda x: x in {(3 * -5) + (-1 - 6), (1, -2, 3) * 2, None}rDrEr�r��BUILD_)rFrrr�rr�r6)r �exprs�er!rrrr�test_constant_folding�s�z#TestTranforms.test_constant_foldingcC�(dd�}|�t|d�d�|�|�dS)NcSstttfvSrK)r9rarbrrrr�containtest�sz7TestTranforms.test_in_literal_list.<locals>.containtestryr�rvrr6)r r�rrr�test_in_literal_list�sz"TestTranforms.test_in_literal_listcCr�)NcSsttfD]}qdSrK)rarbr8rrr�forloop�s�z8TestTranforms.test_iterate_literal_list.<locals>.forloopryrr�)r r�rrr�test_iterate_literal_list�sz'TestTranforms.test_iterate_literal_listcCs$dd�}|�|�d�|�|�dS)NcSs	dS)NTFrrrrrrr��z=TestTranforms.test_condition_with_binop_with_bools.<locals>.fr)rvr6r�rrr�$test_condition_with_binop_with_bools�sz2TestTranforms.test_condition_with_binop_with_boolscCs$dd�}|�|d��|�|�dS)NcSs|rdS	dS)NTFrr8rrrr�s�z3TestTranforms.test_if_with_if_expression.<locals>.fT)r�r6r�rrr�test_if_with_if_expression�sz(TestTranforms.test_if_with_if_expressioncCsdd�}|�|�dS)NcSs	dS)Nrr_rr8rrrr�r�z+TestTranforms.test_trailing_nops.<locals>.f)r6r�rrr�test_trailing_nops�sz TestTranforms.test_trailing_nopscCsldd�}|�t|d�d�dd�}|�t|d�d�dd�}|�t|d�d�d	d
�}|�t|d�d�dS)NcS�dd�tD�S)NcSsg|]}t|�}|�qSr�r�rr9�yrrrrj��z[TestTranforms.test_assignment_idiom_in_comprehensions.<locals>.listcomp.<locals>.<listcomp>r~rrrr�listcomp��zGTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.listcomp�FOR_ITERrcSr�)NcSsh|]}t|�}|�qSrr�r�rrr�	<setcomp>�r�zYTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.setcomp.<locals>.<setcomp>r~rrrr�setcomp�r�zFTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.setcompcSr�)NcSsi|]	}t|�}||�qSrr�r�rrrr�sz[TestTranforms.test_assignment_idiom_in_comprehensions.<locals>.dictcomp.<locals>.<dictcomp>r~rrrr�dictcomp�r�zGTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.dictcompcSr�)Ncss�|]	}t|�}|VqdSrKr�r�rrrr*�s�zYTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexpr.<locals>.<genexpr>r~rrrr�genexpr�r�zFTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexpr)rvr)r r�r�r�r�rrr�'test_assignment_idiom_in_comprehensions�sz5TestTranforms.test_assignment_idiom_in_comprehensionsN)�__name__�
__module__�__qualname__r%r6rArJrUrVr]rxrzr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrs8
(
,!

#	rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�TestBugletscCs>dd�}|�t��|�Wd�dS1swYdS)NcSsddh\}}||fS)Nrr)r9r�rrrr�sz%TestBuglets.test_bug_11510.<locals>.f)�assertRaises�
ValueErrorr�rrr�test_bug_11510�s"�zTestBuglets.test_bug_11510c	Cs,td�D]}zt�tp
tyYqwdS)Nr�)ru�	Exception)r �irrr�test_bpo_42057�s��zTestBuglets.test_bpo_42057cC�tddd�dS)Nzwhile True or spam: pass�<test>�exec�rF�r rrr�test_bpo_45773_pop_jump_if_truerrz+TestBuglets.test_bpo_45773_pop_jump_if_truecCr�)Nzwhile True or not spam: passr�r�r�r�rrr� test_bpo_45773_pop_jump_if_falserrz,TestBuglets.test_bpo_45773_pop_jump_if_falseN)r�r�r�r�r�r�r�rrrrr��s

r��__main__)
r�unittest�test.support.bytecode_helperrrr�TestCaser�r��mainrrrr�<module>s
a�

Youez - 2016 - github.com/yon3zu
LinuXploit