
    /hh"                         S SK r S SKrS SKJr  S SKJr  S SKJrJr   " S S\ R                  5      r
\S:X  a  \ R                  " 5         gg)    N)warnings_helper)dedent)compile_commandPyCF_DONT_IMPLY_DEDENTc                   n    \ rS rSrSS jrSS jrSS jrS rS rS r	S r
S	 rS
 rS rS rS rS rSrg)CodeopTests   c                 b    [        USU[        5      nU R                  [        USU5      U5        g )N<input>)compiler   assertEqualr   )selfstrsymbolexpecteds       9/opt/python-3.13.8/usr/lib/python3.13/test/test_codeop.pyassertValidCodeopTests.assertValid   s,    3	63IJi@(K    c                 6    U R                  [        XS9S 5        g )Nr   )r   r   )r   r   r   s      r   assertIncompleteCodeopTests.assertIncomplete   s    <dCr   c                      [        XS9  U R                  S5        g ! [         a    U R                  U5         g [         a    U R                  U(       + 5         g f = f)Nr   z$No exception raised for invalid code)r   failSyntaxError
assertTrueOverflowError)r   r   r   	is_syntaxs       r   assertInvalidCodeopTests.assertInvalid   sM    	+C.II<= 	'OOI& 	+OO	M*	+s    AAAc           	      ,   U R                   nU R                  [        S5      [        SSS[        5      5        U R                  [        S5      [        SSS[        5      5        U" S5        U" S5        U" S5        U" S	5        U" S
5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" S S5        U" S!S5        U" S
5        U" S"5        U" S5        U" S#5        U" SS5        U" S S5        U" S!S5        U" S$5        U" S%5        U" S&5        g )'N passr   single
a = 1z
a = 1a = 1
za = 1

z	

a = 1

zdef x():
  pass
zif 1:
 pass
z

if 1: pass
z

if 1: pass

zdef x():

 pass
zdef x():
  pass
  
zdef x():
  pass
 
zpass
z3**3
zif 9==3:
   pass
else:
   pass
z(if 1:
 pass
 if 1:
  pass
 else:
  pass
z#a
#b
a = 3
z#a

   
a=3
za=3

z
a = 9+ \
3z3**3evalz(lambda z: 
 z**3)z9+ \
3z9+ \
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)]
zdef f():
 pass
#foo
z@a.b.c
def f():
 pass
)r   r   r   r   r   )r   avs     r   
test_validCodeopTests.test_valid!   s    	,#FIx$:<	= 	.#FIx$:<	= 	7
9
9
;
?
 


 
 !
#$
"#
8
8
01
;<


