Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_scope.cpython-312.opt-2.pyc

�

'Μg�W���ddlZddlZddlmZmZddlmZGd�dej�Zedk(rej�yy)�N)�check_syntax_error�cpython_only)�
gc_collectc� �eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zed��Zd�Zed��Zd�Zd�Z d�Z!d�Z"d �Z#d!�Z$d"�Z%d#�Z&d$�Z'd%�Z(d&�Z)d'�Z*ed(��Z+d)�Z,y*)+�
ScopeTestsc��d�}|d�}|d�}|j|d�d�|j|d�d�y)Nc����fd�}|S)Nc����|zS�N���y�xs ��,/usr/local/lib/python3.12/test/test_scope.py�adderz?ScopeTests.testSimpleNesting.<locals>.make_adder.<locals>.adder
�����1�u��r�rrs` r�
make_adderz0ScopeTests.testSimpleNesting.<locals>.make_adders
���
��Lr��
�������assertEqual)�selfr�inc�plus10s    r�testSimpleNestingzScopeTests.testSimpleNesting
sC��	�
��m���B�������Q���#�������Q�'rc��d�}|d�}|d�}|j|d�d�|j|d�d�y)Nc����fd�}|�S)Nc����fd�}|S)Nc����|zSrrr
s �rrzNScopeTests.testExtraNesting.<locals>.make_adder2.<locals>.extra.<locals>.adder�����q�5�Lrr)rrs �r�extraz?ScopeTests.testExtraNesting.<locals>.make_adder2.<locals>.extras
���!��rr)rr&s` r�make_adder2z0ScopeTests.testExtraNesting.<locals>.make_adder2s���
��7�Nrrrrrrr)rr'rrs    r�testExtraNestingzScopeTests.testExtraNestingsC��	��!�n���R�������Q���#�������Q�'rc��d�}|d�}|d�}|j|d�d�|j|d�d�y)Nc����fd�}�dz�|S)Nc����|zSrrr
s �rrzEScopeTests.testSimpleAndRebinding.<locals>.make_adder3.<locals>.adder)rrrrrs` r�make_adder3z6ScopeTests.testSimpleAndRebinding.<locals>.make_adder3(s���
��A��A��Lrr�	rrrrr)rr,rrs    r�testSimpleAndRebindingz!ScopeTests.testSimpleAndRebinding&sC��	��!�n���Q�������Q���#�������Q�'rc����fd�}d�|�}|j|d�d�d�|j|d�d�y)Nc����fd�}|�S)Nc����fd�}|�S)Nc����fd�}|S)Nc����|zSrr�r�global_xs �rrzbScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest.<locals>.nest.<locals>.adder9s
���'�!�|�+rr)rr5s �r�nestzSScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest.<locals>.nest8s
���,� �Lrr�r6r5s �rr6zEScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest7s���!��v�
rrr7s �r�make_adder4z7ScopeTests.testNestingGlobalNoFree.<locals>.make_adder46s���
��6�Mrrrrrrr)rr8rr5s   @r�testNestingGlobalNoFreez"ScopeTests.testNestingGlobalNoFree4sC���	����
������q��1�%�������r��A�&rc��d�}|d�}|d�}|j|d�d�|j|d�d�y)Nc�*��G�fd�d�}|�S)Nc���eZdZ�fd�Zy)�FScopeTests.testNestingThroughClass.<locals>.make_adder5.<locals>.Adderc����|zSrr)rrrs  �r�__call__zOScopeTests.testNestingThroughClass.<locals>.make_adder5.<locals>.Adder.__call__Jr%rN)�__name__�
__module__�__qualname__r?�rs�r�Adderr=Is���!rrDr)rrDs` r�make_adder5z7ScopeTests.testNestingThroughClass.<locals>.make_adder5Hs���
!�
!��7�Nrrrrrrr)rrErrs    r�testNestingThroughClassz"ScopeTests.testNestingThroughClassFsC��	��!�n���R�������Q���#�������Q�'rc��d�}|d�}|d�}|j|d�d�|j|d�d�y)Nc��d�}|a|S)Nc��t|zSr��
global_nest_x�rs rrzMScopeTests.testNestingPlusFreeRefToGlobal.<locals>.make_adder6.<locals>.adderXs
��$�q�(�(rrJrs  r�make_adder6z>ScopeTests.testNestingPlusFreeRefToGlobal.<locals>.make_adder6Vs��
)��M��Lrrr�rrr)rrMrrs    r�testNestingPlusFreeRefToGlobalz)ScopeTests.testNestingPlusFreeRefToGlobalTsC��	��!�n���R�������Q���$�������Q�'rc�J�d�}|d�}|j|d�d�y)Nc��d�}|d�S)Nc���d��fd�}|S)N�*c����|zSrr)�zrs �r�hzEScopeTests.testNearestEnclosingScope.<locals>.f.<locals>.g.<locals>.hhr%rr)rrVrs  @r�gz:ScopeTests.testNearestEnclosingScope.<locals>.f.<locals>.gfs�����!��rrr�rrWs  r�fz/ScopeTests.testNearestEnclosingScope.<locals>.fes��
�
�Q�4�Krr��/r)rrY�	test_funcs   r�testNearestEnclosingScopez$ScopeTests.testNearestEnclosingScopecs&��	��b�E�	�����1��r�*rc�l��d���fd�}|ddd�}|ddd�}|j|�d�y)	Nc��|SrrrCs r�identityz9ScopeTests.testMixedFreevarsAndCellvars.<locals>.identityrs���Hrc��������fd�}|S)Nc�0����|�z}����fd�}|�z�|S)Nc� ������zz�Srr)�br`rrUs����rrVzHScopeTests.testMixedFreevarsAndCellvars.<locals>.f.<locals>.g.<locals>.hxs���$�A��Q��K�0�0rr)�ard�crVrr`rrUs `  @���rrWz=ScopeTests.testMixedFreevarsAndCellvars.<locals>.f.<locals>.gvs!�����E��1���E���rr)rrrUrWr`s` ` �rrYz2ScopeTests.testMixedFreevarsAndCellvars.<locals>.fus���
��Hrrr����'r)rrYrWrVr`s    @r�testMixedFreevarsAndCellvarsz'ScopeTests.testMixedFreevarsAndCellvarsps;���	�		�
�a��A�J��
�a��A�J�������b�!rc����d�}|�}|j|j�d�|j|j�d�|j|j�d�d�G�fd�d�}|�}|j|j�d�|j|j�d�|j|j�d�y)Nc�.��d�G�fd�d�}|�S)N�varc�*��eZdZd�Z�fd�Zd�Zd�Zy)�:ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Testc��y�N�methodr�rs r�method_and_varzIScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.method_and_var�s��#rc����Srr�rrus �r�testz?ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.test�s	���)�)rc��td�S�N�global��strrts r�
actual_globalzHScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.actual_global�s���x�=�(rc��t|�Srr|rts rr}z>ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.str�s���t�9�$rN�r@rArBrurxr~r}�rus�r�Testrp�s���$�*�)�%rr�r)r�rus @rrxz,ScopeTests.testFreeVarInMethod.<locals>.test�s���"�N�
%�
%��6�Mrrnrsr{c�*��eZdZd�Z�fd�Zd�Zd�Zy)�,ScopeTests.testFreeVarInMethod.<locals>.Testc��yrrrrts rruz;ScopeTests.testFreeVarInMethod.<locals>.Test.method_and_var�s��rc����Srrrws �rrxz1ScopeTests.testFreeVarInMethod.<locals>.Test.test�s	���%�%rc��td�Srzr|rts rr~z:ScopeTests.testFreeVarInMethod.<locals>.Test.actual_global�s���8�}�$rc��t|�Srr|rts rr}z0ScopeTests.testFreeVarInMethod.<locals>.Test.str�s���4�y� rNr�r�s�rr�r��s���
 �
