| Server IP : 118.27.122.248 / Your IP : 216.73.216.230 Web Server : Apache System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64 User : c9415830 ( 11735) PHP Version : 8.4.17 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/python36/lib64/python3.6/test/test_tools/__pycache__/ |
Upload File : |
3
�w2_� � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddl m
Z
mZmZ e� ej
jed�Zejje�� ddlZW dQ R X dd� ZdZdZd Zd
ZdZdZd
ZdZdZdZdZdZG dd� dej �Z!G dd� de!�Z"G dd� de!�Z#e$dkr�ej%� dS )z>Tests for the unparse.py script in the Tools/parser directory.� N)�basepath�toolsdir�skip_if_missing�parserc C sL t | d��}tj|j�d }W dQ R X t | d|d��}|j� }W dQ R X |S )znRead and return the contents of a Python source file (as a
string), taking into account the file encoding.�rbr N�r)�encoding)�open�tokenize�detect_encoding�readline�read)�filenameZpyfiler �source� r �A/opt/alt/python36/lib64/python3.6/test/test_tools/test_unparse.py�read_pyfile s
r zQdef f():
for x in range(10):
break
else:
y = 2
z = 3
zIdef g():
while True:
break
else:
y = 2
z = 3
zQfrom . import fred
from .. import barney
from .australia import shrimp as prawns
zzdef f():
x = 1
def g():
nonlocal x
x = 2
y = 7
def h():
nonlocal x, y
zOtry:
1 / 0
except ZeroDivisionError as e:
raise ArithmeticError from e
z@f1(arg)
@f2
class Foo: pass
z=if cond1:
suite1
elif cond2:
suite2
else:
suite3
z,if cond1:
suite1
elif cond2:
suite2
zctry:
suite1
except ex1:
suite2
except ex2:
suite3
else:
suite4
finally:
suite5
zwith f():
suite1
zwith f() as x:
suite1
z$with f() as x, g() as y:
suite1
c @ s e Zd Zdd� Zddd�ZdS )�ASTTestCasec C s | j tj|�tj|�� d S )N)ZassertEqual�ast�dump)�self�ast1�ast2r r r �assertASTEqual{ s zASTTestCase.assertASTEqual�internalc C sL t ||dtj�}tj� }tj||� |j� }t ||dtj�}| j||� d S )N�exec) �compiler Z
PyCF_ONLY_AST�io�StringIO�unparseZUnparser�getvaluer )r �code1r r Zunparse_buffer�code2r r r r �check_roundtrip~ s zASTTestCase.check_roundtripN)r )�__name__�
__module__�__qualname__r r# r r r r r z s r c @ s� e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zd5d6� Zd7d8� Zd9d:� Zd;d<� Z d=S )>�UnparseTestCasec C s | j d� | j d� d S )Nz
f'{f"{0}"*3}'z
f'{f"{y}"*3}')r# )r r r r �
test_fstrings� s
zUnparseTestCase.test_fstringsc C s | j d� d S )Nzdel x, y, z)r# )r r r r �test_del_statement� s z"UnparseTestCase.test_del_statementc C s | j d� | j d� d S )Nz45 << 2z13 >> 7)r# )r r r r �test_shifts� s
zUnparseTestCase.test_shiftsc C s | j t� d S )N)r# �for_else)r r r r �
test_for_else� s zUnparseTestCase.test_for_elsec C s | j t� d S )N)r# �
while_else)r r r r �test_while_else� s zUnparseTestCase.test_while_elsec C s6 | j d� | j d� | j d� | j d� | j d� d S )Nz(-1)**7z(-1.)**8z(-1j)**6znot True or FalsezTrue or not False)r# )r r r r �test_unary_parens� s
z!UnparseTestCase.test_unary_parensc C s | j d� d S )Nz3 .__abs__())r# )r r r r �test_integer_parens� s z#UnparseTestCase.test_integer_parensc C s, | j d� | j d� | j d� | j d� d S )NZ1e1000z-1e1000Z1e1000jz-1e1000j)r# )r r r r �test_huge_float� s
zUnparseTestCase.test_huge_floatc C s | j td�� | j td�� d S )N� � �? l i �l l���� )r# �str)r r r r �test_min_int� s zUnparseTestCase.test_min_intc C s, | j d� | j d� | j d� | j d� d S )NZ7jz-7jZ0jz-0j)r# )r r r r �test_imaginary_literals� s
z'UnparseTestCase.test_imaginary_literalsc C s | j d� d S )Nz(lambda: int)())r# )r r r r �test_lambda_parentheses� s z'UnparseTestCase.test_lambda_parenthesesc C s | j d� | j d� d S )Nz
1 < 4 <= 5za is b is c is not d)r# )r r r r �test_chained_comparisons� s
z(UnparseTestCase.test_chained_comparisonsc C s| | j d� | j d� | j d� | j d� | j d� | j d� | j d� | j d� | j d � | j d
� | j d� | j d� d S )
Nz
def f(): passzdef f(a): passzdef f(b = 2): passzdef f(a, b): passzdef f(a, b = 2): passzdef f(a = 5, b = 2): passzdef f(*, a = 1, b = 2): passzdef f(*, a = 1, b): passzdef f(*, a, b = 2): passz&def f(a, b = None, *, c, **kwds): passz'def f(a=2, *args, c=5, d, **kwds): passzdef f(*args, **kwargs): pass)r# )r r r r �test_function_arguments� s
z'UnparseTestCase.test_function_argumentsc C s | j t� d S )N)r# �relative_import)r r r r �test_relative_import� s z$UnparseTestCase.test_relative_importc C s | j t� d S )N)r# �nonlocal_ex)r r r r �
test_nonlocal� s zUnparseTestCase.test_nonlocalc C s | j t� d S )N)r# �
raise_from)r r r r �test_raise_from� s zUnparseTestCase.test_raise_fromc C s | j d� d S )Nzb'123')r# )r r r r �
test_bytes� s zUnparseTestCase.test_bytesc C s6 | j d� | j d� | j d� | j d� | j d� d S )Nzdef f(a : int): passzdef f(a: int = 5): passzdef f(*args: [int]): passzdef f(**kwargs: dict): passzdef f() -> None: pass)r# )r r r r �test_annotations� s
z UnparseTestCase.test_annotationsc C s | j d� d S )Nz{'a', 'b', 'c'})r# )r r r r �test_set_literal� s z UnparseTestCase.test_set_literalc C s | j d� d S )Nz{x for x in range(5)})r# )r r r r �test_set_comprehension� s z&UnparseTestCase.test_set_comprehensionc C s | j d� d S )Nz{x: x*x for x in range(10)})r# )r r r r �test_dict_comprehension� s z'UnparseTestCase.test_dict_comprehensionc C s | j t� d S )N)r# �class_decorator)r r r r �test_class_decorators� s z%UnparseTestCase.test_class_decoratorsc C s | j d� d S )Nz(class A(metaclass=type, *[], **{}): pass)r# )r r r r �test_class_definition� s z%UnparseTestCase.test_class_definitionc C s | j t� | j t� d S )N)r# �elif1�elif2)r r r r �
test_elifs� s
zUnparseTestCase.test_elifsc C s | j t� d S )N)r# �try_except_finally)r r r r �test_try_except_finally� s z'UnparseTestCase.test_try_except_finallyc C s, | j d� | j d� | j d� | j d� d S )Nza, *b, c = seqza, (*b, c) = seqza, *b[0], c = seqza, *(b, c) = seq)r# )r r r r �test_starred_assignment� s
z'UnparseTestCase.test_starred_assignmentc C s | j t� d S )N)r# �with_simple)r r r r �test_with_simple� s z UnparseTestCase.test_with_simplec C s | j t� d S )N)r# �with_as)r r r r �test_with_as� s zUnparseTestCase.test_with_asc C s | j t� d S )N)r# �with_two_items)r r r r �test_with_two_items� s z#UnparseTestCase.test_with_two_itemsc C s | j d� | j d� d S )Nz{**{'y': 2}, 'x': 1}z{**{'y': 2}, **{'x': 1}})r# )r r r r �test_dict_unpacking_in_dict s
z+UnparseTestCase.test_dict_unpacking_in_dictN)!r$ r% r&