HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/test/__pycache__/test_syntax.cpython-310.opt-2.pyc
o

�iU��@sN	ddlZddlZddlmZGdd�dej�Zdd�Zedkr%e�dSdS)�N)�supportc@s*eZdZ		dDdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zejd,d-��Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!ejd>d?��Z"ejd@dA��Z#ejdBdC��Z$dS)E�SyntaxTestCase�
<testcase>�execNc

Cs	zt|||�Wnptyy}
zd|r t|
|�s |�d|j�t�|t|
��}|dur4|�d|f�|�|
j	|�|durF|�|
j
|�|durQ|�|
j|�|dur\|�|
j|�|	durn|�|
j
|	�WYd}
~
dSWYd}
~
dSd}
~
ww|�d�dS)NzSyntaxError is not a %szSyntaxError did not contain %rz#compile() did not raise SyntaxError)�compile�SyntaxError�
isinstance�fail�__name__�re�search�str�assertEqual�filename�lineno�offset�
end_lineno�
end_offset)�self�codeZerrtextr�mode�subclassrrrr�err�mo�r�-/usr/local/lib/python3.10/test/test_syntax.py�_check_error's,���zSyntaxTestCase._check_errorcC�|jdddd�dS)Nzprint(end1 + end2 = ' ')z=expression cannot contain assignment, perhaps you meant "=="?�)r�r�rrrr�test_expression_with_assignmentE�

�z.SyntaxTestCase.test_expression_with_assignmentcCr)Nzf{}�invalid syntax�single�rrr rrr�1test_curly_brace_after_primary_raises_immediatelyLsz@SyntaxTestCase.test_curly_brace_after_primary_raises_immediatelycC�|�dd�dS)Nzf() = 1Zassignrr rrr�test_assign_callOszSyntaxTestCase.test_assign_callcCsH|�dd�|�dd�|�dd�|�dd�|�dd	�|�d
d�|�dd	�|�d
d	�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�d d�|�d!d�|�d"d#�|�d$d�dS)%Nzdel (,)r#zdel 1zcannot delete literalz
del (1, 2)zdel Nonezcannot delete Nonezdel *xzcannot delete starredzdel (*x)zcannot use starred expressionz	del (*x,)z	del [*x,]zdel f()zcannot delete function callzdel f(a, b)z	del o.f()z
del a[0]()z
del x, f()z
del f(), xzdel [a, b, ((c), (d,), e.f())]zdel (a if True else b)zcannot delete conditionalzdel +azcannot delete expressionz	del a, +bz	del a + bzdel (a + b, c)zdel (c[0], a + b)z
del a.b.c + 2zdel a.b.c[0] + 2zdel (a, b, (c, d.e.f + 2))zdel [a, b, (c, d.e.f[0] + 2)]zdel (a := 5)zcannot delete named expressionz
del a += brr rrr�test_assign_delRs6zSyntaxTestCase.test_assign_delcC�d}|j|ddd�dS)Nz�if 1:
            def error(a):
                global a  # SyntaxError
            def error2():
                b = 1
                global b  # SyntaxError
            zparameter and global��rr�r�sourcerrr�test_global_param_err_firstq�z*SyntaxTestCase.test_global_param_err_firstcCr*)Nz�if 1:
            def error(a):
                nonlocal a  # SyntaxError
            def error2():
                b = 1
                global b  # SyntaxError
            zparameter and nonlocalr+r,rr-rrr�test_nonlocal_param_err_first{r0z,SyntaxTestCase.test_nonlocal_param_err_firstcC�p|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�dd�|�d	d�|�d
d�dS)Nzif 0: yield�outside functionzif 0: yield
else:  x=1zif 1: pass
else: yieldzwhile 0: yieldzwhile 0: yield
else:  x=1zclass C:
  if 0: yieldz#class C:
  if 1: pass
  else: yieldzclass C:
  while 0: yieldz(class C:
  while 0: yield
  else:  x = 1rr rrr�test_yield_outside_function�s��z*SyntaxTestCase.test_yield_outside_functioncCr2)Nzif 0: returnr3zif 0: return
