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: 3.143.243.70
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_future.cpython-310.pyc
o

`b�;�@s�ddlZddlZddlZddlmZddlmZddlmZddl	Z	ddl
Z
ddlZe
�d�Z
dd�ZGdd	�d	ej�ZGd
d�dej�ZedkrOe��dSdS)
�N)�support)�
import_helper)�dedentz\((\S+).py, line (\d+)cCst�t|��}|�dd�S)N��)�rx�search�str�group)�msg�mo�r
�9/usr/local/python-3.10/lib/python3.10/test/test_future.py�get_error_locationsrc@s�eZdZd#dd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"S)$�
FutureTestrcCsR|�d||ft|��|�tj�|j�|d�|�|j|�|�|j|�dS)Nz%s.py, line %dz.py)	ZassertInr	�assertEqual�os�path�basename�filename�lineno�offset)�self�errrrrr
r
r�check_syntax_errorszFutureTest.check_syntax_errorcC�Jt�d��ddlm}|�|jd�Wd�dS1swYdS)N�future_test1r)r�)r�CleanImport�testrr�result)rrr
r
r�test_future1�"�zFutureTest.test_future1cCr)N�future_test2r)r#r)rrrr#rr )rr#r
r
r�test_future2 r"zFutureTest.test_future2cC�<t�d��ddlm}Wd�dS1swYdS)N�test_future3r)r&)rrrr&)rr&r
r
rr&%�"�zFutureTest.test_future3cC�J|�t��}ddlm}Wd�n1swY|�|jdd�dS)Nr)�badsyntax_future3r)�)�assertRaises�SyntaxErrorrr)r�	exception)r�cmr)r
r
r�test_badfuture3)��zFutureTest.test_badfuture3cCr()Nr)�badsyntax_future4r1r*)r+r,rr1rr-)rr.r1r
r
r�test_badfuture4.r0zFutureTest.test_badfuture4cCr()Nr)�badsyntax_future5r3�)r+r,rr3rr-)rr.r3r
r
r�test_badfuture53r0zFutureTest.test_badfuture5cCr()Nr)�badsyntax_future6r6r*)r+r,rr6rr-)rr.r6r
r
r�test_badfuture68r0zFutureTest.test_badfuture6cCsL|�t��}ddlm}Wd�n1swY|�|jddd�dS)Nr)�badsyntax_future7r8r*�5)r+r,rr8rr-)rr.r8r
r
r�test_badfuture7=s�zFutureTest.test_badfuture7cCr()Nr)�badsyntax_future8r;r*)r+r,rr;rr-)rr.r;r
r
r�test_badfuture8Br0zFutureTest.test_badfuture8cCr()Nr)�badsyntax_future9r=r*)r+r,rr=rr-)rr.r=r
r
r�test_badfuture9Gr0zFutureTest.test_badfuture9cCr()Nr)�badsyntax_future10r?r*)r+r,rr?rr-)rr.r?r
r
r�test_badfuture10Lr0zFutureTest.test_badfuture10cCsBdd�tjD�}|dd�tt�D�O}|�t|���|���dS)NcSs$i|]}d|����tt|�j�qS)Z
CO_FUTURE_)�upper�getattr�
__future__Z
compiler_flag)�.0�futurer
r
r�
<dictcomp>Us��z;FutureTest.test_ensure_flags_dont_clash.<locals>.<dictcomp>cSs"i|]
}|�d�r|tt|��qS)ZPyCF_)�
startswithrB�ast)rD�flagr
r
rrFZs

�
�)rCZall_feature_names�dirrHZassertCountEqual�set�values)r�flagsr
r
r�test_ensure_flags_dont_clashQs��z'FutureTest.test_ensure_flags_dont_clashcCsZztd�Wn	tyYnw|�d�ztd�Wn
ty%YdSw|�d�dS)Nz.from __future__ import print_function; print 0zsyntax error didn't occurz0from __future__ import (print_function); print 0)�execr,Zfail�rr
r
r�test_parserhack`s�
�zFutureTest.test_parserhackcCr%)Nztest.test_future5r)�test_future5)rrrrR)rrRr
r
r�test_multiple_featurestr'z!FutureTest.test_multiple_featurescCs$i}tdi|�|�|dt�dS)Nz/from __future__ import unicode_literals; x = ''�x)rOZassertIsInstancer	)r�scoper
r
r�test_unicode_literals_execxsz%FutureTest.test_unicode_literals_execN)r)�__name__�
__module__�__qualname__rr!r$r&r/r2r5r7r:r<r>r@rNrQrSrVr
r
r
rrs"
rc@s`eZdZed�Zdd�Z	ddd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�AnnotationsFutureTestCasea�
        from __future__ import annotations
        def f() -> {ann}:
            ...
        def g(arg: {ann}) -> None:
            ...
        async def f2() -> {ann}:
            ...
        async def g2(arg: {ann}) -> None:
            ...
        class H:
            var: {ann}
            object.attr: {ann}
        var: {ann}
        var2: {ann} = None
        object.attr: {ann}
        c	Cs�i}t|jj|d�i|�|djd}|djd}|djd}|djd}|dd	}|dd
}|�||�|�||�|�||�|�||�|�||�|S)N)�ann�f�return�g�arg�f2Zg2�__annotations__�varZvar2)rO�template�formatrar)	r�
annotationrUZfunc_ret_annZfunc_arg_annZasync_func_ret_annZasync_func_arg_annZvar_ann1Zvar_ann2r
r
r�	getActual�sz#AnnotationsFutureTestCase.getActualNFcCsZ|�|�}|dur|s
|n|dd�}|r%|�||�|�dd��dd�}|�||�dS)Nr����(��))rfZassertNotEqual�replacer)rre�expectedZdrop_parensZis_tuple�actualr
r
r�assertAnnotationEqual�s
z/AnnotationsFutureTestCase.assertAnnotationEqualcCsi}td|i|�|S)Nz#from __future__ import annotations
)rO)r�coderUr
r
r�_exec_future�s��z&AnnotationsFutureTestCase._exec_futurecCs�|j}|d�|d�|d�|d�|d�|d�|d�|d�|d	�|d
�|d�|d�|d
�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d�|d �|d!�|d"�|d#�|d$�|d%�|d&�|d'�|d(�|d)�|d*�|d+�|d,�|d-�|d.�|d/�|d0�|d1�|d2�|d3�|d4�|d5�|d6�|d7�|d8�|d9�|d:�|d;�|d<�|d=�|d>�|d?�|d@�|dA�|dB�|dC�|dD�|dE�|dF�|dG�|dH�|dI�|dJ�|dK�|dL�|dM�|dN�|dO�|dP�|dQ�|dR�|dS�|dT�|dU�|dV�|dW�|dX�|dY�|dZ�|d[�|d\�|d]�|d^�|d_�|d`�|da�|db�|dc�|dd�|de�|df�|dg�|dh�|di�|dj�|dk�|dl�|dm�|dn�|do�|dp�|dq�|dr�|ds�|dt�|du�|dv�|dw�|dx�|dy�|dz�|d{�|d|�|d}�|d~�|d�|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d��|d�d��|d�dE�|d��dS)�Nz...z
'some_string'zu'some_string'zb'\xa3'�Name�None�True�False�1z1.0Z1jz
True or FalsezTrue or False or NonezTrue and FalsezTrue and False and NonezName1 and Name2 or Name3zName1 and (Name2 or Name3)zName1 or Name2 and Name3z(Name1 or Name2) and Name3z"Name1 and Name2 or Name3 and Name4z!Name1 or Name2 and Name3 or Name4za + b + (c + d)za * b * (c * d)z(a ** b) ** c ** dzv1 << 2z1 >> v2z1 % finishedz"1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8z	not greatz
not not greatz~greatz+valuez++valuez-1z!~int and not v1 ^ 123 + v2 | Trueza + (not b)zlambda: Nonezlambda arg: Nonezlambda a=True: azlambda a, b, c=True: az-lambda a, b, c=True, *, d=1 << v2, e='str': az9lambda a, b, c=True, *vararg, d, e='str', **kwargs: a + bz<lambda a, /, b, c=True, *vararg, d, e='str', **kwargs: a + bzlambda x, /: xzlambda x=1, /: xzlambda x, /, y: x + yzlambda x=1, /, y=2: x + yzlambda x, /, y=1: x + yz#lambda x, /, y=1, *, z=3: x + y + zz%lambda x=1, /, y=2, *, z=3: x + y + zz#lambda x=1, /, y=2, *, z: x + y + zz>lambda x=1, y=2, z=3, /, w=4, *, l, l2: x + y + z + w + l + l2zHlambda x=1, y=2, z=3, /, w=4, *, l, l2, **kwargs: x + y + z + w + l + l2z!lambda x, /, y=1, *, z: x + y + zzlambda x: lambda y: x + yz1 if True else 2z4str or None if int or True else str or bytes or Nonez;str or None if (1 if True else 2) else str or bytes or Nonez"0 if not x else 1 if x > 0 else -1z (1 if x > 0 else -1) if x else 0z+{'2.7': dead, '3.7': long_live or die_hard}z@{'2.7': dead, '3.7': long_live or die_hard, **{'3.6': verygood}}z{**a, **b, **c}zC{'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}z{*a, *b, *c}z?({'a': 'b'}, True or False, +value, 'string', b'bytes') or Nonez()z(a,)z(a, b)z	(a, b, c)z(*a, *b, *c)z[]z6[1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]z[*a, *b, *c]z{i for i in (1, 2, 3)}z{i ** 2 for i in (1, 2, 3)}z3{i ** 2 for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}z2{i ** 2 + j for i in (1, 2, 3) for j in (1, 2, 3)}z[i for i in (1, 2, 3)]z ** 2 for i in (1, 2, 3)]z3[i ** 2 for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]z2[i ** 2 + j for i in (1, 2, 3) for j in (1, 2, 3)]z(i for i in (1, 2, 3))z(i ** 2 for i in (1, 2, 3))z3(i ** 2 for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))z2(i ** 2 + j for i in (1, 2, 3) for j in (1, 2, 3))z{i: 0 for i in (1, 2, 3)}z1{i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}z[(x, y) for x, y in (a, b)]z[(x,) for x, in (a,)]zPython3 > Python2 > COBOLzLife is Lifezcall()z	call(arg)zcall(kwarg='hey')zcall(arg, kwarg='hey')z&call(arg, *args, another, kwarg='hey')z6call(arg, another, kwarg='hey', **kwargs, kwarg2='ho')zlukasz.langa.plzcall.me(maybe)z1 .realz1.0.realz
....__class__z	list[str]zdict[str, int]z	set[str,]ztuple[str, ...]ztuple[(str, *types)]ztuple[str, int, (str, int)]z#tuple[(*int, str, str, (str, int))]z&tuple[str, int, float, dict[str, int]]zslice[0]z
slice[0:1]zslice[0:1:2]zslice[:]z
slice[:-1]z	slice[1:]zslice[::-1]z	slice[:,]zslice[1:2,]z
slice[1:2:3,]z
slice[1:2, 1]zslice[1:2, 2, 3]z	slice[()]zslice[a, b:c, d:e:f]zslice[(x for x in a)]zCstr or None if sys.version_info[0] > (3,) else str or bytes or Nonez5f'f-string without formatted values is just a string'zf'{{NOT a formatted value}}'z:f'some f-string with {a} {few():.2f} {formatted.values!r}'zf"{f'{nested} inner'} outer"z:f'space between opening braces: { {a for a in (1, 2, 3)}}'zf'{(lambda x: x)}'z!f'{(None if a else lambda x: x)}'zf'{x}'zf'{x!r}'zf'{x!a}'z[x for x in (a if b else c)]z![x for x in a if (b if c else d)]zf(x for x in a)zf(1, (x for x in a))zf((x for x in a), 2)z(((a)))�az
(((a, b)))z	1 + 2 + 3�rn)r�eqr
r
r�test_annotations�s$

z*AnnotationsFutureTestCase.test_annotationscCsX|jddd�|jddd�|jddd�|jddd�|jdd	d�|jd
dd�dS)Nz	f'{x=!r}'z
f'x={x!r}'�rlzf'{x=:}'z	f'x={x:}'zf'{x=:.2f}'zf'x={x:.2f}'z	f'{x=!a}'z
f'x={x!a}'zf'{x=!s:*^20}'zf'x={x!s:*^20}'rwrPr
r
r�test_fstring_debug_annotationsJsz8AnnotationsFutureTestCase.test_fstring_debug_annotationscCs�dttjjd�}|�d�}|jd|d�|jd|d�|jdd|��d�|jd	d
|��d�|jdd|�d
|�d�d�|�d�|jdd|�d|�d�d�|jdd|�d|�d�d�dS)NZ1er�jZ1e1000rzZ1e1000jz-1e1000�-z	3+1e1000jz3 + z(1e1000, 1e1000j)rhz, rjz'inf'z"('inf', 1e1000, 'infxxx', 1e1000j)z('inf', z, 'infxxx', z(1e1000, (1e1000j,))z, (z,)))�repr�sys�
float_info�
max_10_exprn)r�infZinfjr
r
r�test_infinity_numbersTs

 z/AnnotationsFutureTestCase.test_infinity_numberscCs8|�t��
td�Wd�dS1swYdS)Nz8from __future__ import annotations
object.__debug__: int)r+r,rOrPr
r
r�#test_annotation_with_complex_target`s
�"�z=AnnotationsFutureTestCase.test_annotation_with_complex_targetcCsL|�td��}|�d�}|�|�j�|�|jjd�|�|�jjd�dS)Nz�
        from __future__ import annotations

        def foo():
            outer = 1
            def bar():
                inner: outer = 1
            return bar
        �foor
)	rpr�popZassertIsNone�__closure__r�__code__�co_cellvars�co_freevars)r�	namespacer�r
r
r�"test_annotations_symbol_table_passgs


z<AnnotationsFutureTestCase.test_annotations_symbol_table_passcCs�|�t��
|�d�Wd�n1swY|�t��
|�d�Wd�n1s/wY|�t��
|�d�Wd�n1sIwY|�t��
|�d�Wd�n1scwY|�t��
|�d�Wd�n1s}wY|�t��
|�d�Wd�n1s�wY|�t��
|�d�Wd�n1s�wY|�t��
|�d�Wd�n1s�wY|�t��|�td	��Wd�dS1s�wYdS)
Nz
test: (yield)ztest.test: (yield a + b)ztest[something]: (yield from x)z7def func(test: (yield from outside_of_generator)): passzdef test() -> (await y): passz-async def test() -> something((a := b)): passzBtest: await some.complicated[0].call(with_args=True or 1 is not 1)ztest: f'{(x := 10):=10}'zO            def foo():
                def bar(arg: (yield)): pass
            )r+r,rprrPr
r
r�test_annotations_forbiddenws6��������"�z4AnnotationsFutureTestCase.test_annotations_forbidden)NFF)rWrXrYrrcrfrnrpryr{r�r�r�r�r
r
r
rrZ}s�
�
rZ�__main__)rCrHZunittestrrZtest.supportr�textwraprr�rer�compilerrZTestCaserrZrW�mainr
r
r
r�<module>s$
j�
© 2025 GrazzMean