&�
%�
!rr�)rrxrur~)rrx�tr�rus    @r�testFreeVarInMethodzScopeTests.testFreeVarInMethod�s����	�
�F���������5�)�����)�)�+�X�6�������*�H�5���		!�		!�
�F���������5�)�����)�)�+�X�6�������*�H�5rc�p�dd�d�}|j|d��d�|j|�d�y)N��rec�"���fd�}|�dzS)Nc����dzS)NrZrr�s�r�barz8ScopeTests.testCellIsKwonlyArg.<locals>.foo.<locals>.bar�rrrgr)rer�s` r�fooz+ScopeTests.testCellIsKwonlyArg.<locals>.foo�s���
��5�1�9�rrS�2�r)rr�s  r�testCellIsKwonlyArgzScopeTests.testCellIsKwonlyArg�s4���	�
	
����r��B�'�������#rc��d�}|�}d�}||�}|j\}|�}|j||�|j||�y)Nc�2��d��fd�}|j\}|S)NrSc����Srr��values�r�innerzCScopeTests.testCellIsArgAndEscapes.<locals>.external.<locals>.inner������r��__closure__�r��cellr�s  @r�externalz4ScopeTests.testCellIsArgAndEscapes.<locals>.external������E�
��%�%�E�D��Krc����fd�}|S)Nc����Srr)�args�r�eggsz>ScopeTests.testCellIsArgAndEscapes.<locals>.spam.<locals>.eggs������
rr)r�r�s` r�spamz0ScopeTests.testCellIsArgAndEscapes.<locals>.spam�s
���
��Kr�r��assertIs�assertIsNot�rr��cell_extr�r��cell_closure�	cell_eggss       r�testCellIsArgAndEscapesz"ScopeTests.testCellIsArgAndEscapes�sR��
	��:��	�
�H�~���(�(�
���F�	��
�
�i��*�����L�1rc��d�}|�}d�}||�}|j\}|�}|j||�|j||�y)Nc�2��d��fd�}|j\}|S)NrSc����Srrr�s�rr�zEScopeTests.testCellIsLocalAndEscapes.<locals>.external.<locals>.inner�r�rr�r�s  @rr�z6ScopeTests.testCellIsLocalAndEscapes.<locals>.external�r�rc���|��fd�}|S)Nc����Srr)r�s�rr�z@ScopeTests.testCellIsLocalAndEscapes.<locals>.spam.<locals>.eggs�s����rr)r�r�r�s  @rr�z2ScopeTests.testCellIsLocalAndEscapes.<locals>.spam�s����D�
��Krr�r�s       r�testCellIsLocalAndEscapesz$ScopeTests.testCellIsLocalAndEscapes�sR��
	��:��	��H�~���(�(�
���F�	��
�
�i��*�����L�1rc�:�d�}|j|d�d�y)Nc�>���fd��|dk\r�|�Std��)Nc�,��|dk(ry|�|dz
�zS�Nrrr)�n�facts �rr�z1ScopeTests.testRecursion.<locals>.f.<locals>.fact�s�����6���t�A��E�{�?�*rrzx must be >= 0)�
ValueError)rr�s @rrYz#ScopeTests.testRecursion.<locals>.f�s&���
+�
�A�v��A�w�� �!1�2�2rrii�r�rrYs  r�
testRecursionzScopeTests.testRecursion�s��		3�	
����1��s�#rc�d�t|d�t|d�t|d�t|d�y)Nz�if 1:
            def unoptimized_clash1(strip):
                def f(s):
                    from sys import *
                    return getrefcount(s) # ambiguity: free or local
                return f
            z�if 1:
            def unoptimized_clash2():
                from sys import *
                def f(s):
                    return getrefcount(s) # ambiguity: global or local
                return f
            z�if 1:
            def unoptimized_clash2():
                from sys import *
                def g():
                    def f(s):
                        return getrefcount(s) # ambiguity: global or local
                    return f
            z�if 1:
            def f():
                def g():
                    from sys import *
                    return getrefcount # global or local?
            )rrts r�testUnoptimizedNamespacesz$ScopeTests.testUnoptimizedNamespaces�sD���4�"�	�	�4�"�	�	�4�"�	�	�4�"�	rc��	�d�}|d�}|d�}|j|d�d�|j|d�d�d�}|d�}|d�}|j|d�d�|j|d�d��	fd�}d�	|d�}|j|d�d	�d
�}|ddd	�}|ddd�}|j|�d
�y)Nc����fd�S)Nc����|zSrrr
s �r�<lambda>z:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>s	����Q�rrrCs`rr�z(ScopeTests.testLambdas.<locals>.<lambda>s���rrrrrZ�c����fd��S)Nc����fd�S)Nc����|zSrrr
s �rr�zLScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>!s	���1�q�5rrrCs�rr�z:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>!s���rrrCs`rr�z(ScopeTests.testLambdas.<locals>.<lambda>!s	���0�3rc����fd�S)Nc����|zSrrr4s �rr�z:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>'s	����A�rr)rr5s �rr�z(ScopeTests.testLambdas.<locals>.<lambda>'s���-rrgc������fd�S)Nc�������fd�S)Nc������zzSrr)rdrrUs���rr�zLScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>,s
���a�1�q�5�krr)rerdrfrrUs ` ��rr�z:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>,s���-Arr)rrrUs ``rr�z(ScopeTests.testLambdas.<locals>.<lambda>,s���Arrhri�r)
r�f1rr�f2�f3�f8rWrVr5s
         @r�testLambdaszScopeTests.testLambdass����
