Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.11/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.11/test/__pycache__/test_peepholer.cpython-311.pyc

�

SԚg�j����ddlZddlmZmZddlZddlZddlmZddlm	Z	d�Z
d�ZGd�de	��ZGd	�d
ej
��Zedkrej��dSdS)�N)�combinations�product)�support)�BytecodeTestCasec�p�tjd|�d���}i}t||��|djS)Nz=
        def f(x):
            match x:
                case z#:
                    pass
        �f)�textwrap�dedent�exec�__code__)�pattern�source�	namespaces   �0/usr/local/lib/python3.11/test/test_peepholer.py� compile_pattern_with_fast_localsr
sP��
�_�	��	�	�	���F��I��������S�>�"�"�c���d}tj|��D]}|j|kr|dz
}�t|d��r|j}|jD]%}t|d��r|t
||��z
}�&|S)Nr�r�co_code)�dis�get_instructions�opname�hasattrr�	co_consts�count_instr_recursively)rr�count�instr�cs     rrrs���
�E��%�a�(�(�����<�6�!�!��Q�J�E���q�*����
�J��
�[�8�8���1�i� � �	8��,�Q��7�7�7�E���Lrc�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zejd��d���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Ze j!d��d���Z"d�Z#d �Z$d!�Z%d"�Z&d#�Z'd$�Z(d%�Z)d&S)'�
TestTranformsc
�.�ttj|����}d�|D��}|D]�}d|jvr�||j}|jdvr4|�|j�d|j�d|j�d|j����|jdvr?|jdkr4|�|j�d|j�d|j�d|j����d|jvr=d|jvr4|�|j�d|j�d|j�d|j������dS)	Nc��i|]
}|j|��S�)�offset��.0rs  r�
<dictcomp>z4TestTranforms.check_jump_targets.<locals>.<dictcomp>)s��A�A�A�5�5�<��A�A�Ar�JUMP_)�
JUMP_ABSOLUTE�JUMP_FORWARDz at z
 jumps to �RETURN_VALUE�_OR_POP�JUMP_IF_)�listrrr�argval�failr$)�self�code�instructions�targetsr�tgts      r�check_jump_targetsz TestTranforms.check_jump_targets's����C�0��6�6�7�7��A�A�L�A�A�A��!�	D�	D�E��e�l�*�*���%�,�'�C��z�>�>�>��	�	�U�\�C�C�u�|�C�C�&)�j�C�C�69�j�C�C�D�D�D��� A�A�A��
�n�,�,��	�	�U�\�C�C�u�|�C�C�&)�j�C�C�69�j�C�C�D�D�D��E�L�(�(�Z�3�:�-E�-E��	�	�U�\�C�C�u�|�C�C�&)�j�C�C�69�j�C�C�D�D�D��	D�	Drc�P�tj|��}ttj|����}t	d�|D����}td�|D����}|�|d��|�|t|j	����dS)z0Check that the lnotab byte offsets are sensible.c3�&K�|]}|dV��
dS�rNr#�r&�ts  r�	<genexpr>z-TestTranforms.check_lnotab.<locals>.<genexpr>B�&����0�0�A�1�Q�4�0�0�0�0�0�0rc3�&K�|]}|dV��
dSr9r#r:s  rr<z-TestTranforms.check_lnotab.<locals>.<genexpr>Cr=rrN)
r�_get_code_objectr.�findlinestarts�min�max�assertGreaterEqual�
assertLess�lenr)r1r2�lnotab�min_bytecode�max_bytecodes     r�check_lnotabzTestTranforms.check_lnotab<s����#�D�)�)���c�(��.�.�/�/���0�0��0�0�0�0�0���0�0��0�0�0�0�0������a�0�0�0�����c�$�,�&7�&7�8�8�8�8�8rc���d�}|�|d��|�|d��|�|d��|�|d��|�|��dS)Nc��|dks~dSdS)N�r#��xs r�unotz%TestTranforms.test_unot.<locals>.unotLs����6�6��A�A��6r�	UNARY_NOT�POP_JUMP_FORWARD_IF_FALSE�POP_JUMP_BACKWARD_IF_FALSE�POP_JUMP_FORWARD_IF_TRUE��assertNotInBytecode�assertInBytecoderI)r1rOs  r�	test_unotzTestTranforms.test_unotJs���	�	�	�	
� � ��{�3�3�3�� � ��'B�C�C�C�� � ��'C�D�D�D����d�$>�?�?�?����$�����rc���dD]q\}}}|�|���5t|dd��}|�|||��|�|��ddd��n#1swxYwY�rdS)N))z
not a is b�IS_OPr)znot a is not brYr)z
not a in b�CONTAINS_OPr)znot a not in brZr��line��single)�subTest�compilerVrI)r1r\�cmp_op�invertr2s     r�test_elim_inversion_of_is_or_inz-TestTranforms.test_elim_inversion_of_is_or_inUs���%�		(�		(� �D�&�&����4��(�(�
(�
(��t�R��2�2���%�%�d�F�F�;�;�;��!�!�$�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��
		(�		(s�>A)�)A-	�0A-	c��d�}d�}d�}|df|df|dffD]u\}}|�|���5|�|d��|�|d|��|�|��ddd��n#1swxYwY�vd	�}|�|d��|�|dd��|�|��dS)