9
>
6&
 (
:f
<
:f
;v
>&!
?

;<
 
:f
;v
>&!
AB
$%
&'r   c                    U R                   nU" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S	5        U" S
5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" SS5        U" SS5        U" SS5        U" S S5        U" S!S5        U" S"S5        U" S#5        U" S$5        U" S%5        U" S&5        U" S'5        U" S(5        U" S)5        U" S*5        U" S+5        U" S,5        U" S-5        U" S.5        U" S/5        U" S05        U" S15        U" S25        U" S35        U" S45        U" S55        U" S65        U" S75        U" S85        U" S95        U" S:5        U" S;5        U" S<5        U" S=5        U" S>5        U" S?5        U" S@5        U" SA5        U" SB5        U" SC5        U" SD5        U" SE5        U" SF5        U" SG5        U" SH5        U" SI5        U" SJ5        U" SK5        U" SL5        U" S5        U" SM5        U" SN5        U" SO5        U" S5        U" SP5        U" SQ5        U" SR5        U" SS5        U" ST5        U" SU5        U" SV5        U" SW5        U" SX5        U" SY5        U" SZ5        U" S[5        U" S\5        U" S]5        U" S^5        U" S_5        U" S`5        U" Sa5        U" Sb5        U" Sc5        U" Sd5        U" Se5        U" Sf5        U" Sg5        U" Sh5        g )iNz(a **z(a,b,z(a,b,(za = (za = {zb + {zprint([1,
2,zprint({1:1,
2:3,zprint((1,
2,zif 9==3:
   pass
else:zif 9==3:
   pass
else:
zif 9==3:
   pass
else:
   passzif 1:zif 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:
  passzdef x():z	def x():
z
def x():

zdef x():
  passzdef x():
  pass
 zdef x():
  pass
  z

def x():
  passza = 9+ \za = 'a\z	a = '''xyr#   r)   r&   (z(9+z9+ \zlambda z: \z!if True:
 if True:
  if True:   
z@a(z@a(bz@a(b,z@a(b,cz@a(b,c,zfrom a import (zfrom a import (bzfrom a import (b,zfrom a import (b,czfrom 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,za(za(bza(b,za(b,cza(b,c,za[za[bza[b,za[b:za[b:cza[b:c:za[b:c:dzdef a(zdef a(bzdef a(b,z	def a(b,cz
def a(b,c,z(az(a,z(a,bzif a:
 pass
elif b:zif a:
 pass
elif b:
 pass
else:zwhile a:zwhile a:
 pass
else:zfor a in b:zfor a in b:
 pass
else:ztry:ztry:
 pass
except:ztry:
 pass
finally:z!try:
 pass
except:
 pass
finally:zwith a:zwith a as b:zclass a:zclass 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 (za = f"""za = \)r   r   ais     r   test_incompleteCodeopTests.test_incomplete_   s?   ""
7
7
8
8
7
7
7
?

?
%&
'(
./
7
9
12
34
9:
:
<
>

 !
!"
!"
;
:
;
2f
4
3v
5
76
>&!
1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
:
#$
=
&'
6

!"
"#
23
9
>
:
:
;
<
<
8
=
?
8
=
?
:
8r   c                    U R                   nU" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S	5        U" S
5        U" S5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" SS5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        U" S5        g )Nza bza @za b @za ** @za = za = 9 +zdef x():

pass
z

 if 1: pass

passz	a = 9+ \
za = 'a\ za = 'a\
r'   r)   ]z())z[}z9+z	lambda z:z
return 2.3zif (a == 1 and b = 2): passzdel 1zdel (1,)zdel [1]zdel '1'z"[i for i in range(10)] = (1, 2, 3)r    r1   s     r   test_invalidCodeopTests.test_invalid   s    
5	
5	
7
8
6

9
 
$%
=
;
<
76
3v
5
4
4
;v
5
<
()
7
:
9
9
/0r   c                 p    U R                   nU" SSS9  U" SSS9  U" SSS9  U" SSS9  U" SSS9  U" SSS9  g )	Nz	raise = 4execr   zdef a-bzawait?z=!=za await raise bza await raise b?+1r7   r1   s     r   test_invalid_execCodeopTests.test_invalid_exec
  sK    
;v&
9V$
8F#
5 
V,
/r   c                     U R                  [        SS5      R                  [        SSS5      R                  5        U R	                  [        SS5      R                  [        SSS5      R                  5        g )Nr(   abcr%   def)r   r   co_filenamer   assertNotEqualr   s    r   test_filenameCodeopTests.test_filename  sb    E:FF E8<HH	JOIu=II#Iuh?KK	Mr   c                    [         R                  " S[        4S[        45       n[        S5        U R	                  [        UR                  5      S5        S S S 5        [        R                  " 5          U R                  [        5         [        R                  " S[        5        [        SSS9  S S S 5        S S S 5        [        R                  " 5          U R                  [        5         [        R                  " S[        5        [        S	SS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       NJ= f! , (       d  f       g = f)
Nz"is" with 'str' literalinvalid escape sequencez	'\e' is 0   errorz1 is 1r;   r   z'\e')r   check_warningsSyntaxWarningr   r   lenwarningscatch_warningsassertRaisesr   simplefilterr   ws     r   test_warningCodeopTests.test_warning  s    ++,m<*M: L)S_a0 $$&(9(9+(F!!'=9HV4 )G&
 $$&(9(9+(F!!'=9GF3 )G&&  )G(F&&
 )G(F&&sS   1D 2E&D1.EE$)&EE$ 
D.1
D?	;E
E
E!	E$$
E2c                     [         R                  " SS9 n[         R                  " S5        U R                  S5        S S S 5        U R	                  W/ 5        g ! , (       d  f       N!= f)NTrecordalwaysz'\e' + ()rM   rN   rP   r   r   rQ   s     r   test_incomplete_warning#CodeopTests.test_incomplete_warning,  sN    $$D1Q!!(+!!+. 2 	B 21s   (A
A&c                    [         R                  " SS9 n[         R                  " S5        U R                  S5        S S S 5        U R	                  [        W5      S5        U R	                  US   R                  [        5        U R                  [        US   R                  5      S5        U R	                  US   R                  S5        g ! , (       d  f       N= f)	NTrV   rX   z'\e' 1   r   rG   r   )rM   rN   rP   r    r   rL   categoryrK   assertRegexr   messagefilenamerQ   s     r   test_invalid_warning CodeopTests.test_invalid_warning2  s    $$D1Q!!(+y) 2 	Q#16QqT\\*,EF1	2 21s   (C
Cc                     U R                  U5         U R                  [        U5         [        USS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr;   r   )subTestassertRaisesRegexr   r   )r   coder_   s      r   assertSyntaxErrorMatches$CodeopTests.assertSyntaxErrorMatches;  sE    \\$''W=V4 >  ==  s!   AAA
A	A
A$c                 :    U R                  [        S5      S5        g )NzB                def foo(x,x):
                   pass
            z-duplicate argument 'x' in function definition)rg   r   rC   s    r   test_syntax_errorsCodeopTests.test_syntax_errors@  s$    %%   B		Cr    N)r%   )r%   r\   )__name__
__module____qualname____firstlineno__r   r   r    r+   r3   r8   r<   rD   rS   rY   ra   rg   rj   __static_attributes__rl   r   r   r   r      sK    L
D+<(|DL#1J0M4& 35
Cr   r   __main__)unittestrM   test.supportr   textwrapr   codeopr   r   TestCaser   rm   mainrl   r   r   <module>ry      sE   
   (  :yC(## yCz	 zMMO r   