&����e���B�������Q���#�������B�'�
3����e���B�������Q���#�������B�'�
-������h������Q���#�
A���q�!�Q�K��
�a��A�J�������b�!rc�h�d�}d�}|jt|�|jt|�y)Nc�*��t���fd�}d�y)Nc����SrrrLs�rr�z@ScopeTests.testUnboundLocal.<locals>.errorInOuter.<locals>.inner5�����rr��print�r�rs @r�errorInOuterz1ScopeTests.testUnboundLocal.<locals>.errorInOuter3s����!�H�
��Arc�"���fd�}|�d�y)Nc����SrrrLs�rr�z@ScopeTests.testUnboundLocal.<locals>.errorInInner.<locals>.inner:r�rrrr�s @r�errorInInnerz1ScopeTests.testUnboundLocal.<locals>.errorInInner9s���
��G��Ar��assertRaises�UnboundLocalError�	NameError�rr�r�s   r�testUnboundLocalzScopeTests.testUnboundLocal1s/��	�	�	
���+�\�:����)�\�2rc�h�d�}d�}|jt|�|jt|�y)Nc�,��d��t���fd�}y)Nrc����SrrrLs�rr�zIScopeTests.testUnboundLocal_AfterDel.<locals>.errorInOuter.<locals>.innerJr�rr�r�s @rr�z:ScopeTests.testUnboundLocal_AfterDel.<locals>.errorInOuterFs����A���!�H�
rc�$���fd�}d��|�y)Nc����SrrrLs�rr�zIScopeTests.testUnboundLocal_AfterDel.<locals>.errorInInner.<locals>.innerNr�rrrr�s @rr�z:ScopeTests.testUnboundLocal_AfterDel.<locals>.errorInInnerMs���
��A���Grr�r�s   r�testUnboundLocal_AfterDelz$ScopeTests.testUnboundLocal_AfterDelBs/��	�	�	
���+�\�:����)�\�2rc�4�tdd|ji�y)Naif 1:
            global_x = 1
            def f():
                global_x += 1
            try:
                f()
            except UnboundLocalError:
                pass
            else:
                fail('scope of global_x not correctly determined')
            �fail)�execr�rts r�testUnboundLocal_AugAssignz%ScopeTests.testUnboundLocal_AugAssignWs���
��$�)�)�$�
	&rc��d�}|j|ddd��d�d�}|j|d���d	d�y)
Nc����fd�}|S)Nc����Srr)�lsts�r�returnerzIScopeTests.testComplexDefinitions.<locals>.makeReturner.<locals>.returnerhr�rr)r�r�s` r�makeReturnerz7ScopeTests.testComplexDefinitions.<locals>.makeReturnergs
���
��Orrrrg)rrrgc����fd�}|S)Nc����Srr)�kwargss�rr�zJScopeTests.testComplexDefinitions.<locals>.makeReturner2.<locals>.returneros����
rr)r�r�s` r�
makeReturner2z8ScopeTests.testComplexDefinitions.<locals>.makeReturner2ns
���
��OrrNr�rer)rr�r�s   r�testComplexDefinitionsz!ScopeTests.testComplexDefinitionsesO��	�
	
���,��a��!�,�.��8�	�
	
���,���,�.�s�3�R�8rc��td�y)Na;if 1:
            # I
            x = 7
            def f():
                x = 1
                def g():
                    global x
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 7)
            self.assertEqual(x, 7)

            # II
            x = 7
            def f():
                x = 1
                def g():
                    x = 2
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 2)
            self.assertEqual(x, 7)

            # III
            x = 7
            def f():
                x = 1
                def g():
                    global x
                    x = 2
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 2)
            self.assertEqual(x, 2)

            # IV
            x = 7
            def f():
                x = 3
                def g():
                    global x
                    x = 2
                    def i():
                        def h():
                            return x
                        return h()
                    return i()
                return g()
            self.assertEqual(f(), 2)
            self.assertEqual(x, 2)

            # XXX what about global statements in class blocks?
            # do they affect methods?

            x = 12
            class Global:
                global x
                x = 13
                def set(self, val):
                    x = val
                def get(self):
                    return x

            g = Global()
            self.assertEqual(g.get(), 13)
            g.set(15)
            self.assertEqual(g.get(), 13)
            �r�rts r�testScopeOfGlobalStmtz ScopeTests.testScopeOfGlobalStmtus��	