Nc��d}d}|S�Nr#rMs rrz0TestTranforms.test_global_as_constant.<locals>.fcs���A��A��Hrc�
�d}|S)NTr#rMs r�gz0TestTranforms.test_global_as_constant.<locals>.ggs���A��Hrc�
�d}|S)NFr#rMs r�hz0TestTranforms.test_global_as_constant.<locals>.hjs���A��HrTF)�func�LOAD_GLOBAL�
LOAD_CONSTc��dS)z1Adding a docstring made this test fail in Py2.5.0Nr#r#rrrz0TestTranforms.test_global_as_constant.<locals>.fts���4r)r_rUrVrI)r1rrhrjrk�elems      r�test_global_as_constantz%TestTranforms.test_global_as_constantas\��	�	�	�	�	�	�	�	�	��t�9�q�$�i�!�U��<�	(�	(�J�D�$����4��(�(�
(�
(��(�(��}�=�=�=��%�%�d�L�$�?�?�?��!�!�$�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��
	�	�	�	
� � ��M�2�2�2����a��t�4�4�4����!�����s�AA?�?B	�B	c��d�}dD]}|�||���dD]}|�||���|�|��dS)Nc��		�rf)r.r#rrrz'TestTranforms.test_while_one.<locals>.f~s��
��
r)rm�POP_JUMP_IF_FALSE)�
JUMP_BACKWARDrT)r1rros   r�test_while_onezTestTranforms.test_while_one|s}��	�	�	�8�	.�	.�D��$�$�Q��-�-�-�-�&�	+�	+�D��!�!�!�T�*�*�*�*����!�����rc�B�dD]�\}}|�|���5t|dd��}|�||��|�|d��|�|d��|�|��ddd��n#1swxYwY��dS)N))za, = a,rm)za, b = a, b�SWAP)za, b, c = a, b, crwr[r]r^�BUILD_TUPLE�UNPACK_SEQUENCE�r_r`rVrUrI�r1r\ror2s    r�test_pack_unpackzTestTranforms.test_pack_unpack�s����
	(�
	(�J�D�$�
���4��(�(�
(�
(��t�B�x�0�0���%�%�d�D�1�1�1��(�(��}�=�=�=��(�(��/@�A�A�A��!�!�$�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��
	(�
	(s�A)B�B	�B	c	��dD]�\}}|�|���5t|dd��}|�|d|��|�|d��|�|��ddd��n#1swxYwY��ttt
td������dd��}|�|d��d�tj	|��D��}|�
t|��d	��|�|��d
�}|�|��dS)N))z	a = 1,2,3�rrL�)z
("a","b","c")��a�br)z
a,b,c = 1,2,3r~)z(None, 1, None)�NrN)z((1, 2), 3, 4)��rrLr�r[r]r^rmrx�'c�(�g|]}|jdk�
|��S)rm�rr%s  r�
<listcomp>zETestTranforms.test_folding_of_tuples_of_constants.<locals>.<listcomp>�s.��?�?�?��!&���!=�!=��!=�!=�!=rrLc��gd�fdS)N)drrrLrr������	rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�rrrLrr�r�r�r�r�r�r#r#rr�craterzATestTranforms.test_folding_of_tuples_of_constants.<locals>.crater�s*������
�
�
�
r)r_r`rVrUrI�repr�tuple�rangerr�assertEqualrE)r1r\ror2�load_constsr�s      r�#test_folding_of_tuples_of_constantsz1TestTranforms.test_folding_of_tuples_of_constants�s����	(�	(�J�D�$����4��(�(�
(�
(��t�B�x�0�0���%�%�d�L�$�?�?�?��(�(��}�=�=�=��!�!�$�'�'�'�	
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(���t�E�%��,�,�/�/�0�0��H�=�=��� � ��}�5�5�5�?�?�#�*>�t�*D�*D�?�?�?������[�)�)�1�-�-�-����$����
	�	�	�	
���&�!�!�!�!�!��AA>�>B	�B	c��dD]�\}}|�|���5t|dd��}|�|d|��|�|d��|�|��ddd��n#1swxYwY��dS)N))za in [1,2,3]r~)za not in ["a","b","c"]r�)za in [None, 1, None]r�)za not in [(1, 2), 3, 4]r�r[r]r^rm�
BUILD_LISTrzr{s    r�"test_folding_of_lists_of_constantsz0TestTranforms.test_folding_of_lists_of_constants�s����	(�	(�J�D�$����4��(�(�
(�
(��t�R��2�2���%�%�d�L�$�?�?�?��(�(��|�<�<�<��!�!�$�'�'�'�	
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��	(�	(r�c	� �dthd���fdthd���fdtddh��fdthd���fd	thd���ffD]�\}}|�|�
��5t|dd��}|�|d
��|�|d|��|�|��ddd��n#1swxYwY��d�}d�}|�|d����|�|d����|�|��|�|d����|�|d����|�|��dS)Nza in {1,2,3}�rrLrza not in {"a","b","c"}>r�r�rza in {None, 1, None}rza not in {(1, 2), 3, 4}>r�rr�za in {1, 2, 3, 3, 2, 1}r[r]r^�	BUILD_SETrmc�
�|dvS�Nr�r#�r�s rrz:TestTranforms.test_folding_of_sets_of_constants.<locals>.f�s���	�>�!rc�
�|dvSr�r#r�s rrhz:TestTranforms.test_folding_of_sets_of_constants.<locals>.g�s
���I�%�%rrr�)�	frozensetr_r`rUrVrI�
assertTrue)r1r\ror2rrhs      r�!test_folding_of_sets_of_constantsz/TestTranforms.test_folding_of_sets_of_constants�s����Y�y�y�y�1�1�2�
%�y����'A�'A�B�
#�Y��4�y�%9�%9�:�
&�	�.�.�.�(A�(A�B�
&�	�)�)�)�(<�(<�=�
�	(�	(�J�D�$����4��(�(�
(�
(��t�R��2�2���(�(��{�;�;�;��%�%�d�L�$�?�?�?��!�!�$�'�'�'�	
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��	"�	"�	"�	&�	&�	&�	
�����!���������A�A�a�D�D��!�!�!����!�������A�A�a�D�D��!�!�!������!���������!�����s�8AC�C	�C	c�>�dD]�\}}|�|���5t|dd��}|�|d|��tj|��D]/}|�|j�d�����0|�|��ddd��n#1swxYwY��tddd��}|�|dd��|�|dd	��|�|��td
dd��}|�|dd��|�	ddz|j
��|�|��td
dd��}|�|dd��|�	ddz|j
��|�|��tddd��}|�|dd��|�	ddz|j
��|�|��dS)N))z	a = 2+3+4r�)z"@"*4z@@@@)za="abc" + "def"�abcdef)za = 3**4�Q)za = 3*4�)z	a = 13//4r)za = 14%4rL)za = 2+3r�)za = 13-4r�)za = (12,13)[1]�
)za = 13 << 2�4)za = 13 >> 2r)z
a = 13 & 7r�)z
a = 13 ^ 7�
)z
a = 13 | 7�r[r]r^rm�BINARY_za=2+"b"rLr�za="x"*10000r�rNz	a=1<<1000i�rz	a=2**1000)r_r`rVrr�assertFalser�
startswithrI�assertNotInr)r1r\ror2rs     r�#test_folding_of_binops_on_constantsz1TestTranforms.test_folding_of_binops_on_constants�sm���	(�	(�J�D�$�"���4��(�(�
(�
(��t�R��2�2���%�%�d�L�$�?�?�?� �1�$�7�7�I�I�E��$�$�U�\�%<�%<�Y�%G�%G�H�H�H�H��!�!�$�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(���y�"�h�/�/�����d�L�!�4�4�4����d�L�#�6�6�6����$�����}�b�(�3�3�����d�L�%�8�8�8�����U��D�N�3�3�3����$�����{�B��1�1�����d�L�$�7�7�7�����D��$�.�1�1�1����$�����{�B��1�1�����d�L�$�7�7�7�����D��$�.�1�1�1����$�����s�BB,�,B0	�3B0	c�p�tddd��}|�|dd��|�|d��|�|��tddd��}|�|dd��|�|d��|�|��td	dd��}|�|dd
��|�|d��|�|��tddd��}|�|d��|�|��dS)Nz"foo"[0]r]r^rmr�
BINARY_SUBSCRu	"a￿"[1]u￿u	"𒍅"[0]u𒍅z	"fuu"[10])r`rVrUrI)r1r2s  r�test_binary_subscr_on_unicodez+TestTranforms.test_binary_subscr_on_unicodesB���z�2�x�0�0�����d�L�#�6�6�6�� � ���7�7�7����$�����*�B��9�9�����d�L�(�;�;�;�� � ��o�6�6�6����$�����(�"�h�7�7�����d�L�,�?�?�?�� � ���7�7�7����$�����{�B��1�1�����d�O�4�4�4����$�����rc�@�dD]�\}}|�|���5t|dd��}|�|d|��tj|��D]/}|�|j�d�����0|�|��ddd��n#1swxYwY��d�}tj|��D]/}|�|j�d�����0|�|��dD]�\}}}|�|���5t|dd��}|�|d|��|�||��|�|��ddd��n#1swxYwY��dS)	N))z-0.5g�)z-0.0��)z
-(1.0-1.0)r�)z-0r)z~-2r)z+1rr[r]r^rm�UNARY_c��dS)Nr�r#r#rr�negzerozDTestTranforms.test_folding_of_unaryops_on_constants.<locals>.negzero@s���:r))z-"abc"�abc�UNARY_NEGATIVE)z~"abc"r��UNARY_INVERT)	r_r`rVrrr�rr�rI)r1r\ror2rr�rs       r�%test_folding_of_unaryops_on_constantsz3TestTranforms.test_folding_of_unaryops_on_constants/sL��
�
	(�
	(�J�D�$����4��(�(�
(�
(��t�R��2�2���%�%�d�L�$�?�?�?� �1�$�7�7�H�H�E��$�$�U�\�%<�%<�X�%F�%F�G�G�G�G��!�!�$�'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��	�	�	��)�'�2�2�	@�	@�E����U�\�4�4�X�>�>�?�?�?�?����'�"�"�"�#
�	(�	(��D�$�����4��(�(�
(�
(��t�R��2�2���%�%�d�L�$�?�?�?��%�%�d�F�3�3�3��!�!�$�'�'�'�	
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��		(�	(s%�BB,�,B0	�3B0	�2AF�F	�F	c���d�}|�|dd��d�tj|��D��}|�t	|��d��|�|��dS)Nc��|Srfr#rMs rrz/TestTranforms.test_elim_extra_return.<locals>.fTs���Hrrmc�(�g|]}|jdk�
|��S�r+r�r%s  rr�z8TestTranforms.test_elim_extra_return.<locals>.<listcomp>W�.��=�=�=�U�"�\�^�;�;��;�;�;rr)rUrrr�rErI�r1r�returnss   r�test_elim_extra_returnz$TestTranforms.test_elim_extra_returnRs���	�	�	�� � ��L�$�7�7�7�=�=�c�&:�1�&=�&=�=�=�=������W���q�)�)�)����!�����rzVFollowing gh-92228 the return has two predecessors and that prevents jump elimination.c�:�d�}|�|��|�|d��|�|d��d�tj|��D��}|�t|��d��|�|��dS)Nc��|r|n|Srfr#)�cond�
true_value�false_values   rrz1TestTranforms.test_elim_jump_to_return.<locals>.f`s��"&�%�J�J�$�
&rr*r)c�(�g|]}|jdk�
|��Sr�r�r%s  rr�z:TestTranforms.test_elim_jump_to_return.<locals>.<listcomp>gr�rrL)r6rUrrr�rErIr�s   r�test_elim_jump_to_returnz&TestTranforms.test_elim_jump_to_return\s���	&�	&�	&�	
����"�"�"�� � ��N�3�3�3�� � ��O�4�4�4�=�=�c�&:�1�&=�&=�=�=�=������W���q�)�)�)����!�����rc�`�d�}|�|��|�|��dS)Nc�p�tr tstrt��dSdSt	��dSrf)r�r�d�foo�bazr#rrrz6TestTranforms.test_elim_jump_to_uncond_jump.<locals>.fns@���
������E�E�E�E�E��������r�r6rI�r1rs  r�test_elim_jump_to_uncond_jumpz+TestTranforms.test_elim_jump_to_uncond_jumplsA��	�	�	�	
����"�"�"����!�����rc�`�d�}|�|��|�|��dS)Nc�J�|r tstrt��}|�dSdSrf)rr�r�r�s rrz7TestTranforms.test_elim_jump_to_uncond_jump2.<locals>.f{sA���
��������A�	�
�
�
�
�
rr�r�s  r�test_elim_jump_to_uncond_jump2z,TestTranforms.test_elim_jump_to_uncond_jump2ysA��	�	�	�	
����"�"�"����!�����rc��d�}|�|��|�|��|�t|d��d��d�}|�|��|�|��|�t|d��d��d�}|�|��|�|��|�|d��|�|d��|�|d��d�}|�|��|�|��|�|d��|�|d��|�|d	��dS)
Nc��|o|o|Srfr#r�s   rrz7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f�s���W�1���
r�JUMP_IF_FALSE_OR_POPrLc��|p|p|Srfr#r�s   rrz7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f�s���V�!���
r�JUMP_IF_TRUE_OR_POPc��|r|p|Srfr#r�s   rrz7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f�s���W�1���
rrQc��|s|o|Srfr#r�s   rrz7TestTranforms.test_elim_jump_to_uncond_jump3.<locals>.f�s���V�!���
rrS)r6rIr�rrUrVr�s  r�test_elim_jump_to_uncond_jump3z,TestTranforms.test_elim_jump_to_uncond_jump3�s���	�	�	�	
����"�"�"����!�������0��4J�K�K�Q�O�O�O�	�	�	�	
����"�"�"����!�������0��4I�J�J�A�N�N�N�	�	�	�	
����"�"�"����!����� � ��$:�;�;�;����a�!6�7�7�7����a�!<�=�=�=�	�	�	�	
����"�"�"����!����� � ��$9�:�:�:����a�!7�8�8�8����a�!;�<�<�<�<�<rc��d�}|�|d��|�|d��d�tj|��D��}|�t	|��d��|�|��dS)Nc��|rdS|rdS	dS)NrrLrr#)�cond1�cond2s  rrz5TestTranforms.test_elim_jump_after_return1.<locals>.f�s ����Q�Q���Q�Q�
��qrr*r)c�(�g|]}|jdk�
|��Sr�r�r%s  rr�z>TestTranforms.test_elim_jump_after_return1.<locals>.<listcomp>�r�rr�)rUrr�assertLessEqualrErIr�s   r�test_elim_jump_after_return1z*TestTranforms.test_elim_jump_after_return1�s���	�	�	�	
� � ��N�3�3�3�� � ��O�4�4�4�=�=�c�&:�1�&=�&=�=�=�=�����S��\�\�1�-�-�-����!�����rc�b�d�}|�|d��|�|��dS)Nc��dd�}|S)N�returnrLc��dSrfr#r#rrrhzBTestTranforms.test_make_function_doesnt_bail.<locals>.f.<locals>.g�s���r)r�rLr#)rhs rrz7TestTranforms.test_make_function_doesnt_bail.<locals>.f�s��
�
�
�
��Hr�	BINARY_OP)rUrIr�s  r�test_make_function_doesnt_bailz,TestTranforms.test_make_function_doesnt_bail�sC��	�	�	�	
� � ��K�0�0�0����!�����rc��gd�}|D]�}|�|���5t|dd��}tj|��D]�}|�|j�d����|�|j�d����|�|j�d������|�|��ddd��n#1swxYwY��dS)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})�er]r^r�r��BUILD_)r_r`rrr�rr�rI)r1�exprsr�r2rs     r�test_constant_foldingz#TestTranforms.test_constant_folding�sH��

