Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.217.160.206
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_scope.cpython-310.pyc
o

abSO�@sVddlZddlZddlmZmZddlmZGdd�dej�Zedkr)e�	�dSdS)�N)�check_syntax_error�cpython_only)�
gc_collectc@sHeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zed-d.��Zd/d0�Zed1d2��Zd3d4�Zd5d6�Zd7d8�Zd9d:�Z d;d<�Z!d=d>�Z"d?d@�Z#dAdB�Z$dCdD�Z%dEdF�Z&dGdH�Z'dIdJ�Z(edKdL��Z)dMS)N�
ScopeTestscC�<dd�}|d�}|d�}|�|d�d�|�|d�d�dS)Nc��fdd�}|S)Nc��|S�N���y��xr
�8/usr/local/python-3.10/lib/python3.10/test/test_scope.py�adder
�z?ScopeTests.testSimpleNesting.<locals>.make_adder.<locals>.adderr
�rrr
r
r�
make_adder�z0ScopeTests.testSimpleNesting.<locals>.make_adder��
�������assertEqual)�selfr�inc�plus10r
r
r�testSimpleNesting
s
zScopeTests.testSimpleNestingcCr)Ncs�fdd�}|�S)Nc��fdd�}|S)Ncrr	r
rr
r
rrrzNScopeTests.testExtraNesting.<locals>.make_adder2.<locals>.extra.<locals>.adderr
�rr
r
r�extrarz?ScopeTests.testExtraNesting.<locals>.make_adder2.<locals>.extrar
)rr"r
r
r�make_adder2�z0ScopeTests.testExtraNesting.<locals>.make_adder2rrrrrr)rr#rrr
r
r�testExtraNesting�
zScopeTests.testExtraNestingcCs<dd�}|d�}|d�}|�|d�d�|�|d�d�dS)	Ncs�fdd�}�d�|S)Ncrr	r
rr
r
rr)rzEScopeTests.testSimpleAndRebinding.<locals>.make_adder3.<locals>.adderrr
rr
r
r�make_adder3(sz6ScopeTests.testSimpleAndRebinding.<locals>.make_adder3r�	rrrrr)rr'rrr
r
r�testSimpleAndRebinding&�
z!ScopeTests.testSimpleAndRebindingcs>�fdd�}d�|�}|�|d�d�d�|�|d�d�dS)Nc��fdd�}|�S)Ncr+)Ncr )Ncrr	r
r�Zglobal_xr
rr9rzbScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest.<locals>.nest.<locals>.adderr
r!r,r
r�nest8rzSScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nest.<locals>.nestr
�r-r,r
rr-7r$zEScopeTests.testNestingGlobalNoFree.<locals>.make_adder4.<locals>.nestr
r.r,r
r�make_adder46sz7ScopeTests.testNestingGlobalNoFree.<locals>.make_adder4rrrrrr)rr/rr
r,r�testNestingGlobalNoFree4s	z"ScopeTests.testNestingGlobalNoFreecCr)Nc�G�fdd�d�}|�S)Nc�eZdZ�fdd�ZdS)zFScopeTests.testNestingThroughClass.<locals>.make_adder5.<locals>.Addercs�|Sr	r
)rrr
r
r�__call__JrzOScopeTests.testNestingThroughClass.<locals>.make_adder5.<locals>.Adder.__call__N)�__name__�
__module__�__qualname__r3r
r
r
r�AdderI�r7r
)rr7r
r
r�make_adder5Hsz7ScopeTests.testNestingThroughClass.<locals>.make_adder5rrrrrr)rr9rrr
r
r�testNestingThroughClassFr*z"ScopeTests.testNestingThroughClasscCr)NcSsdd�}|a|S)NcSst|Sr	�Z
global_nest_xrr
r
rrXrzMScopeTests.testNestingPlusFreeRefToGlobal.<locals>.make_adder6.<locals>.adderr;rr
r
r�make_adder6Vsz>ScopeTests.testNestingPlusFreeRefToGlobal.<locals>.make_adder6rr�rrr)rr<rrr
r
r�testNestingPlusFreeRefToGlobalTr&z)ScopeTests.testNestingPlusFreeRefToGlobalcCs$dd�}|d�}|�|d�d�dS)NcSsdd�}|d�S)Ncsd��fdd�}|S)N�*crr	r
��zr
r
r�hhrzEScopeTests.testNearestEnclosingScope.<locals>.f.<locals>.g.<locals>.hr
)rrBr
r
r�gfsz:ScopeTests.testNearestEnclosingScope.<locals>.f.<locals>.grr
�rrCr
r
r�fesz/ScopeTests.testNearestEnclosingScope.<locals>.fr��/r)rrEZ	test_funcr
r
r�testNearestEnclosingScopecsz$ScopeTests.testNearestEnclosingScopecs>dd���fdd�}|ddd�}|ddd	�}|�|�d
�dS)NcSs|Sr	r
r
r
r
r�identityr�z9ScopeTests.testMixedFreevarsAndCellvars.<locals>.identitycs���fdd�}|S)Ncs&|�}����fdd�}|��|S)Ncs�����Sr	r
r
)�brIrrAr
rrBxszHScopeTests.testMixedFreevarsAndCellvars.<locals>.f.<locals>.g.<locals>.hr
)�arK�crB)rIrrA)rKrrrCvsz=ScopeTests.testMixedFreevarsAndCellvars.<locals>.f.<locals>.gr
)rrrArC�rI)rrArrEusz2ScopeTests.testMixedFreevarsAndCellvars.<locals>.frr����'r�rrErCrBr
rNr�testMixedFreevarsAndCellvarsps
z'ScopeTests.testMixedFreevarsAndCellvarscs�dd�}|�}|�|��d�|�|��d�|�|��d�d�G�fdd�d�}|�}|�|��d�|�|��d�|�|��d�dS)Ncsd�G�fdd�d�}|�S)N�varc�0eZdZdd�Z�fdd�Zdd�Zdd�Zd	S)
z:ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.TestcS�dS�N�methodr
�rr
r
r�method_and_var�rJzIScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.method_and_varc��Sr	r
rZ�r[r
r�test�rJz?ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.testcS�td�S�N�global��strrZr
r
r�
actual_global�rzHScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.actual_globalcS�t|�Sr	rbrZr
r
rrc�rz>ScopeTests.testFreeVarInMethod.<locals>.test.<locals>.Test.strN�r4r5r6r[r^rdrcr
r]r
r�Test�s
rgr
)rgr
r]rr^�s	z,ScopeTests.testFreeVarInMethod.<locals>.testrUrYracrV)
z,ScopeTests.testFreeVarInMethod.<locals>.TestcSrWrXr
rZr
r
rr[�rJz;ScopeTests.testFreeVarInMethod.<locals>.Test.method_and_varcr\r	r
rZr]r
rr^�rJz1ScopeTests.testFreeVarInMethod.<locals>.Test.testcSr_r`rbrZr
r
rrd�rz:ScopeTests.testFreeVarInMethod.<locals>.Test.actual_globalcSrer	rbrZr
r
rrc�rz0ScopeTests.testFreeVarInMethod.<locals>.Test.strNrfr
r]r
rrg�s
rg)rr^r[rd)rr^�trgr
r]r�testFreeVarInMethod�s
zScopeTests.testFreeVarInMethodcCs2dd�dd�}|�|dd�d�|�|�d�dS)N��rLcs�fdd�}|�dS)Nc��dS)NrFr
r
rkr
r�bar�rz8ScopeTests.testCellIsKwonlyArg.<locals>.foo.<locals>.barrOr
)rLrmr
rkr�foo�s
z+ScopeTests.testCellIsKwonlyArg.<locals>.foor?�2�r)rrnr
r
r�testCellIsKwonlyArg�szScopeTests.testCellIsKwonlyArgcCsdd�}|�|d�d�dS)Ncs$�fdd��|dkr�|�Std��)Ncs|dkrdS|�|d�S)Nrrr
)�n��factr
rrt�sz1ScopeTests.testRecursion.<locals>.f.<locals>.factrzx must be >= 0)�
ValueErrorr
r
rsrrE�sz#ScopeTests.testRecursion.<locals>.frQi�r�rrEr
r
r�
testRecursion�szScopeTests.testRecursioncCs,t|d�t|d�t|d�t|d�dS)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?
            )rrZr
r
r�testUnoptimizedNamespaces�s


	z$ScopeTests.testUnoptimizedNamespacesc	s�dd�}|d�}|d�}|�|d�d�|�|d�d�dd�}|d�}|d�}|�|d�d�|�|d�d��fd	d�}d�|d�}|�|d�d
�dd�}|ddd
�}|ddd
�}|�|�d�dS)Nc��fdd�S)Ncrr	r
rr
r
r�<lambda>���:ScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>r
r
r
r
rrz��z(ScopeTests.testLambdas.<locals>.<lambda>rrrrF�cs�fdd��S)Ncry)Ncrr	r
rr
r
rrz�r{�LScopeTests.testLambdas.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda>r
r
r
r
rrz�r}r|r
r
r
r
rrz��cry)Ncrr	r
rr,r
rrz�r{r|r
r
r,r
rrz�r}rOcs��fdd�S)Ncs���fdd�S)Ncs���Sr	r
r
)rKrrAr
rrz�r}rr
�rLrKrM�rrA)rKrrz�sr|r
)rrrAr
r�rrz�r�rPrQ�r)	r�f1rr�f2Zf3Zf8rCrBr
r,r�testLambdas�s$zScopeTests.testLambdascC�,dd�}dd�}|�t|�|�t|�dS)Ncst���fdd�}d�dS)Ncr\r	r
r
rr
r�innerrJz@ScopeTests.testUnboundLocal.<locals>.errorInOuter.<locals>.innerr��print�r�r
rr�errorInOutersz1ScopeTests.testUnboundLocal.<locals>.errorInOutercs�fdd�}|�d�dS)Ncr\r	r
r
rr
rr�rJz@ScopeTests.testUnboundLocal.<locals>.errorInInner.<locals>.innerrr
r�r
rr�errorInInnersz1ScopeTests.testUnboundLocal.<locals>.errorInInner��assertRaises�UnboundLocalError�	NameError�rr�r�r
r
r�testUnboundLocal�szScopeTests.testUnboundLocalcCr�)Ncsd��t���fdd�}dS)Nrcr\r	r
r
rr
rr�rJzIScopeTests.testUnboundLocal_AfterDel.<locals>.errorInOuter.<locals>.innerr�r�r
rrr�sz:ScopeTests.testUnboundLocal_AfterDel.<locals>.errorInOutercs�fdd�}d��|�dS)Ncr\r	r
r
rr
rr�rJzIScopeTests.testUnboundLocal_AfterDel.<locals>.errorInInner.<locals>.innerrr
r�r
rrr�s
z:ScopeTests.testUnboundLocal_AfterDel.<locals>.errorInInnerr�r�r
r
r�testUnboundLocal_AfterDelsz$ScopeTests.testUnboundLocal_AfterDelcCstdd|ji�dS)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�rZr
r
r�testUnboundLocal_AugAssign$s
�z%ScopeTests.testUnboundLocal_AugAssigncCsBdd�}|�|ddd��d�dd�}|�|d	d
��dd	�dS)Ncr)Ncr\r	r
r
��lstr
r�returner5rJzIScopeTests.testComplexDefinitions.<locals>.makeReturner.<locals>.returnerr
)r�r�r
r�r�makeReturner4rz7ScopeTests.testComplexDefinitions.<locals>.makeReturnerrrrO)rrrOcr)Ncr\r	r
r
��kwargsr
rr�<rJzJScopeTests.testComplexDefinitions.<locals>.makeReturner2.<locals>.returnerr
)r�r�r
r�r�
makeReturner2;rz8ScopeTests.testComplexDefinitions.<locals>.makeReturner2r=rkrLr)rr�r�r
r
r�testComplexDefinitions2sz!ScopeTests.testComplexDefinitionscC�td�dS)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�rZr
r
r�testScopeOfGlobalStmtBsz ScopeTests.testScopeOfGlobalStmtcsJG�fdd�d���fdd�}td�D]}|�qt�|��jd�dS)Ncs(eZdZdZ�fdd�Z�fdd�ZdS)z!ScopeTests.testLeaks.<locals>.Foorcs�jd7_dS�Nr��countrZ��Foor
r�__init__��z*ScopeTests.testLeaks.<locals>.Foo.__init__cs�jd8_dSr�r�rZr�r
r�__del__�r�z)ScopeTests.testLeaks.<locals>.Foo.__del__N)r4r5r6r�r�r�r
r�r
rr��sr�cs����fdd�}|�dS)Ncr\r	r
r
r
r
rr��rJz,ScopeTests.testLeaks.<locals>.f1.<locals>.f2r
)r�r�r
rr��s
z ScopeTests.testLeaks.<locals>.f1�dr)�rangerrr�)rr��ir
r�r�	testLeaks�s	zScopeTests.testLeakscCr�)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�rZr
r
r�testClassAndGlobal�szScopeTests.testClassAndGlobalcCs>dd�}|d�d�}|�d|�|d=|�|dddd��dS)	Ncr)Ncs"�fdd�}��}�d7�t�S)Ncrr	r
r@rr
rrB�rz>ScopeTests.testLocalsFunction.<locals>.f.<locals>.g.<locals>.hrO)�locals)rrB�wr
rrrC�sz3ScopeTests.testLocalsFunction.<locals>.f.<locals>.gr
rDr
r
rrE�sz(ScopeTests.testLocalsFunction.<locals>.frrPrB�rQ)rrr�)�assertInr)rrE�dr
r
r�testLocalsFunction�s
	zScopeTests.testLocalsFunctioncCsHdd�}|�|d�jd�dd�}|d�j}|�d|�|�d|�dS)Nc�G�fdd�d�}|S)Ncs"eZdZdZ�fdd�Ze�dS)�0ScopeTests.testLocalsClass.<locals>.f.<locals>.C�cr\r	r
rZr
r
r�m�rJ�2ScopeTests.testLocalsClass.<locals>.f.<locals>.C.mN)r4r5r6rr�r�r
r
r
r�C�s
r�r
�rr�r
r
rrE��z%ScopeTests.testLocalsClass.<locals>.frr�cr�)Ncs&eZdZ�Z�fdd�Zee��ZdS)r�cr\r	r
rZr
r
rr��rJr�N)r4r5r6rr��listr�rAr
r
r
rr��sr�r
r�r
r
rrE�r�rr)rrrA�assertNotInr�)rrE�varnamesr
r
r�testLocalsClass�s
zScopeTests.testLocalsClasscsNddl}|�|j|���|�dd��d�G�fdd�d�}|��d�dS)NrcS�dSr	r
r�r
r
rrz��z6ScopeTests.testLocalsClass_WithTrace.<locals>.<lambda>r�cr2)z/ScopeTests.testLocalsClass_WithTrace.<locals>.Ccr\r	r
rZr
r
rrErJz1ScopeTests.testLocalsClass_WithTrace.<locals>.C.fN)r4r5r6rEr
r
r
rr�r8r�)�sys�
addCleanup�settrace�gettracer)rr�r�r
r
r�testLocalsClass_WithTrace�sz$ScopeTests.testLocalsClass_WithTracecCs(dd�}|d��}|�|j|���dS)Ncr�)NcseZdZ�fdd�Z�ZdS)z1ScopeTests.testBoundAndFree.<locals>.f.<locals>.Ccr\r	r
rZr
r
rr�
rJz3ScopeTests.testBoundAndFree.<locals>.f.<locals>.C.mN)r4r5r6r�rLr
r
r
rr�sr�r
r�r
r
rrEsz&ScopeTests.testBoundAndFree.<locals>.frO)rrLr�)rrE�instr
r
r�testBoundAndFrees
zScopeTests.testBoundAndFreecsnddl}�fdd��dd�}Gdd�d�}|�|j|���|���|d|d	�|�d�|�t|j�dS)
Nrcr\r	r
r���tracerr
rr�rJz7ScopeTests.testInteractionWithTraceFunc.<locals>.tracercs6|\}�|dkr�dkrd|j|f��fdd�SdS)Nr�z_%s__%scs
t|��Sr	)�getattr)�obj�Zdesr
rrz!s
zNScopeTests.testInteractionWithTraceFunc.<locals>.adaptgetter.<locals>.<lambda>)r4)�name�klass�getter�kindr
r�r�adaptgetters�z<ScopeTests.testInteractionWithTraceFunc.<locals>.adaptgetterc@seZdZdS)z:ScopeTests.testInteractionWithTraceFunc.<locals>.TestClassN)r4r5r6r
r
r
r�	TestClass#sr�rn)rr�)r�r�r�r�r��	TypeError)rr�r�r�r
r�r�testInteractionWithTraceFuncs

z'ScopeTests.testInteractionWithTraceFunccCsTdd�}|d�}|�tt|j�zt|ji�Wn
ty"YdSw|�d�dS)Ncry)Ncrlr�r
r
r
r
rrz0r{z<ScopeTests.testEvalExecFreeVars.<locals>.f.<locals>.<lambda>r
r
r
r
rrE/sz*ScopeTests.testEvalExecFreeVars.<locals>.frOz9exec should have failed, because code contained free vars)r�r��eval�__code__r�r��rrErCr
r
r�testEvalExecFreeVars-s�zScopeTests.testEvalExecFreeVarscCsZztt�Wn	tyYnwtd�dd�}|�ztt�WdSty,YdSw)Nzbad should not be definedcSsdd�dD�dS)NcSsg|]}|��D]}|�qqSr
)�split)�.0�s�badr
r
r�
<listcomp>Fsz?ScopeTests.testListCompLocalVars.<locals>.x.<locals>.<listcomp>za br
r
r
r
rrEr�z+ScopeTests.testListCompLocalVars.<locals>.x)r�r�r�)rrr
r
r�testListCompLocalVars<s��z ScopeTests.testListCompLocalVarscCsdd�}|d��dS)Ncr)Ncs�td�dS)Nzx + 1)r�r
r
r
rrCQsz1ScopeTests.testEvalFreeVars.<locals>.f.<locals>.gr
rDr
r
rrEPsz&ScopeTests.testEvalFreeVars.<locals>.frPr
rvr
r
r�testEvalFreeVarsNszScopeTests.testEvalFreeVarscCsGdd�d�}dS)Nc@�eZdZdd�ZdS)z+ScopeTests.testFreeingCell.<locals>.SpecialcSs
t�dSr	)Znestedcell_getrZr
r
rr�\s
z3ScopeTests.testFreeingCell.<locals>.Special.__del__N)r4r5r6r�r
r
r
r�Special[�r�r
)rr�r
r
r�testFreeingCellXszScopeTests.testFreeingCellcCsPdd�}|d�\}}|�|�d�|�|�d�|�|�d�|�|�d�dS)Ncs �fdd�}�fdd�}||fS)Nc��d7��Sr�r
r
r
r
rrb�z7ScopeTests.testNonLocalFunction.<locals>.f.<locals>.incc��d8��Sr�r
r
r
r
r�decfr�z7ScopeTests.testNonLocalFunction.<locals>.f.<locals>.decr
)rrr�r
r
rrEasz*ScopeTests.testNonLocalFunction.<locals>.frrrr)rrErr�r
r
r�testNonLocalFunction_szScopeTests.testNonLocalFunctioncCsTdd�}|d�}|�|��d�|�|��d�|�|��d�|�|��d�dS)Ncr1)Ncs$eZdZ�fdd�Z�fdd�ZdS)z3ScopeTests.testNonLocalMethod.<locals>.f.<locals>.ccr�r�r
rZr
r
rrur�z7ScopeTests.testNonLocalMethod.<locals>.f.<locals>.c.inccr�r�r
rZr
r
rr�yr�z7ScopeTests.testNonLocalMethod.<locals>.f.<locals>.c.decN)r4r5r6rr�r
r
r
rrMtsrMr
�rrMr
r
rrEss	z(ScopeTests.testNonLocalMethod.<locals>.frrr)rrr��rrErMr
r
r�testNonLocalMethodrszScopeTests.testNonLocalMethodcCs8i}i}td||�|�d|d�|�d|d�dS)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()
            rZresult2r(Zresult9)r�r)rZlocal_nsZ	global_nsr
r
r�#testGlobalInParallelNestedFunctions�s
�z.ScopeTests.testGlobalInParallelNestedFunctionscCs4dd�}|d�}|�|��d�|�d|jj�dS)Ncr1)Ncs eZdZ�d7��fdd�ZdS)z2ScopeTests.testNonLocalClass.<locals>.f.<locals>.crcr\r	r
rZr
r
r�get�rJz6ScopeTests.testNonLocalClass.<locals>.f.<locals>.c.getN)r4r5r6r�r
r
r
rrM�srMr
r�r
r
rrE�sz'ScopeTests.testNonLocalClass.<locals>.frrr)rr�r��	__class__�__dict__r�r
r
r�testNonLocalClass�szScopeTests.testNonLocalClasscCs,dd�}|d�}|�t|d��gd��dS)Ncr)Nc3s"�t|�D]	}�d7��VqdSr�)r�)rr�r
r
rrC�s
��z6ScopeTests.testNonLocalGenerator.<locals>.f.<locals>.gr
rDr
r
rrE�sz+ScopeTests.testNonLocalGenerator.<locals>.frrF)rrrOrPrF)rr�r�r
r
r�testNonLocalGenerator�sz ScopeTests.testNonLocalGeneratorcCs(dd�}|d�}|�}|�|�d�dS)Ncr)Ncs�d8��fdd�}|S)Nrcr�)NrPr
r
r
r
rrB�r�z>ScopeTests.testNestedNonLocal.<locals>.f.<locals>.g.<locals>.hr
)rBr
r
rrC�sz3ScopeTests.testNestedNonLocal.<locals>.f.<locals>.gr
rDr
r
rrE�sz(ScopeTests.testNestedNonLocal.<locals>.frrOrrSr
r
r�testNestedNonLocal�szScopeTests.testNestedNonLocalcCsdd�}dd�}dS)NcSr�r	r
rkr
r
r�top�rJz/ScopeTests.testTopIsNotSignificant.<locals>.topcSr�r	r
r
r
r
rrK�r�z-ScopeTests.testTopIsNotSignificant.<locals>.br
)rr�rKr
r
r�testTopIsNotSignificant�sz"ScopeTests.testTopIsNotSignificantcsRd�G�fdd�d�}|�|jd�Gdd�d�}|�t|d��|��d�dS)Nr?cseZdZde�d<�ZdS�z8ScopeTests.testClassNamespaceOverridesClosure.<locals>.X�+rN)r4r5r6r�rr
r
r
r�X�s
r�r�c@seZdZde�d<[dSr�)r4r5r6r�rr
r
r
rr��s
r)rrZassertFalse�hasattr)rr�r
r
r�"testClassNamespaceOverridesClosure�sz-ScopeTests.testClassNamespaceOverridesClosurecCs>Gdd�d�}|�}|��t�|�}~t�|�|��dS)Nc@r�)z'ScopeTests.testCellLeak.<locals>.Testerc
sF	z	ddWd�dSty"}z|�_WYd}~d�dSd}~ww)Nrcr\r	r
r
rZr
rrz�r�z=ScopeTests.testCellLeak.<locals>.Tester.dig.<locals>.<lambda>r)�	Exception�exc)rr�r
rZr�dig�s
���z+ScopeTests.testCellLeak.<locals>.Tester.digN)r4r5r6rr
r
r
r�Tester�r�r)r�weakref�refrZassertIsNone)rrZtesterrr
r
r�testCellLeak�s
	
zScopeTests.testCellLeakN)*r4r5r6rr%r)r0r:r>rHrTrirqrwrxr�r�r�r�r�r�r�r�r�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
r
r
rrsT

%"T!




r�__main__)
ZunittestrZtest.supportrrrZTestCaserr4�mainr
r
r
r�<module>sx�
© 2025 GrazzMean