shell bypass 403
o
`b)� � @ s` d dl mZ d dlmZ d dlmZ d dlZd dlmZ d dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZe
jdkZejdkZd ZdZd Zd
ZdZd ZdZdZd
d� Zdd� ZG dd� d�ZG dd� deej �Z!G dd� deej �Z"G dd� dej �Z#G dd� deej �Z$G dd� deej �Z%G dd� deej �Z&e'dkr�e�(� dS dS ) � )�support)�
import_helper)� os_helperN)�
namedtuple�nt�darwin� � � � l �� c C s. t j�| �} t j�| �d }|�� �d�� �S )Nr �_d)�os�path�basename�splitext�casefold�endswith)Zprogram�name� r �8/usr/local/python-3.10/lib/python3.10/test/test_embed.py�debug_build% s r c C s, t tj�} t| �D ]
}|�d�r| |= q | S )NZPYTHON)�dictr
�environ�list�
startswith)�env�keyr r r �remove_python_envvars+ s
�r c @ s: e Zd Zdd� Zdd� Zdddddd�dd �Zd
d� ZdS )�EmbeddingTestsMixinc C s� t j�t�}t j�t j�t j�|���}d}tr/ttj�rdndd }||7 }t j�tj�}nt j� |d�}t j� ||� | _
}t j�|�sM| �d| � t �
� | _t �|� d S )N�
_testembedr � z.exeZProgramsz%r doesn't exist)r
r �abspath�__file__�dirname�
MS_WINDOWSr �sys�
executable�join�test_exe�existsZskipTest�getcwd�oldcwd�chdir)�self�hereZbasepathZexename�extZexepathZexer r r �setUp5 s
zEmbeddingTestsMixin.setUpc C s t �| j� d S �N)r
r, r+ �r- r r r �tearDownH s zEmbeddingTestsMixin.tearDownNr )r �timeout�
returncode�input�cwdc G s� | j g}|�|� |durtr|�� }tjd |d<