�

�

���	(�	(�A������"�"�
(�
(��q�"�h�/�/�� �1�$�7�7�H�H�E��$�$�U�\�%<�%<�X�%F�%F�G�G�G��$�$�U�\�%<�%<�Y�%G�%G�H�H�H��$�$�U�\�%<�%<�X�%F�%F�G�G�G�G��!�!�$�'�'�'�

(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��	(�	(s�CC0�0C4	�7C4	c�~�d�}|�t|d��d��|�|��dS)Nc�,�tttfvSrf)rNr�r�r#rr�containtestz7TestTranforms.test_in_literal_list.<locals>.containtest�s����A��;�rr�r�r�rrI)r1r�s  r�test_in_literal_listz"TestTranforms.test_in_literal_list�sL��	�	�	����0��l�K�K�Q�O�O�O����+�&�&�&�&�&rc�~�d�}|�t|d��d��|�|��dS)Nc�(�ttfD]}�dSrf�r�r�rMs r�forloopz8TestTranforms.test_iterate_literal_list.<locals>.forloop�s"����V�
�
���
�
rr�rr�)r1r�s  r�test_iterate_literal_listz'TestTranforms.test_iterate_literal_list�sN��	�	�	�	
���0��,�G�G��K�K�K����'�"�"�"�"�"rc�r�d�}|�|��d��|�|��dS)Nc��	dS)NTFrr#r#rrrz=TestTranforms.test_condition_with_binop_with_bools.<locals>.f����
��qrr)r�rIr�s  r�$test_condition_with_binop_with_boolsz2TestTranforms.test_condition_with_binop_with_bools�sI��	�	�	�	
�������a� � � ����!�����rc�r�d�}|�|d����|�|��dS)Nc��|rnndSdS)NTFr#rMs rrz3TestTranforms.test_if_with_if_expression.<locals>.f�s���
�
�
��t��5rT)r�rIr�s  r�test_if_with_if_expressionz(TestTranforms.test_if_with_if_expression�sG��	�	�	�	
�����$��� � � ����!�����rc�6�d�}|�|��dS)Nc��	dS)Nrrr#rMs rrz+TestTranforms.test_trailing_nops.<locals>.f�r�r)rIr�s  r�test_trailing_nopsz TestTranforms.test_trailing_nops�s-��	�	�	�	
���!�����rc�>�d�}|�t|d��d��d�}|�t|d��d��d�}|�t|d��d��d�}|�t|d��d��dS)Nc�$�d�tD��S)Nc�0�g|]}t|��}|��Sr#�r�r&rN�ys   rr�z[TestTranforms.test_assignment_idiom_in_comprehensions.<locals>.listcomp.<locals>.<listcomp>�"��1�1�1�!�1�Q�4�4�Q�A�1�1�1rr�r#rr�listcompzGTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.listcomp���1�1�q�1�1�1�1r�FOR_ITERrc�$�d�tD��S)Nc�0�h|]}t|��}|��Sr#r
rs   r�	<setcomp>zYTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.setcomp.<locals>.<setcomp>r
rr�r#rr�setcompzFTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.setcomprrc�$�d�tD��S)Nc�2�i|]}t|��}||��Sr#r
rs   rr'z[TestTranforms.test_assignment_idiom_in_comprehensions.<locals>.dictcomp.<locals>.<dictcomp>	s$��4�4�4�Q�a��d�d��A�q�4�4�4rr�r#rr�dictcompzGTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.dictcomps��4�4�!�4�4�4�4rc�$�d�tD��S)Nc3�8K�|]}t|��}|V��dSrfr
rs   rr<zYTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexpr.<locals>.<genexpr>s,����1�1�!�1�Q�4�4�Q�A�1�1�1�1�1�1rr�r#rr�genexprzFTestTranforms.test_assignment_idiom_in_comprehensions.<locals>.genexprrr)r�r)r1rrrrs     r�'test_assignment_idiom_in_comprehensionsz5TestTranforms.test_assignment_idiom_in_comprehensionss���	2�	2�	2����0��:�F�F��J�J�J�	2�	2�	2����0��*�E�E�q�I�I�I�	5�	5�	5����0��:�F�F��J�J�J�	2�	2�	2����0��*�E�E�q�I�I�I�I�Ir�cpuc��d}gtdd���tdd���tdd���ttd��td��fd	���}gtd
d���d�d
�}|D]�\}}|D]�\}}tt|��dz��D]�}t	||��D]�}	dd�|	��z|z|z|z}
|�|
|���5|
|z}t|
�d�d|i��}|�||d|
����ddd��n#1swxYwY��������dS)Nz-+ #0)r]�1234uабвг�sra)��i.����duioxX)��|��EJ�@g�|��EJ���	duifegFEG�inf�fegFEG)r]�1�30)r]�.z.0z.2)r]�.40)r'r)r�%r])�fmt�valuez % (x,)rNzfmt = )	r�floatr�rEr�joinr_�evalr�)
r1�flags�	testcases�width_precsr,�suffix�width�prec�r�specr+�s1�s2s
             r�test_format_combinationsz&TestTranforms.test_format_combinationss����
