shell bypass 403
o
ab�O � @ s� d dl Z d dlZd dlmZ d dlmZmZmZ d dlm Z m
Z
d dlZd dlZd dl
Z
d dl
mZ d dlmZ dd� Zd d
� Zdd� Zd
d� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zd!d"� ZG d#d$� d$e�Z G d%d&� d&ej!�Z"G d'd(� d(ej!�Z#G d)d*� d*ej!�Z$G d+d,� d,ej!�Z%G d-d.� d.ej!�Z&G d/d0� d0ej!�Z'G d1d2� d2ej!�Z(G d3d4� d4ej!�Z)e*d5kr�e�+� dS dS )6� N)�captured_stdout)�TESTFN�rmtree�unlink��assert_python_ok�assert_python_failure)�Trace)�testmodc C s | � d�r| dd� } | S )z8Given a .pyc filename converts it to the appropriate .pyz.pycN���)�endswith)�filename� r �8/usr/local/python-3.10/lib/python3.10/test/test_trace.py�
fix_ext_py s
r c C s$ t j�t j�t��d } tt�| fS )z4The .py file and module name of this file (__file__)r )�os�path�splitext�basename�__file__r )�modnamer r r �my_file_and_modname s r c C s | j jS �N)�__code__�co_firstlineno��funcr r r �get_firstlineno � r c C s | }|}|| }|S r r )�x�y�a�b�cr r r �traced_func_linear% s r$ c C s | }t d�D ]}||7 }q|S �N� ��range)r r r# �ir r r �traced_func_loop+ s
r* c C s | | t �d� S )N� )r
r )r r r r r �traced_func_importing1 s r, c C s t | | �}|| S r �r$ )r r# r r r �traced_func_simple_caller4 s
r. c C s t | �}|t|| �7 }|S r )r. r, )r �kr r r �traced_func_importing_caller8 s r0 c c s"