else:  x=1zif 1: pass
else: returnzwhile 0: returnzclass C:
  if 0: returnzclass C:
  while 0: returnz'class C:
  while 0: return
  else:  x=1z$class C:
  if 0: return
  else: x= 1z$class C:
  if 1: pass
  else: returnrr rrr�test_return_outside_function�s���z+SyntaxTestCase.test_return_outside_functioncCsxd}|jd|dd�|jd|dd�|jd|dd�|jd|dd�|jd	|dd�|jd
|dd�|jd|dd�dS)
Nzoutside loop�break�r,zif 0: breakzif 0: break
else:  x=1zif 1: pass
else: break�zclass C:
  if 0: breakz#class C:
  if 1: pass
  else: breakr+zwith object() as obj:
 breakr�r�msgrrr�test_break_outside_loop�s�
�z&SyntaxTestCase.test_break_outside_loopcCshd}|jd|dd�|jd|dd�|jd|dd�|jd|dd�|jd	|d
d�|jd|dd�dS)Nznot properly in loopzif 0: continuer7r,zif 0: continue
else:  x=1zif 1: pass
else: continuer8zclass C:
  if 0: continuez&class C:
  if 1: pass
  else: continuer+z"with object() as obj:
    continuerr9rrr�test_continue_outside_loop�s�
�z)SyntaxTestCase.test_continue_outside_loopcC�|jddtd�dS)Nz
foo()
 bar()
zunexpected indent�r�r�IndentationErrorr rrr�test_unexpected_indent��
�z%SyntaxTestCase.test_unexpected_indentcCr=)Nzif 1:
foo()zexpected an indented blockr>r?r rrr�test_no_indent�rBzSyntaxTestCase.test_no_indentcCr=)Nzif 1:
  foo()
 bar()z unindent does not match .* levelr>r?r rrr�test_bad_outdent�s
�zSyntaxTestCase.test_bad_outdentcCr')Nzint(base=10, '2')z,positional argument follows keyword argumentrr rrr�test_kwargs_last���zSyntaxTestCase.test_kwargs_lastcCr')Nzint(**{'base': 10}, '2')z6positional argument follows keyword argument unpackingrr rrr�test_kwargs_last2�rFz SyntaxTestCase.test_kwargs_last2cCr')Nzint(**{'base': 10}, *['2'])z>iterable argument unpacking follows keyword argument unpackingrr rrr�test_kwargs_last3�rFz SyntaxTestCase.test_kwargs_last3cCs|jddddddd�dS)Nz<foo(x,    y for y in range(3) for z in range(2) if z    , p)z*Generator expression must be parenthesizedr7��5)rrrrrr rrr�test_generator_in_function_call�s
�z.SyntaxTestCase.test_generator_in_function_callcCs|d}zt|dd�Wnty|�d�Ynwd}d}z|�t|dd�t|dd��WdSty=|�d�YdSw)Nz\
pass
        \

pass
�<string>rz8Empty line after a line continuation character is valid.zN\
def fib(n):
    \
'''Print a Fibonacci series up to n.'''
    \
a, b = 0, 1
zJ\
def fib(n):
    '''Print a Fibonacci series up to n.'''
    a, b = 0, 1
z/Indented statement over multiple lines is valid)rrr	r)r�s�s1�s2rrr�test_empty_line_after_linecont�s�"�z-SyntaxTestCase.test_empty_line_after_linecontcCsd}|�tt|�dS)Nz(\
if x:
    y = 1
  \
  foo = 1
        )�assertRaisesr@r�rrrrr�!test_continuation_bad_indentation�sz0SyntaxTestCase.test_continuation_bad_indentationcCsjd}td�D]}|d|�d�7}|d|d�d�7}|d|�d�7}q|d�d	�7}|�|d
�dS)N��z    ztry:
r7zraise Exception
zexcept Exception as e:
z0                                                �pass�!too many statically nested blocks)�ranger)rr�irrr�test_nested_named_except_blockssz.SyntaxTestCase.test_nested_named_except_blockscC�d}|�|d�dS)Nzw
def func1():
    if a != b:
        raise ValueError