�
�-�u�
5�
5�
�
�]�H�
-�
-�
��2�K�
@�
@�
��e�E�l�l�U�5�\�\�M�2�H�
=�
=�	
�	�
�
�_�&;�
<�
<�
��
�
�
��
'�	B�	B�M�E�6�*�
B�
B���t��s�5�z�z�A�~�.�.�B�B�A� ,�U�A� 6� 6�B�B��!�B�G�G�D�M�M�1�E�9�D�@�6�I��!�\�\�c��\�?�?�B�B�!$�u��B�!%��&7�&7�&7�#�u��!F�!F�B� �,�,�R��[��[�[�A�A�A�B�B�B�B�B�B�B�B�B�B�B����B�B�B�B��B�B�
B�	B�	Bs�15D2�2D6�9D6c���d�}|�|d��d��|�|dd��d��|�|dd��d��|�|dd��d��|�|d	d��d
��|�|dd��d��|�|d	d��d
��|�|dd��d��|�|dd��d��|�|dd��d��|�|ddd��d��dS)Nc	�(�d�tt|����D��}t|��dkrd|dzdz}ndd�|��zdz}t|�d|��t	t||������S)	Nc��g|]
}d|dz����S)rNrr#)r&�is  rr�zBTestTranforms.test_format_misc.<locals>.format.<locals>.<listcomp>)s"��:�:�:�!�I��!��I�I�:�:�:rr�(rz,)z, �)z % )r�rEr.r/�dict�zip)r+�values�vars�argss    r�formatz.TestTranforms.test_format_misc.<locals>.format(s���:�:�u�S��[�[�'9�'9�:�:�:�D��4�y�y�A�~�~��T�!�W�}�t�+����T�Y�Y�t�_�_�,�s�2���3�+�+�T�+�+�T�#�d�F�2C�2C�-D�-D�E�E�Er�stringzx = %s!r z	x = 1234!zx = %d!zx = %x!zx = 4d2!zx = %f!zx = 1234.000000!r"zx = 1234.5678901!zx = 1234.567890!z
x = %s%% %%%%zx = 1234% %%z%% %sz
x = %% %s!zx = %s, y = %dr��"zx = 12, y = 34)r�)r1rFs  r�test_format_misczTestTranforms.test_format_misc's���	F�	F�	F�	
������)�)�8�4�4�4������	�4�0�0�+�>�>�>������	�4�0�0�+�>�>�>������	�4�0�0�*�=�=�=������	�4�0�0�2D�E�E�E������	�<�8�8�:M�N�N�N������	�<�8�8�:L�M�M�M������	�<�8�8�+�F�F�F��������6�6��G�G�G������	�7�3�3�\�B�B�B������ 0�"�b�9�9�;K�L�L�L�L�Lrc��|�td��5td��ddd��n#1swxYwY|�td��5tdddd���ddd��n#1swxYwY|�td��5td	d
di��ddd��n#1swxYwY|�td��5tdd
di��ddd��n#1swxYwY|�td��5td
d
di��ddd��n#1swxYwY|�td��5tdd
di��ddd��n#1swxYwY|�td��5tdd
di��ddd��n#1swxYwY|�td��5tdd
di��ddd��n#1swxYwY|�td��5tdd
di��ddd��n#1swxYwY|�td��5tdd
di��ddd��n#1swxYwY|�td��5tddgd���ddd��n#1swxYwY|�td��5tddddgd���ddd��dS#1swxYwYdS)Nz&not enough arguments for format stringz	'%s' % ()z4not all arguments converted during string formattingz
'%s' % (x, y)rrL�rNrzincomplete formatz'%s%' % (x,)rNr z'%s%%%' % (x,)z
'%s%z' % (x,)zunsupported format characterz'%s%z' % (x, 5)z"a real number is required, not strz'%d' % (x,)rz!an integer is required, not floatz'%x' % (x,)g
ףp=J�@zan integer is required, not strzmust be real number, not strz'%f' % (x,)z'%s, %s' % (x, *y)r)�assertRaisesRegex�	TypeErrorr/�
ValueError�r1s r�test_format_errorsz TestTranforms.test_format_errors<s?��
�
#�
#�I�<�>�>�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
#�
#�I�J�L�L�	4�	4�����"2�"2�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4��
#�
#�J�0C�
D�
D�	.�	.���#�t��-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
#�
#�J�0C�
D�
D�	0�	0��!�C��;�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
#�
#�I�<�>�>�	/�	/���3��+�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/��
#�
#�J�0N�
O�
O�	1�	1��"�S�$�K�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�
�
#�
#�I�/S�
T�
T�	/�	/����f�
�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
#�
#�I�/R�
S�
S�	0�	0����g��/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
#�
#�I�/P�
Q�
Q�	/�	/����f�
�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
#�
#�I�/M�
N�
N�	/�	/����f�
�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
#�
#�I�<�>�>�	:�	:��%�Q�R�'8�'8�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:��
#�
#�I�J�L�L�	>�	>��%�Q�a��V�'<�'<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s��8�<�<�A>�>B�B�$C�C�
C�)D�D�D�.E
�
E�E�3F�F�F�8G�G�G�=H�H �#H �I!�!I%�(I%�J&�&J*�-J*�K,�,K0�3K0�L5�5L9�<L9c�8�d�}|�|d��dS)Nc��||}}||}}dSrfr#r�s  rrz5TestTranforms.test_static_swaps_unpack_two.<locals>.f\s���a�q�A��a�q�A�A�Arrw�rUr�s  r�test_static_swaps_unpack_twoz*TestTranforms.test_static_swaps_unpack_two[s/��	�	�	�	
� � ��F�+�+�+�+�+rc�8�d�}|�|d��dS)Nc�N�|||}}}|||}}}|||}}}|||}}}|||}}}|||}}}dSrfr#r�s   rrz7TestTranforms.test_static_swaps_unpack_three.<locals>.fbsT����A�!�q�A���A�!�q�A���A�!�q�A���A�!�q�A���A�!�q�A���A�!�q�A�A�ArrwrSr�s  r�test_static_swaps_unpack_threez,TestTranforms.test_static_swaps_unpack_threeas/��	�	�	�	
� � ��F�+�+�+�+�+rc���tddd��D]d\}}}d|�d|�d|�d�}|�|��5t|��}|�|d��ddd��n#1swxYwY�edS)	N�_a�_b�_cz{'a': z, 'b': z, 'c': �}rw)rr_rrU)r1r�r�rr
r2s      r�test_static_swaps_match_mappingz-TestTranforms.test_static_swaps_match_mappingks����t�T�4�0�0�	7�	7�G�A�q�!�9��9�9�!�9�9�A�9�9�9�G����g�&�&�
7�
7�7��@�@���(�(��v�6�6�6�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7�
7����
7�
7�
7�
7��	7�	7s�&A+�+A/	�2A/	c��gd�}tddd��D]t\}}}|D]k}|�|||��}|�|��5t|��}|�|d��ddd��n#1swxYwY�l�udS)N)z
C({}, {}, {})zC({}, {}, c={})zC({}, b={}, c={})zC(a={}, b={}, c={})rYrZr[rw)rrFr_rrU)r1�formsr�r�r�formr
r2s        r�test_static_swaps_match_classz+TestTranforms.test_static_swaps_match_classrs���
�
�
���t�T�4�0�0�	;�	;�G�A�q�!��
;�
;���+�+�a��A�.�.���\�\�'�*�*�;�;�;�G�D�D�D��,�,�T�6�:�:�:�;�;�;�;�;�;�;�;�;�;�;����;�;�;�;��
;�	;�	;s�&A>�>B�Bc�X�hd�}gd�}tddd��D]�\}}}|D]�}|�|||��}|�|��5t|��}||vr|�|d��n|�|d��ddd��n#1swxYwY����dS)N>�*_, b, c�a, *_, c�a, b, *_)z
{}, {}, {}z{}, {}, *{}z{}, *{}, {}z*{}, {}, {}rYrZr[rw)rrFr_rrVrU)	r1�swapsr_r�r�rr`r
r2s	         r� test_static_swaps_match_sequencez.TestTranforms.test_static_swaps_match_sequence�s��4�4�4��K�K�K���t�T�4�0�0�
	?�
	?�G�A�q�!��	
?�	
?���+�+�a��A�.�.���\�\�'�*�*�?�?�;�G�D�D�D��%�'�'��-�-�d�F�;�;�;�;��0�0��v�>�>�>�?�?�?�?�?�?�?�?�?�?�?����?�?�?�?��	
?�
	?�
	?s�AB�B!�$B!N)*�__name__�
__module__�__qualname__r6rIrWrcrprur|r�r�r�r�r�r�r��unittest�skipr�r�r�r�r�r�r�r�r�rrrrr�requires_resourcer:rIrPrTrWr]rargr#rrr r %sm������D�D�D�*	9�	9�	9�	 �	 �	 �
(�
(�
(����6
�
�
�(�(�(�'"�'"�'"�R(�(�(����>+ �+ �+ �Z � � �.!(�!(�!(�F����X�]�9�:�:���:�:�����	�	�	�!=�!=�!=�F���$���(�(�(�,'�'�'�#�#�#�������
�
�
�J�J�J��W��u�%�%�B�B�&�%�B�.M�M�M�*>�>�>�>,�,�,�,�,�,�7�7�7�;�;�;�
?�
?�
?�
?�
?rr c�&�eZdZd�Zd�Zd�Zd�ZdS)�TestBugletsc��d�}|�t��5|��ddd��dS#1swxYwYdS)Nc��ddh\}}||fS)Nrr#rKs  rrz%TestBuglets.test_bug_11510.<locals>.f�s���q�6�D�A�q��a�4�Kr)�assertRaisesrNr�s  r�test_bug_11510zTestBuglets.test_bug_11510�s���	�	�	��
�
�z�
*�
*�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�6�:�:c�f�td��D] }	t�#tpt$rY�wxYwdS)Nr�)r��	Exception)r1r>s  r�test_bpo_42057zTestBuglets.test_bpo_42057�sP���r���	�	�A�
�����)�	�
�
�
���
����	�	s��.�.c�(�tddd��dS)Nzwhile True or spam: pass�<test>r�r`rOs r�test_bpo_45773_pop_jump_if_truez+TestBuglets.test_bpo_45773_pop_jump_if_true�s���*�H�f�=�=�=�=�=rc�(�tddd��dS)Nzwhile True or not spam: passrxrryrOs r� test_bpo_45773_pop_jump_if_falsez,TestBuglets.test_bpo_45773_pop_jump_if_false�s���.��&�A�A�A�A�ArN)rhrirjrsrvrzr|r#rrroro�sU������������>�>�>�B�B�B�B�Brro�__main__)r�	itertoolsrrr	rk�testr�test.support.bytecode_helperrrrr �TestCaserorh�mainr#rr�<module>r�s	��
�
�
�
�+�+�+�+�+�+�+�+���������������9�9�9�9�9�9�#�#�#�
�
�
�h	?�h	?�h	?�h	?�h	?�$�h	?�h	?�h	?�VB�B�B�B�B�(�#�B�B�B�4�z����H�M�O�O�O�O�O��r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists