HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/__pycache__/test_dynamic.cpython-312.opt-1.pyc
�

h�e����ddlZddlZddlZddlmZmZGd�dej�ZGd�dej�Ze	dk(rej�yy)�N)�	swap_item�	swap_attrc�R�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�RebindBuiltinsTestsz=Test all the ways that we can change/shadow globals/builtins.c��y)a�Perform TestCase-specific configuration on a function before testing.

        By default, this does nothing. Example usage: spinning a function so
        that a JIT will optimize it. Subclasses should override this as needed.

        Args:
            func: function to configure.
            *args: any arguments that should be passed to func, if calling it.

        Returns:
            Nothing. Work will be performed on func in-place.
        N�)�self�func�argss   �8/opt/alt/python312/lib64/python3.12/test/test_dynamic.py�configure_funcz"RebindBuiltinsTests.configure_funcs��	
�c���d�}|j|�|j|�d�tt�dd��5|j|�d�ddd�y#1swYyxYw)Nc��tgd��S�N)�����lenrrr�fooz=RebindBuiltinsTests.test_globals_shadow_builtins.<locals>.foo����y�>�!rrrc��y�N�r��xs r�<lambda>zBRebindBuiltinsTests.test_globals_shadow_builtins.<locals>.<lambda>$��rr�r
�assertEqualr�globals�r	rs  r�test_globals_shadow_builtinsz0RebindBuiltinsTests.test_globals_shadow_builtinss\��	"����C� �������"�
�w�y�%��
5�	'����S�U�A�&�	'�	'�	'�s�A#�#A,c���d�}|j|�|j|�d�ttdd��5|j|�d�ddd�y#1swYyxYw)Nc��tgd��Srrrrrrz5RebindBuiltinsTests.test_modify_builtins.<locals>.foo)rrrrc��yrrrs rrz:RebindBuiltinsTests.test_modify_builtins.<locals>.<lambda>.rrr)r
r!r�builtinsr#s  r�test_modify_builtinsz(RebindBuiltinsTests.test_modify_builtins'sZ��	"����C� �������"�
�x���
4�	'����S�U�A�&�	'�	'�	'�s�A�A(c���d�}|j|�|�}|jt|�d�ttdd��5|jt|�d�ddd�y#1swYyxYw)Nc3�VK�td�}t|���t|���y�w�Nr��rangerrs rrzLRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.foo3�!�����a��A��a�&�L��a�&�L���')rrc��yrrrs rrzQRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.<lambda>;rrr)r
r!�nextrr(�r	r�gs   r�+test_modify_builtins_while_generator_activez?RebindBuiltinsTests.test_modify_builtins_while_generator_active1sg��	�	
���C� ��E������a��!�$�
�x���
4�	)����T�!�W�a�(�	)�	)�	)�s�	A.�.A7c��ttdt�5d�}d�}|j|d��|j	||�ddg�ddd�y#1swYyxYw)Nrc��d�t_y)Nc��y)N�rrs rrzZRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.bar.<locals>.<lambda>Crr)r(rrrr�barzHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.barBs	��*��rc��g}|jttd���|�|jttd���|Sr)�appendrr.)�modifier�ls  rrzHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.fooEs9��������U�1�X��'��
�����U�1�X��'��rc��y�NrrrrrzMRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.<lambda>Krrrr9)rr(rr
r!)r	r:rs   r�'test_modify_builtins_from_leaf_functionz;RebindBuiltinsTests.test_modify_builtins_from_leaf_function>sY���x���
,�	/�
+�
�
����\�2����S��X��1�v�.�	/�	/�	/�s�4A�Ac��d�}|j|�dd�i}||d�d�}|jtd|�d�|jtdd|i�d�y)	Nc��tgd��SrrrrrrzQRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.fooPrrrc��yrrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.<lambda>Urrc��y�N�rrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.<lambda>Wrr�r�__builtins__rzfoo()rr)r
r!�eval)r	r�
builtins_dict�globals_dicts    r�0test_cannot_change_globals_or_builtins_with_evalzDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_evalOsb��	"����C� ���,�
�"�M�*�,������g�|�4�a�8�����g��s�|�4�a�8rc���d�}|j|�d|i}td|�|j|dd�dd�i}||d�d	�}td|�|j|dd�y)
Nc��tgd��SrrrrrrzQRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.foo]rrrz	x = foo()rrrc��yrrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.<lambda>frrc��yrFrrs rrzVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.<lambda>hrrrH)r
�execr!)r	rrLrKs    r�0test_cannot_change_globals_or_builtins_with_execzDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec\sy��	"����C� ��s�|���[�,�'�����c�*�A�.���,�
�"�M�*�,��	
�[�,�'�����c�*�A�.rc��d�}|j|�|�}|jt|�d�tt	�ddd�i�5|jt|�d�ddd�y#1swYyxYw)Nc3�VK�td�}t|���t|���y�wr,r-rs rrzORebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.foonr/r0rrIrc��yrrrs rrzTRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.<lambda>vrr)r
r!r2rr"r3s   r�.test_cannot_replace_builtins_dict_while_activezBRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_activemsn��	�	
���C� ��E������a��!�$�
�w�y�.�5�+�2F�
G�	)����T�!�W�a�(�	)�	)�	)�s�A4�4A=c���d�}|j|�|j|�d�tt�ddd�i�5|j|�d�ddd�y#1swYyxYw)Nc��tgd��SrrrrrrzPRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.foozrrrrIrc��yrrrs rrzURebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.<lambda>rrr r#s  r�/test_cannot_replace_builtins_dict_between_callszCRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_callsysa��	"����C� �������"�
�w�y�.�5�+�2F�
G�	'����S�U�A�&�	'�	'�	'�s�A%�%A.c�v�dd�i}td|�}|j|�|j|�d�y)Nrc��yrrrs rrzKRebindBuiltinsTests.test_eval_gives_lambda_custom_globals.<locals>.<lambda>�rrzlambda: len([])r)rJr
r!)r	rLrs   r�%test_eval_gives_lambda_custom_globalsz9RebindBuiltinsTests.test_eval_gives_lambda_custom_globals�s9���{�+���$�l�3�����C� �������"rc��Gd�dt�}d}ddjd�t|�D��z}t||��}t	t|��}td�D]}|j|�|��y)Nc��eZdZd�Zy)�ZRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.MyGlobalsc�6�t|jd��S)N�_number_)�int�removeprefix)r	�keys  r�__missing__zfRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.MyGlobals.__missing__�s���3�+�+�J�7�8�8rN)�__name__�
__module__�__qualname__rgrrr�	MyGlobalsra�s��
9rrki�zlambda: �+c3�&K�|]	}d|�����y�w)rcNr)�.0�is  r�	<genexpr>zZRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg.<locals>.<genexpr>�s����$N��x��s�^�$N�s��)�dict�joinr.rJ�sumr!)r	rk�	variables�code�sum_func�expected�_s       r�3test_load_global_specialization_failure_keeps_opargzGRebindBuiltinsTests.test_load_global_specialization_failure_keeps_oparg�su��	9��	9�
�	��C�H�H�$N�U�9�=M�$N�N�N����i�k�*���u�Y�'�(���r��	3�A����X�Z��2�	3rN)rhrirj�__doc__r
r$r)r5rArMrSrWr[r^rzrrrrr
s<��G�

�'�'�)�/�"9�/�"
)�'�#�
3rrc��eZdZd�Zd�Zy)�TestTracingc��|jtjtj��tjd�yr@)�
addCleanup�sys�settrace�gettrace)r	s r�setUpzTestTracing.setUp�s&��������c�l�l�n�5����T�rc�2�����fd��d�G��fd�d���fd�}�fd�}�fd�}|||fD]]}|j|j�5td�D]	}|��d	�|�tjd�d�ddd��_y#1swY�jxYw)
Nc����Sr@r)�frame�event�arg�traces   �rr�z4TestTracing.test_after_specialization.<locals>.trace�s����LrFc� ��eZdZd�Z��fd�Zy)�0TestTracing.test_after_specialization.<locals>.Cc��||_yr@r)r	rs  r�__init__z9TestTracing.test_after_specialization.<locals>.C.__init__�s	����rc�6���rtj��yyr@)r�r�)r	r��
turn_on_traces ��r�__del__z8TestTracing.test_after_specialization.<locals>.C.__del__�s��� ��L�L��'�!rN)rhrirjr�r�)r�r�s��r�Cr��s
���
�
(rr�c�6���d�jtfy�Nr)rr�r�s�r�fz0TestTracing.test_after_specialization.<locals>.f�s���
�a�D�F�F�C�Krc�2��dg�d�jyr�rr�s�rr4z0TestTracing.test_after_specialization.<locals>.g�s���
�C��!����Krc�0��d�d�jzyr�rr�s�r�hz0TestTracing.test_after_specialization.<locals>.h�s���
��!����Jr�:T)�subTestrhr.r�r�)	r	r�r4r�r
ryr�r�r�s	      @@@r�test_after_specializationz%TestTracing.test_after_specialization�s����	��
�	(�	(�	�	�	���1�I�	&�D����d�m�m�,�
&��r���A��F�� $�
������T�"� %�
�

&�
&�	&�
&�
&�s�
8B
�
B	N)rhrirjr�r�rrrr}r}�s���!&rr}�__main__)r(r��unittest�test.supportrr�TestCaserr}rh�mainrrr�<module>r�sU���
��-�L3�(�+�+�L3�^'&�(�#�#�'&�T�z���H�M�M�O�r