Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_codeop.cpython-311.opt-1.pyc
�

�Ke�$���dZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
ddlZejrd�Z
Gd�dej��Zed	krej��dSdS)
z/
   Test cases for codeop.py
   Nick Mathewson
�N)�support)�warnings_helper)�compile_command�PyCF_DONT_IMPLY_DEDENTc�d�|���D]\}}t|d��rd||<�|S)N�__call__T)�items�hasattr)�d�n�vs   �:/usr/local/apps/python3/lib/python3.11/test/test_codeop.py�unify_callablesrs>���7�7�9�9�	�	�C�A�a��q�*�%�%�
���!�����c�V�eZdZdd�Zdd�Zdd�Zd�Zd�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
dS)�CodeopTests�singlec��tj�rt|d|��}|�|��|dkr{ii}}tj}t
j��t_	t||��tt|dd��|��|t_n?#|t_wxYw|dkr(ddi}dt||��i}dt||��i}|�t|��t|����dSt|d|t��}|�t|d|��|��dS)z(succeed iff str is a valid piece of code�<input>r�eval�a��valueN)r�	is_jythonr�
assertTrue�sys�stdout�io�StringIO�exec�compiler�assertEqualrr)	�self�str�symbol�coder�r�saved_stdout�ctx�expecteds	         r�assertValidzCodeopTests.assertValidsC����	P�"�3�	�6�:�:�D��O�O�D�!�!�!���!�!���!��"�z���[�]�]��
�.���q�M�M�M����Y�x�8�8�!�<�<�<�!-�C�J�J���C�J�-�-�-�-��6�!�!��A�h���t�D��~�~�/���t�C��}�}�.�����_�Q�/�/���0B�0B�C�C�C�C�C��s�I�v�7M�N�N�H����_�S�)�V�D�D�h�O�O�O�O�Os�(/B$�$B2c�P�|�t||���d��dS)z5succeed iff str is the start of a valid piece of code�r%N)r"r)r#r$r%s   r�assertIncompletezCodeopTests.assertIncomplete/s+�������V�<�<�<�d�C�C�C�C�Cr�c���	t||���|�d��dS#t$r|�|��YdSt$r|�|��YdSwxYw)z8succeed iff str is the start of an invalid piece of coder-z$No exception raised for invalid codeN)r�fail�SyntaxErrorr�
OverflowError)r#r$r%�	is_syntaxs    r�
assertInvalidzCodeopTests.assertInvalid3s���	+��C�v�.�.�.�.��I�I�<�=�=�=�=�=���	'�	'�	'��O�O�I�&�&�&�&�&�&��	+�	+�	+��O�O�	�M�*�*�*�*�*�*�	+���s�&*�A/�A/�.A/c	�|�|j}tjsq|�t	d��tdddt����|�t	d��tdddt����n|d��|d��|d��|d��|d��|d	��|d
��|d��|d��|d
��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|dd��|dd��|dd��|dd��|dd��|d d��|d!d��|d
��|d"��|d��|d#��|dd��|d d��|d!d��|d$��|d%��|d&��dS)'N��passrr�
�a = 1z
a = 1�a = 1
za = 1

z	

a = 1

zdef x():
  pass
zif 1:
 pass
z

if 1: pass
z

if 1: pass

zdef x():

 pass
zdef x():
  pass
  
zdef x():
  pass
 
zpass
z3**3
zif 9==3:
   pass
else:
   pass