def func2():
    try
        return 1
    finally:
        pass
zexpected ':'rrRrrr�&test_barry_as_flufl_with_syntax_errorssz5SyntaxTestCase.test_barry_as_flufl_with_syntax_errorscCs:|jddddd�|jddddd�|jddd	dd�dS)
Nz	a = 3 \ 4�6unexpected character after line continuation characterr7�)rrz1,\#
2�z
fgdfgf
1,\#
2
r+rr rrr�-test_invalid_line_continuation_error_positions��
�z<SyntaxTestCase.test_invalid_line_continuation_error_positioncCs|�dd�|�dd�dS)NuA.Ɗ\ r]uA.μ\
zunexpected EOF while parsingrr rrr�-test_invalid_line_continuation_left_recursive(s��z<SyntaxTestCase.test_invalid_line_continuation_left_recursivecCs~dD]}|�|dd|�d��qdD]}|�d|�d�d|�d��qdD]}|�|dd|�d	��q&d
}|�|d�dS)Nz([{z1 + 2�\z' was never closedza = z 1, 2, 3
b=3z)]}zunmatched '\�'zFfunc(
    a=["unclosed], # Need a quote in this comment: "
    b=2,
)
z8parenthesis '\)' does not match opening parenthesis '\['r)rZparenrrrr�test_error_parenthesis0sz%SyntaxTestCase.test_error_parenthesiscCs4|�dd�|�dd�|�dd�|�dd�dS)Nz'blechzunterminated string literalz"blechz'''blechz)unterminated triple-quoted string literalz"""blechrr rrr�test_error_string_literalCsz(SyntaxTestCase.test_error_string_literalcC�d}t|dd�dS)Nz)
def match(x):
    return 1+1

match(34)
rLr�rrRrrr�+test_match_call_does_not_raise_syntax_errorJ�z:SyntaxTestCase.test_match_call_does_not_raise_syntax_errorcCrf)Nz'
def case(x):
    return 1+1

case(34)
rLrrgrRrrr�*test_case_call_does_not_raise_syntax_errorSriz9SyntaxTestCase.test_case_call_does_not_raise_syntax_errorcCr)Nzcall(
a=1,
a=1
)zkeyword argument repeatedr+r,rr rrr�/test_multiline_compiler_error_points_to_the_end\r"z>SyntaxTestCase.test_multiline_compiler_error_points_to_the_endcCr[)Na�
while 1:
 while 2:
  while 3:
   while 4:
    while 5:
     while 6:
      while 8:
       while 9:
        while 10:
         while 11:
          while 12:
           while 13:
            while 14:
             while 15:
              while 16:
               while 17:
                while 18:
                 while 19:
                  while 20:
                   while 21:
                    while 22:
                     break
rWrr-rrr�)test_syntax_error_on_deeply_nested_blockscs	z8SyntaxTestCase.test_syntax_error_on_deeply_nested_blocksc
Cs|ddd}dD]3}|j|d��#|�t��t|d|�Wd�n1s'wYWd�n1s6wYqdS)N�-i���4)r�evalr$r%rL)ZsubTestrQ�MemoryErrorr)rr.rrrr�#test_error_on_parser_stack_overflow�s�����z2SyntaxTestCase.test_error_on_parser_stack_overflowcCs@d}|�t��t|dd�Wd�dS1swYdS)Nz,d{{{{{{{{{{{{{{{{{{{{{{{{{```{{{{{{{ef f():yrLr)rQrrr-rrr�test_deep_invalid_rule�s"�z%SyntaxTestCase.test_deep_invalid_rule)rrNNNNN)%r
�
__module__�__qualname__rr!r&r(r)r/r1r4r5r;r<rArCrDrErGrHrKrPrSrZcpython_onlyrZr\r`rardrerhrjrkrlrqrrrrrrr%sN
�



			
"
rcCs(t�t�ddlm}tj|dd�dS)Nr��test_syntaxT)�	verbosity)rZrun_unittestr�testrvZrun_doctestrurrr�	test_main�s
ry�__main__)rZunittestrxrZTestCaserryr
rrrr�<module>s*)t