�O�O	rc���G�fd�d���fd�}td�D]	}|��t�|j�jd�y)Nc�&��eZdZdZ�fd�Z�fd�Zy)�!ScopeTests.testLeaks.<locals>.Foorc�0���xjdz
c_y�Nr��count�r�Foos �r�__init__z*ScopeTests.testLeaks.<locals>.Foo.__init__������	�	�Q��	rc�0���xjdzc_yrrrs �r�__del__z)ScopeTests.testLeaks.<locals>.Foo.__del__�rrN)r@rArBrrr	)rs�rrr��s����E�
�
rrc�.�������fd�}|�y)Nc����SrrrCs�rr�z,ScopeTests.testLeaks.<locals>.f1.<locals>.f2�r�rr)r�rrs @�rr�z ScopeTests.testLeaks.<locals>.f1�s�����A�
��Dr�dr)�rangerrr)rr��irs   @r�	testLeakszScopeTests.testLeaks�sB���	�	�	��s��A��D��	��������A�&rc��td�y)Na�if 1:
            def test(x):
                class Foo:
                    global x
                    def __call__(self, y):
                        return x + y
                return Foo()

            x = 0
            self.assertEqual(test(6)(2), 8)
            x = -1
            self.assertEqual(test(3)(2), 5)

            looked_up_by_load_name = False
            class X:
                # Implicit globals inside classes are be looked up by LOAD_NAME, not
                # LOAD_GLOBAL.
                locals()['looked_up_by_load_name'] = True
                passed = looked_up_by_load_name

            self.assertTrue(X.passed)
            r�rts r�testClassAndGlobalzScopeTests.testClassAndGlobal�s����	rc�|�d�}|d�d�}|jd|�|d=|j|dddd��y)Nc����fd�}|S)Nc�8����fd�}��z}�dz
�t�S)Nc����|zSrr)rUrs �rrVz>ScopeTests.testLocalsFunction.<locals>.f.<locals>.g.<locals>.h�r%rrg)�locals)rrV�wrs`  �rrWz3ScopeTests.testLocalsFunction.<locals>.f.<locals>.g�s!���!���E���Q����x�rrrXs` rrYz(ScopeTests.testLocalsFunction.<locals>.f�s���
 ��HrrrhrV�ri)rrr)�assertInr)rrY�ds   r�testLocalsFunctionzScopeTests.testLocalsFunction�sD��	�
�A�a�D��G���
�
�c�1��
�c�F�����!�!�!�4�5rc��d�}|j|d�jd�d�}|d�j}|jd|�|j	d|�y)Nc� ��G�fd�d�}|S)Nc�*��eZdZdZ�fd�Ze�y)�0ScopeTests.testLocalsClass.<locals>.f.<locals>.C�c����Srr�rrs �r�mz2ScopeTests.testLocalsClass.<locals>.f.<locals>.C.m�����HrN)r@rArBrr#rrCs�r�Crs�������rr%r�rr%s` rrYz%ScopeTests.testLocalsClass.<locals>.fs���
�
�
�Hrrr c� ��G�fd�d�}|S)Nc�8��eZdZW�Z�fd�Zee��Zy)rc����Srrr"s �rr#z2ScopeTests.testLocalsClass.<locals>.f.<locals>.C.m!r$rN)r@rArBrr#�listrrUrCs�rr%z0ScopeTests.testLocalsClass.<locals>.f.<locals>.Cs���������N�rr%rr&s` rrYz%ScopeTests.testLocalsClass.<locals>.fs���
#�
#�
�Hrrr)rrrU�assertNotInr)rrY�varnamess   r�testLocalsClasszScopeTests.testLocalsClass	sS��	�	
����1�����$�	��Q�4�6�6������h�'��
�
�c�8�$rc����ddl}|j|j|j��|jd��d�G�fd�d�}|j	�d�y)Nrc��yrr)rerdrfs   rr�z6ScopeTests.testLocalsClass_WithTrace.<locals>.<lambda>2s��$rr c���eZdZ�fd�Zy)�/ScopeTests.testLocalsClass_WithTrace.<locals>.Cc����Srrr"s �rrYz1ScopeTests.testLocalsClass_WithTrace.<locals>.C.f6r�rN)r@rArBrYrCs�rr%r15s���
rr%)�sys�
addCleanup�settrace�gettracer)rr3r%rs   @r�testLocalsClass_WithTracez$ScopeTests.testLocalsClass_WithTrace*sN���	�������c�l�l�n�5����&�'���	�	�	
����B�rc�x�d�}|d��}|j|j|j��y)Nc� ��G�fd�d�}|S)Nc���eZdZ�fd�ZW�Zy)�1ScopeTests.testBoundAndFree.<locals>.f.<locals>.Cc����Srrr"s �rr#z3ScopeTests.testBoundAndFree.<locals>.f.<locals>.C.m@r$rN)r@rArBr#rerCs�rr%r;?s
�����rr%rr&s` rrYz&ScopeTests.testBoundAndFree.<locals>.f>s���
�
��Hrrg)rrer#)rrY�insts   r�testBoundAndFreezScopeTests.testBoundAndFree;s0��	��q��t�v������������*rc���ddl}�fd��d�}Gd�d�}|j|j|j��|j��|d|d�|jd�|j	t
|j�y)Nrc����Srr)rerdrf�tracers   �rrAz7ScopeTests.testInteractionWithTraceFunc.<locals>.tracerLs����Mrc�R��|\}�|dk(r�dk(rd|j�d|����fd�Sy)Nr��_�__c���t|��Sr)�getattr)�obj�dess �rr�zNScopeTests.testInteractionWithTraceFunc.<locals>.adaptgetter.<locals>.<lambda>Ts���7�3��#4r)r@)�name�klass�getter�kindrIs    @r�adaptgetterz<ScopeTests.testInteractionWithTraceFunc.<locals>.adaptgetterOs3����I�D�#��q�y��"�9�',�~�~�t�<�C�4�4�rc��eZdZy)�:ScopeTests.testInteractionWithTraceFunc.<locals>.TestClassN)r@rArBrrr�	TestClassrPVs��rrQr�)rrC)r3r4r5r6r��	TypeError)rr3rNrQrAs    @r�testInteractionWithTraceFuncz'ScopeTests.testInteractionWithTraceFuncHsn���	�	�	5�	�	�	
������c�l�l�n�5����V���E�9�g�.����T�����)�S�\�\�2rc���d�}|d�}|jtt|j�	t	|ji�|jd�y#t$rYywxYw)Nc����fd�S)Nc����dzSrrrCs�rr�z<ScopeTests.testEvalExecFreeVars.<locals>.f.<locals>.<lambda>cs	���1�q�5rrrCs`rrYz*ScopeTests.testEvalExecFreeVars.<locals>.fbs	��� � rrgz9exec should have failed, because code contained free vars)r�rR�eval�__code__r�r��rrYrWs   r�testEvalExecFreeVarszScopeTests.testEvalExecFreeVars`s_��	!�
�a�D�����)�T�1�:�:�6�	S�����R� �
�I�I�Q�R���	��	�s�A�	A&�%A&c��	tt�td�d�}|�	tt�y#t$rY�&wxYw#t$rYywxYw)Nzbad should not be definedc�^�dD��cgc]}|j�D]}|���c}}ycc}}w)Nza b)�split)�s�bads  rrz+ScopeTests.testListCompLocalVars.<locals>.xxs%���5�%�Q�1�7�7�9�C�S�9�S�%�5��5s�))r�r_r�r"s  r�testListCompLocalVarsz ScopeTests.testListCompLocalVarsosX��	/��#�J�
�-�.�	6�	
��	��#�J���	��	���	��	�s �7�A�	A�A�	A�Ac�$�d�}|d��y)Nc����fd�}|S)Nc� ���td�y)Nzx + 1)rWrCs�rrWz1ScopeTests.testEvalFreeVars.<locals>.f.<locals>.g�s
�����W�
rrrXs` rrYz&ScopeTests.testEvalFreeVars.<locals>.f�s���
��Hrrhrr�s  r�testEvalFreeVarszScopeTests.testEvalFreeVars�s��	�	
��!��rc��Gd�d�}y)Nc��eZdZd�Zy)�+ScopeTests.testFreeingCell.<locals>.Specialc��t�yr)�nestedcell_getrts rr	z3ScopeTests.testFreeingCell.<locals>.Special.__del__�s��� rN)r@rArBr	rrr�Specialrg�s��
!rrjr)rrjs  r�testFreeingCellzScopeTests.testFreeingCell�s��	!�	!rc���d�}|d�\}}|j|�d�|j|�d�|j|�d�|j|�d�y)Nc� ���fd�}�fd�}||fS)Nc����dz
��SrrrCs�rrz7ScopeTests.testNonLocalFunction.<locals>.f.<locals>.inc������Q����rc����dz��SrrrCs�r�decz7ScopeTests.testNonLocalFunction.<locals>.f.<locals>.dec�rorr)rrrqs`  rrYz*ScopeTests.testNonLocalFunction.<locals>.f�s���
�
���8�Orrrrr)rrYrrqs    r�testNonLocalFunctionzScopeTests.testNonLocalFunction�s^��		��Q�4���S�������"�������"�������"�������"rc��d�}|d�}|j|j�d�|j|j�d�|j|j�d�|j|j�d�y)Nc�*��G�fd�d�}|�S)Nc�"��eZdZ�fd�Z�fd�Zy)�3ScopeTests.testNonLocalMethod.<locals>.f.<locals>.cc����dz
��Srrr"s �rrz7ScopeTests.testNonLocalMethod.<locals>.f.<locals>.c.inc�������F�A��Hrc����dz��Srrr"s �rrqz7ScopeTests.testNonLocalMethod.<locals>.f.<locals>.c.dec�rxrN)r@rArBrrqrCs�rrfrv�s
����rrfr�rrfs` rrYz(ScopeTests.testNonLocalMethod.<locals>.f�s���
�
��3�Jrrrr)rrrq�rrYrfs   r�testNonLocalMethodzScopeTests.testNonLocalMethod�sj��
	�
�a�D���������!�$��������!�$��������!�$��������!�$rc�z�i}i}td||�|jd|d�|jd|d�y)NaCif 1:
            def f():
                y = 1
                def g():
                    global y
                    return y
                def h():
                    return y + 1
                return g, h
            y = 9
            g, h = f()
            result9 = g()
            result2 = h()
            r�result2r-�result9)r�r)r�local_ns�	global_nss   r�#testGlobalInParallelNestedFunctionsz.ScopeTests.testGlobalInParallelNestedFunctions�sN��
���	��
��9�
	&�	
����I�i�0�1�����I�i�0�1rc��d�}|d�}|j|j�d�|jd|jj�y)Nc�*��G�fd�d�}|�S)Nc�$��eZdZW�dz
��fd�Zy)�2ScopeTests.testNonLocalClass.<locals>.f.<locals>.crc����Srrr"s �r�getz6ScopeTests.testNonLocalClass.<locals>.f.<locals>.c.get�r$rN)r@rArBr�rCs�rrfr��s����Q���rrfrrzs` rrYz'ScopeTests.testNonLocalClass.<locals>.f�s���
�
�
�3�Jrrrr)rr�r+�	__class__�__dict__r{s   r�testNonLocalClasszScopeTests.testNonLocalClass�sB��	�
�a�D���������!�$�����a�k�k�2�2�3rc�`�d�}|d�}|jt|d��gd��y)Nc����fd�}|S)Nc3�@�K�t|�D]}�dz
�����
y�wr)r
)rrrs  �rrWz6ScopeTests.testNonLocalGenerator.<locals>.f.<locals>.g�s#������q��A���F�A��G�"�s�rrXs` rrYz+ScopeTests.testNonLocalGenerator.<locals>.f�s���
�
�HrrrZ)rrrgrhrZ)rr*rYs   r�testNonLocalGeneratorz ScopeTests.testNonLocalGenerator�s*��	�
�a�D������a��d��_�5rc�V�d�}|d�}|�}|j|�d�y)Nc����fd�}|S)Nc����dz��fd�}|S)Nrc����dz
��S)NrhrrCs�rrVz>ScopeTests.testNestedNonLocal.<locals>.f.<locals>.g.<locals>.h�rxrr)rVrs �rrWz3ScopeTests.testNestedNonLocal.<locals>.f.<locals>.g�s����Q�����rrrXs` rrYz(ScopeTests.testNestedNonLocal.<locals>.f�s���
��Hrrrgr)rrYrWrVs    r�testNestedNonLocalzScopeTests.testNestedNonLocal�s+��		�
�a�D��
�C�������a� rc��d�}d�}y)Nc��yrrr�s r�topz/ScopeTests.testTopIsNotSignificant.<locals>.top�s��rc��yrrrrrrdz-ScopeTests.testTopIsNotSignificant.<locals>.bs�rr)rr�rds   r�testTopIsNotSignificantz"ScopeTests.testTopIsNotSignificant�s��	�	rc����d�G�fd�d�}|j|jd�Gd�d�}|jt|d��|j�d�y)NrSc�(��eZdZde�d<W�Zy��8ScopeTests.testClassNamespaceOverridesClosure.<locals>.X�+rN)r@rArBrrrCs�r�Xr�s����F�H�S�M��Arr�r�c�"�eZdZde�d<[yr�)r@rArBrrrrrr�z8ScopeTests.testClassNamespaceOverridesClosure.<locals>.X
s���F�H�S�M�rr)rr�assertFalse�hasattr)rr�rs  @r�"testClassNamespaceOverridesClosurez-ScopeTests.testClassNamespaceOverridesClosuresX�����	�	�	
������b�!�	�	�	
�����C��)�����B�rc��Gd�d�}|�}|j�tj|�}~t�|j	|��y)Nc��eZdZd�Zy)�'ScopeTests.testCellLeak.<locals>.Testerc�V��		ddzd�y#t$r}|�_Yd}~d�yd}~wwxYwr�)�	Exception�exc)rr�s` r�digz+ScopeTests.testCellLeak.<locals>.Tester.digs9����#��a�C����!�#�"�D�H�H����#�s��	(�#�(N)r@rArBr�rrr�Testerr�s��
rr�)r��weakref�refr�assertIsNone)rr��testerr�s    r�testCellLeakzScopeTests.testCellLeaksD��	�	�����
�
���k�k�&�!��������#�%� rc� �Gd�d�}|�}|jt�5|j�ddd�|j�}|jt�5|d��ddd�y#1swY�AxYw#1swYyxYw)Nc��eZdZd�Zd�Zy)�8ScopeTests.test_multiple_nesting.<locals>.MultiplyNestedc�H�d}Gd�d�}|�jd��S)Nrc��eZdZd�Zy)�FScopeTests.test_multiple_nesting.<locals>.MultiplyNested.f1.<locals>.Dc��|Srr�r�_D__args  rrWzHScopeTests.test_multiple_nesting.<locals>.MultiplyNested.f1.<locals>.D.g3���$�rN�r@rArBrWrrr�Dr�2���%rr�r��_MultiplyNested__arg�rW�rr�r�s   rr�z;ScopeTests.test_multiple_nesting.<locals>.MultiplyNested.f10s&����%�%��s�u�u�!�u�4�4rc�<�d}Gd�d�}|�jS)Nrc��eZdZd�Zy)�FScopeTests.test_multiple_nesting.<locals>.MultiplyNested.f2.<locals>.Dc��|Srrr�s  rrWzHScopeTests.test_multiple_nesting.<locals>.MultiplyNested.f2.<locals>.D.g:r�rNr�rrrr�r�9r�rr�r�r�s   rr�z;ScopeTests.test_multiple_nesting.<locals>.MultiplyNested.f27s����%�%��s�u�u�rN)r@rArBr�r�rrr�MultiplyNestedr�/s��
5�
rr�rr�)r�rRr�r�)rr�r=�closures    r�test_multiple_nestingz ScopeTests.test_multiple_nesting-so��
	�
	����
�
�
�y�
)��G�G�I�*��'�'�)��
�
�
�y�
)���+�*�
)�	*�
)��*�
)�s�A8�%
B�8B�B
N)-r@rArBr r(r.r9rFrOr]rkr�r�r�r�r�r�r�r�r�r�r�r�rrrr-rr7r>rSrZr`rdrkrrr|r�r�r�r�r�r�r�r�rrrrrs��(�
(�(�'�$(�
(�+�"�(#6�J	$�2�22�4
$�  �D"�03�"3�*&�9� R�h'�.�26� %�B� �� � +��3��3�.
S��$�!�#�&%�$2�04�6�!�"� ��!��!�8,rr�__main__)
�unittestr��test.supportrrr�TestCaserr@�mainrrr�<module>r�s@����9�#�|,��"�"�|,�|�z���H�M�M�O�r

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