z(if 1:
 pass
 if 1:
  pass
 else:
  pass
z#a
#b
a = 3
z#a

   
a=3
za=3

z
a = 9+ \
3z3**3rz(lambda z: 
 z**3)z9+ \
3z9+ \
3
z

a**3z
 
a**3z
#a
#b
a**3z

if 1: a=1

z
#a

   
a=3

z1def f():
 try: pass
 finally: [x for x in (1,2)]
zdef f():
 pass
#foo
z@a.b.c
def f():
 pass
)r+rrr"rr!r)r#�avs  r�
test_validzCodeopTests.test_valid=s��
�
��� �		����_�R�0�0�$�V�Y��%;�=�=�
>�
>�
>�
���_�T�2�2�$�V�Y��%;�=�=�
>�
>�
>�
>�
�B�r�F�F�F��B�t�H�H�H�
��7����
��9�
�
�
�
��9�
�
�
�
��;����
��?����
��� � � �
������
������
��� � � �
�� �!�!�!�
��#�$�$�$�
��"�#�#�#�
��8����
��8����
��0�1�1�1�
��;�<�<�<�
������
������
��9�
�
�
�
��>����
��6�&����
�� ��(�(�(�
��:�f����
��<�����
��:�f����
��;�v����
��>�&�!�!�!�
��?����
������
��;�<�<�<�
��� � � �
��:�f����
��;�v����
��>�&�!�!�!�
��A�B�B�B�
��$�%�%�%�
��&�'�'�'�'�'rc�	�|j}|d��|d��|d��|d��|d��|d��|d��|d��|d��|d	��|d
��|d��|d��|d
��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|dd��|dd��|dd��|d d��|d!d��|d"d��|d#��|d$��|d%��|d&��|d'��|d(��|d)��|d*��|d+��|d,��|d-��|d.��|d/��|d0��|d1��|d2��|d3��|d4��|d5��|d6��|d7��|d8��|d9��|d:��|d;��|d<��|d=��|d>��|d?��|d@��|dA��|dB��|dC��|dD��|dE��|dF��|dG��|dH��|dI��|dJ��|dK��|dL��|d��|dM��|dN��|dO��|d��|dP��|dQ��|dR��|dS��|dT��|dU��|dV��|dW��|dX��|dY��|dZ��|d[��|d\��|d]��|d^��|d_��|d`��|da��|db��|dc��|dd��|de��|df��dS)gNz(a **z(a,b,z(a,b,(za = (za = {zb + {zprint([1,
2,zprint({1:1,
2:3,zprint((1,
2,zif 9==3:
   pass
else:zif 9==3:
   pass
else:
zif 9==3:
   pass
else:
   passzif 1:zif 1:
z if 1:
 pass
 if 1:
  pass
 else:z!if 1:
 pass
 if 1:
  pass
 else:
z'if 1:
 pass
 if 1:
  pass
 else:
  passzdef x():z	def x():
z
def x():

zdef x():
  passzdef x():
  pass
 zdef x():
  pass
  z

def x():
  passza = 9+ \za = 'a\z	a = '''xyr7rr9�(z(9+z9+ \zlambda z: \z!if True:
 if True:
  if True:   
z@a(z@a(bz@a(b,z@a(b,cz@a(b,c,zfrom a import (zfrom a import (bzfrom a import (b,zfrom a import (b,czfrom a import (b,c,�[z[az[a,z[a,bz[a,b,�{z{az{a:z{a:bz{a:b,z{a:b,cz{a:b,c:z{a:b,c:dz	{a:b,c:d,za(za(bza(b,za(b,cza(b,c,za[za[bza[b,za[b:za[b:cza[b:c:za[b:c:dzdef a(zdef a(bzdef a(b,z	def a(b,cz
def a(b,c,z(az(a,z(a,bzif a:
 pass
elif b:zif a:
 pass
elif b:
 pass
else:zwhile a:zwhile a:
 pass
else:zfor a in b:zfor a in b:
 pass
else:ztry:ztry:
 pass
except:ztry:
 pass
finally:z!try:
 pass
except:
 pass
finally:zwith a:zwith a as b:zclass a:zclass a(z	class a(bz
class a(b,z
class a():z[x forz[x for x inz
[x for x in (z(x forz(x for x inz
(x for x in ()r.�r#�ais  r�test_incompletezCodeopTests.test_incompletes���
�
"��
��7����
��7����
��8����
��8����
��7����
��7����
��7����
��?����
������
��?����
��%�&�&�&�
��'�(�(�(�
��.�/�/�/�
��7����
��9�
�
�
�
��1�2�2�2�
��3�4�4�4�
��9�:�:�:�
��:����
��<����
��>����
������
�� �!�!�!�
��!�"�"�"�
��!�"�"�"�
��;����
��:����
��;����
��2�f�
�
�
�
��4�����
��3�v����
��5�����
��7�6����
��>�&�!�!�!�
��1�2�2�2�
��5�	�	�	�
��6�
�
�
�
��7����
��8����
��9�
�
�
�
������
������
������
��� � � �
�� �!�!�!�
��3����
��4����
��5�	�	�	�
��6�
�
�
�
��7����
��3����
��4����
��5�	�	�	�
��6�
�
�
�
��7����
��8����
��9�
�
�
�
��:����
��;����
��4����
��5�	�	�	�
��6�
�
�
�
��7����
��8����
��4����
��5�	�	�	�
��6�
�
�
�
��6�
�
�
�
��7����
��8����
��9�
�
�
�
��8����
��9�
�
�
�
��:����
��;����
��<����
��3����
��4����
��5�	�	�	�
��6�
�
�
�
��7����
��"�#�#�#�
��0�1�1�1�
��:����
��#�$�$�$�
��=����
��&�'�'�'�
��6�
�
�
�
��!�"�"�"�
��"�#�#�#�
��2�3�3�3�
��9�
�
�
�
��>����
��:����
��:����
��;����
��<����
��<����
��8����
��=����
��?����
��8����
��=����
��?�����rc�H�|j}|d��|d��|d��|d��|d��|d��|d��|d��|d	��|d
��|d��|dd
��|dd
��|dd
��|dd
��|dd
��|dd
��|dd
��|d��|d��|d��|d��|d��|d��|d��dS)Nza bza @za b @za ** @za = za = 9 +zdef x():

pass
z

 if 1: pass

passz	a = 9+ \
za = 'a\ za = 'a\
r:r�]z())z[}z9+z	lambda z:z
return 2.3zif (a == 1 and b = 2): passzdel 1zdel (1,)zdel [1]zdel '1'z"[i for i in range(10)] = (1, 2, 3)�r5rBs  r�test_invalidzCodeopTests.test_invalids���
�
��
��5�	�	�	�
��5�	�	�	�
��7����
��8����
��6�
�
�
�
��9�
�
�
�
��� � � �
��$�%�%�%�
��=����
��;����
��<����
��7�6����
��3�v����
��5�����
��4�����
��4�����
��;�v����
��5�����
��<����
��(�)�)�)�
��7����
��:����
��9�
�
�
�
��9�
�
�
�
��/�0�0�0�0�0rc��|j}|dd���|dd���|dd���|dd���|dd���|dd���dS)	Nz	raise = 4r r-zdef a-bzawait?z=!=za await raise bza await raise b?+1rGrBs  r�test_invalid_execzCodeopTests.test_invalid_exec's���
�
��
��;�v�&�&�&�&�
��9�V�$�$�$�$�
��8�F�#�#�#�#�
��5�� � � � �
���V�,�,�,�,�
����/�/�/�/�/�/rc��|�tdd��jtddd��j��|�tdd��jtddd��j��dS)Nr;�abcr�def)r"r�co_filenamer!�assertNotEqual)r#s r�
test_filenamezCodeopTests.test_filename0s��������E�:�:�F� ��E�8�<�<�H�	J�	J�	J����O�I�u�=�=�I�#�I�u�h�?�?�K�	M�	M�	M�	M�	Mrc��tjdtfdtf��5}t	d��|�t
|j��d��ddd��n#1swxYwYtj��5|�	t��5tjdt��t	dd���ddd��n#1swxYwYddd��n#1swxYwYtj��5|�	t��5tjdt��t	d	d���ddd��n#1swxYwYddd��dS#1swxYwYdS)
Nz	.*literalz	.*invalidz	'\e' is 0r�errorz1 is 1r r-z'\e')r�check_warnings�
SyntaxWarning�DeprecationWarningrr"�len�warnings�catch_warnings�assertRaisesr2�simplefilter�r#�ws  r�test_warningzCodeopTests.test_warning6s���
�
+��m�,��0�1���	1���L�)�)�)����S���_�_�a�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1��
$�
&�
&�	5�	5��(9�(9�+�(F�(F�	5�	5��!�'�=�9�9�9��H�V�4�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�
$�
&�
&�	4�	4��(9�(9�+�(F�(F�	4�	4��!�'�+=�>�>�>��G�F�3�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s}�8A(�(A,�/A,�C0�!,C�
C0�C	�C0� C	�!C0�0C4�7C4�E9�),E!�E9�!E%	�%E9�(E%	�)E9�9E=�E=c���tjd���5}tjd��|�d��ddd��n#1swxYwY|�|g��dS)NT��record�alwaysz'\e' + ()rWrXrZr.r"r[s  r�test_incomplete_warningz#CodeopTests.test_incomplete_warningIs���
�
$�D�
1�
1�
1�	/�Q��!�(�+�+�+��!�!�+�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	
����B�������*A�A�Ac���tjd���5}tjd��|�d��ddd��n#1swxYwY|�t|��d��|�|djt��|�t|dj
��d��|�|djd��dS)	NTr_raz'\e' 1r/rzinvalid escape sequencer)rWrXrZr5r"rV�categoryrU�assertRegexr$�message�filenamer[s  r�test_invalid_warningz CodeopTests.test_invalid_warningOs��
�
$�D�
1�
1�
1�	*�Q��!�(�+�+�+����y�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	
����Q����#�#�#�����1���(:�;�;�;�����Q�q�T�\�*�*�,E�F�F�F�����1���	�2�2�2�2�2rcN)r)rr/)�__name__�
__module__�__qualname__r+r.r5r=rDrHrJrPr]rbri�rrrrs�������P�P�P�P�.D�D�D�D�+�+�+�+�@(�@(�@(�DA�A�A�F#1�#1�#1�J0�0�0�M�M�M�4�4�4�& � � �3�3�3�3�3rr�__main__)�__doc__r�unittestrW�testr�test.supportr�codeoprrrrr�TestCaserrj�mainrmrr�<module>rvs������
�
�
���������������(�(�(�(�(�(�:�:�:�:�:�:�:�:�	�	�	�	�
������@3�@3�@3�@3�@3�(�#�@3�@3�@3�F
�z����H�M�O�O�O�O�O��r