Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/test/__pycache__/test_dynamic.cpython-34.pyc

�
g f�@sddlZddlZddlZddlmZmZmZGdd�dej�Zdd�Z	e
dkr{e	�ndS)�N)�run_unittest�	swap_item�	swap_attrc@s�eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�RebindBuiltinsTestsz=Test all the ways that we can change/shadow globals/builtins.cGsdS)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�argsrr�6/opt/alt/python34/lib64/python3.4/test/test_dynamic.py�configure_funcs
z"RebindBuiltinsTests.configure_funcc
Csedd�}|j|�|j|�d�tt�ddd���|j|�d�WdQXdS)NcSstdddg�S)N���)�lenrrrr
�foosz=RebindBuiltinsTests.test_globals_shadow_builtins.<locals>.foorrcSsdS)N�r)�xrrr
�<lambda>$szBRebindBuiltinsTests.test_globals_shadow_builtins.<locals>.<lambda>r)r�assertEqualr�globals)rrrrr
�test_globals_shadow_builtinss

z0RebindBuiltinsTests.test_globals_shadow_builtinsc
Csbdd�}|j|�|j|�d�ttddd���|j|�d�WdQXdS)NcSstdddg�S)Nrr
r)rrrrr
r)sz5RebindBuiltinsTests.test_modify_builtins.<locals>.foorrcSsdS)Nrr)rrrr
r.sz:RebindBuiltinsTests.test_modify_builtins.<locals>.<lambda>r)rrr�builtins)rrrrr
�test_modify_builtins's

z(RebindBuiltinsTests.test_modify_builtinsc
Csqdd�}|j|�|�}|jt|�d�ttddd���|jt|�d�WdQXdS)Ncss&td�}t|�Vt|�VdS)Nr)�ranger)rrrr
r3szLRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.foorrcSsdS)Nrr)rrrr
r;szQRebindBuiltinsTests.test_modify_builtins_while_generator_active.<locals>.<lambda>r)rr�nextrr)rr�grrr
�+test_modify_builtins_while_generator_active1s
	z?RebindBuiltinsTests.test_modify_builtins_while_generator_activecCsgttdt��Odd�}dd�}|j|dd��|j||�dd	g�WdQXdS)
NrcSsdd�t_dS)NcSsdS)N�r)rrrr
rCszZRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.bar.<locals>.<lambda>)rrrrrr
�barBszHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.barcSsCg}|jttd���|�|jttd���|S)Nr)�appendrr)Zmodifier�lrrr
rEs
zHRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.foocSsdS)Nrrrrr
rKszMRebindBuiltinsTests.test_modify_builtins_from_leaf_function.<locals>.<lambda>rr)rrrrr)rrrrrr
�'test_modify_builtins_from_leaf_function>s
z;RebindBuiltinsTests.test_modify_builtins_from_leaf_functioncCs�dd�}|j|�idd�d6}i|d6|d6dd�d6}|jtd	|�d
�|jtd	i|d6�d
�dS)NcSstdddg�S)Nrr
r)rrrrr
rPszQRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.foocSsdS)Nrr)rrrr
rUszVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_eval.<locals>.<lambda>rr�__builtins__cSsdS)N�r)rrrr
rWszfoo()r)rr�eval)rr�
builtins_dict�globals_dictrrr
�0test_cannot_change_globals_or_builtins_with_evalOs
zDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_evalcCs�dd�}|j|�i|d6}td|�|j|dd�idd�d	6}i|d6|d
6dd�d	6}td|�|j|dd�dS)NcSstdddg�S)Nrr
r)rrrrr
r]szQRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.foorz	x = foo()rrcSsdS)Nrr)rrrr
rfszVRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_exec.<locals>.<lambda>rr"cSsdS)Nr#r)rrrr
rhs)r�execr)rrr&r%rrr
�0test_cannot_change_globals_or_builtins_with_exec\s



zDRebindBuiltinsTests.test_cannot_change_globals_or_builtins_with_execc
Cs{dd�}|j|�|�}|jt|�d�tt�didd�d6��|jt|�d�WdQXdS)Ncss&td�}t|�Vt|�VdS)Nr)rr)rrrr
rnszORebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.foorr"cSsdS)Nrr)rrrr
rvszTRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_active.<locals>.<lambda>r)rrrrr)rrrrrr
�.test_cannot_replace_builtins_dict_while_activems
	#zBRebindBuiltinsTests.test_cannot_replace_builtins_dict_while_activec
Csldd�}|j|�|j|�d�tt�didd�d6��|j|�d�WdQXdS)NcSstdddg�S)Nrr
r)rrrrr
rzszPRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.foorr"cSsdS)Nrr)rrrr
rszURebindBuiltinsTests.test_cannot_replace_builtins_dict_between_calls.<locals>.<lambda>r)rrrr)rrrrr
�/test_cannot_replace_builtins_dict_between_callsys

#zCRebindBuiltinsTests.test_cannot_replace_builtins_dict_between_callscCsFidd�d6}td|�}|j|�|j|�d�dS)NcSsdS)Nrr)rrrr
r�szKRebindBuiltinsTests.test_eval_gives_lambda_custom_globals.<locals>.<lambda>rzlambda: len([])r)r$rr)rr&rrrr
�%test_eval_gives_lambda_custom_globals�s
z9RebindBuiltinsTests.test_eval_gives_lambda_custom_globalsN)�__name__�
__module__�__qualname__�__doc__rrrrr!r'r)r*r+r,rrrr
r
s



	rcCstt�dS)N)rrrrrr
�	test_main�sr1�__main__)r�
contextlibZunittestZtest.supportrrrZTestCaserr1r-rrrr
�<module>s