shell bypass 403
o
ab\[ � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ e� d�Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZej�e�� ejd �Ze�ejd
k d�Zdd
� Ze�e� d�Z G dd� dej!�Z"G dd� dej!�Z#G dd� d�Z$e�e%ed�d�G dd� dej!e$��Z&e�e%ed�d�G dd� dej!e$��Z'e�ejdkd�G dd � d ej!��Z(d!d"� Z)e*d#kr�e�+� dS dS )$zTest posix functions� )�support)�
import_helper)� os_helper)�warnings_helper)�assert_python_ok�posixNz-dummy-symlink� z(test is only meaningful on 32-bit buildsc
C s` t td�sdS zt�d� W dS ty/ } z| jtjkr$W Y d } ~ dS W Y d } ~ dS d } ~ ww )N�sched_getschedulerFr T)�hasattrr r �OSError�errno�ENOSYS)�e� r �8/usr/local/python-3.10/lib/python3.10/test/test_posix.py�_supports_sched s
�
���r zrequires POSIX scheduler APIc @ s�
e Zd Zdd� Zdd� Zdd� Ze�ee d�d�d d
� �Z
e�ee d�d�d
d� �Ze�ee d�d�dd� �Ze�ee d�d�dd� �Z
e�ee d�d�dd� �Ze�ee d�d�dd� �Ze�ee d�d�dd� �Ze�ee d�d �d!d"� �Ze�ee d#�d$�d%d&� �Ze�ee d'�d(�d)d*� �Ze�ee d+�d,�d-d.� �Ze�eed/d0�ejv d1�e�eed2�d3�d4d5� ��Ze�ee d6�d7�e�eed2�d3�d8d9� ��Ze�eed2�d3�d:d;� �Ze�ee d<�d=�d>d?� �Ze�ee d@�dA�dBdC� �Ze�ee dD�dE�dFdG� �Ze�ee dD�dE�e�ee dH�dI�dJdK� ��Ze�ee dD�dE�edLdM� ��Z e�ee dN�dO�dPdQ� �Z!e�ee dR�dS�dTdU� �Z"e�ee dR�dS�e�ee dV�dW�dXdY� ��Z#e�ee dR�dS�edZd[� ��Z$e�ee d\�d]�d^d_� �Z%e�ee d\�d]�d`da� �Z&e�ee db�dc�ddde� �Z'e�ee db�dc�dfdg� �Z(e�ej)ejv dh�didj� �Z*e�ej)ej+v dk�dldm� �Z,e�ee dn�do�dpdq� �Z-e�ee dn�do�edrds� ��Z.e�ee dt�du�dvdw� �Z/e�ee dt�du�edxdy� ��Z0e�ee dz�d{�d|d}� �Z1e�ee d~�d�d�d�� �Z2e�ee d��d��d�d�� �Z3e�eed��d��e4�5d�d�d��d�d�� ��Z6e�ee d��d��d�d�� �Z7e�ee d��d��d�d�� �Z8e�ee d��d��d�d�� �Z9d�d�� Z:e�ee d��d��d�d�� �Z;e�ee d���onee<d��d��d�d�� �Z=e�ee d��d��d�d�� �Z>d�d�� Z?e�ee d��d��d�d�� �Z@e�ee d��d��d�d�� �ZAe�ee d��d��d�d�� �ZBe�ee d��d��d�d�� �ZCd�d�� ZDd�d�� ZEd�d�� ZFd�d�� ZGe�e jHejv d¡d�dĄ �ZIe�ee dŃdơd�dȄ �ZJe�ee dɃdʡd�d̄ �ZKe�ee d̓dΡd�dЄ �ZLe�ee dуdҡd�dԄ �ZMe�eedՃd֡e4�5d�d�dסd�dل ��ZNe4jOe�eedՃd֡e4�5d�d�dסd�dۄ ���ZPe�ee d܃dݡd�d߄ �ZQd�d� ZRe�ee d�d�d�d� �ZSe�ee d�d�d�d� �ZTe�ee d�d�d�d� �ZUd�d� ZVd�d� ZWe�ee d�d�d�d� �ZXe�ee d�d��e�eeYd��d��e�eed��d��d�d�� ���ZZe�eed��d��e�eed��d���d �d� ��Z[e�ej\ej]v �d��d�d� �Z^e�ej_ej]v �d��d�d� �Z`e�eed���o�ejaej]v �d��d �d
� �Zbe�ej<ej]v �d��d�d
� �Zce�ej)ej]v �d��d�d� �Zde�ejeej]v �d��d�d� �Zfe�ejgej]v �d��d�d� �Zhe�eed���oKejiej]v �oKee<d���d��d�d� �Zje�ejkej]v �d��d�d� �Zle�ee�d��otejmej]v �d��d�d � �Zne�ejoej]v �d!��d"�d#� �Zpe�eeq�d$��d%�e�ee�d&��d'��d(�d)� ��Zre�ejsej]v �d*��d+�d,� �Zte�ejuej]v �d-��d.�d/� �Zve�ejwej]v �d0��d1�d2� �Zxe�ee �d3��d4�Zye�ee �d5��d6�Zzey�d7�d8� �Z{eye�ee �d9��d:��d;�d<� ��Z|e}�d=�d>� �Z~e�ee �d?��d@��dA�dB� �Zez�dC�dD� �Z�ez�dE�dF� �Z��dG�dH� Z�e�ee�dI��dJ��dK�dL� �Z��dM�dN� Z��dO�dP� Z��dQ�dR� Z�e�ee�dS��dT��dU�dV� �Z�d0S (W �PosixTesterc C s\ t tjd�� W d � n1 sw Y tjg| _t�� | _| j�� t� ddt
� d S )N�wb�ignorez.* potential security risk .*)�openr �TESTFN�teardown_filesr Zcheck_warnings�_warnings_manager� __enter__�warnings�filterwarnings�RuntimeWarning��selfr r r �setUp. s �
�zPosixTester.setUpc C s* | j D ]}t�|� q| j�d d d � d S �N)r r �unlinkr �__exit__)r Z
teardown_filer r r �tearDown8 s
zPosixTester.tearDownc C s>