shell bypass 403
o
`b�� � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlm Z d dl
mZ d dlm
Z
G dd� dej�ZG dd� dej�ZG d d
� d
ej�ZedkrWe�� dS dS )� N)�support)�
script_helper)�FakePathc @ 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$� Zejd%krUd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� Zd4d5� Zd6d7� Zd8d9� Z d:d;� Z!d<d=� Z"d>d?� Z#e$j%d@dA� �Z&dBdC� Z'dDdE� Z(dFdG� Z)dHdI� Z*e$j%dJdK� �Z+dLdM� Z,dNdO� Z-e$j%dPdQ� �Z.e$j%dRdS� �Z/e$j%dTdU� �Z0e$j%dVdW� �Z1dXdY� Z2dZd[� Z3d\d]� Z4e$j%d^d_� �Z5d`da� Z6dbdc� Z7ddde� Z8dfdg� Z9dhdi� Z:djdk� Z;dldm� Z<dndo� Z=dpdq� Z>drds� Z?dtS )u�
TestSpecificsc C s t |dd� d S )Nz<single>�single��compile��self�source� r �:/usr/local/python-3.10/lib/python3.10/test/test_compile.py�compile_single � zTestSpecifics.compile_singlec C s | � t| j|� d S �N)�assertRaises�SyntaxErrorr r r r r
�assertInvalidSingle s z!TestSpecifics.assertInvalidSinglec C s t ddd� t ddd� d S )N�hi�<test>�execzhi
r �r
r r r
�test_no_ending_newline s z$TestSpecifics.test_no_ending_newlinec C s t ddd� d S )N� r r r r r r r
�
test_empty r zTestSpecifics.test_emptyc C s4 t ddd� t ddd� t ddd� t ddd� d S )Nz
r r �
zhi
stuff
def f():
pass
z(this_is
really_old_mac
def f():
passr r r r r
�test_other_newlines s z!TestSpecifics.test_other_newlinesc C sH | � ttddd� dd l}|j}t|dd� | �d|� t|d|� d S )Nz
__debug__ = 1�?r r � __debug__ZsureT)r r r �builtinsr �setattr�assertEqual)r
r �prevr r r
�test_debug_assignment# s z#TestSpecifics.test_debug_assignmentc C sX | � ttd� | � ttd� | � ttd� | � ttd� | � ttd� | � ttd� d S )Nzlambda a,a:0zlambda a,a=1:0zlambda a=1,a=1:0zdef f(a, a): passzdef f(a = 0, a = 1): pass�def f(a): global a; a = 1)r r �evalr r r r r
�test_argument_handling, s z$TestSpecifics.test_argument_handlingc C � | � ttddd� d S )Nz1+*3�filenamer �r r r r r r r
�test_syntax_error5 � zTestSpecifics.test_syntax_errorc C r'