Sindbad~EG File Manager
�
SԚg�u � �� � d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZd dlZd dlZd dlmZ d dlZn# e$ r d dlZY nw xY w d dlZn
# e$ r dZY nw xY wej � ej � � ej dz � � Z ej e j d k oej pej! d
� � Z"d� Z# ej e#� � d� � Z$ G d
� dej% � � Z& G d� dej% � � Z' G d� dej% � � Z( G d� d� � Z) ej e*ed� � d� � G d� dej% e)� � � � Z+ ej e*ed� � d� � G d� dej% e)� � � � Z, ej e j
dk d� � G d� d ej% � � � � Z-d!� Z.e/d"k r ej0 � � dS dS )#� )�support)�
import_helper)� os_helper)�warnings_helper)�assert_python_okN)�contextmanagerz-dummy-symlink� z(test is only meaningful on 32-bit buildsc �� � t t d� � sdS t j d� � n2# t $ r%} | j t j k rY d } ~ dS Y d } ~ nd } ~ ww xY wdS )N�sched_getschedulerFr T)�hasattr�posixr �OSError�errno�ENOSYS)�es �,/usr/local/lib/python3.11/test/test_posix.py�_supports_schedr ) s� � ��5�.�/�/� ��u��
� ��#�#�#�#��� � � ��7�e�l�"�"��5�5�5�5�5� #�"�"�"�"��������� �4s �. �
A�A�Azrequires POSIX scheduler APIc � � e Zd Zd� Zd� Z ej eed� � d� � d� � � Z ej eed� � d� � d� � � Z
ej eed � � d
� � d� � � Z ej eed � � d
� � d� � � Z ej eed
� � d� � d� � � Z
ej eed
� � d� � d� � � Z ej eed� � d� � ej eed� � d� � d� � � � � Z ej eed� � d� � d� � � Z ej eed� � d� � d� � � Z ej eed� � d� � d� � � Z ej eed� � d � � d!� � � Z ej eed"d#� � ej v d$� � ej � � d%� � � � � Z ej eed&� � d'� � ej � � d(� � � � � Z ej � � d)� � � Z ej eed*� � d+� � d,� � � Z ej eed-� � d.� � d/� � � Z ej eed0� � d1� � d2� � � Z ej eed0� � d1� � ej eed3� � d4� � d5� � � � � Z ej eed0� � d1� � e!d6� � � � � Z" ej eed7� � d8� � d9� � � Z# ej eed:� � d;� � d<� � � Z$ ej eed:� � d;� � ej eed=� � d>� � d?� � � � � Z% ej eed:� � d;� � e!d@� � � � � Z& ej eedA� � dB� � dC� � � Z' ej eedA� � dB� � dD� � � Z( ej eedE� � dF� � dG� � � Z) ej eedE� � dF� � dH� � � Z* ej ej+ ej v dI� � dJ� � � Z, ej ej+ ej- v dK� � dL� � � Z. ej eedM� � dN� � dO� � � Z/ ej eedM� � dN� � e!dP� � � � � Z0 ej eedQ� � dR� � dS� � � Z1 ej eedQ� � dR� � e!dT� � � � � Z2 ej eedU� � dV� � ej3 ej4 dW� � dX� � � � � Z5 ej eedY� � dZ� � d[� � � Z6 ej eed\� � d]� � ej3 ej4 d^� � d_� � � � � Z7 ej eed`� � da� � ej8 dbdcdd� � ej9 � � de� � � � � � � Z: ej eedf� � dg� � dh� � � Z; ej eedi� � dj� � dk� � � Z< ej eedl� � dm� � dn� � � Z=do� Z> ej eedp� � dq� � dr� � � Z? ej eeds� � o ee@dt� � du� � dv� � � ZA ej eedw� � dx� � dy� � � ZBdz� ZC ej eed{� � d|� � ej3 ejD d}� � d~� � � � � ZEeFjG ej eed� � d�� � ej3 ejD d}� � d�� � � � � � � ZHeFjG ej eed�� � d�� � d�� � � � � ZI ej eed�� � d�� � d�� � � ZJd�� ZKd�� ZLd�� ZMd�� ZN ej ejO ej v d�� � d�� � � ZP ej eed�� � d�� � d�� � � ZQ ej eed�� � d�� � d�� � � ZR ej eed�� � d�� � d�� � � ZS ej eed�� � d�� � d�� � � ZT ej eed�� � d�� � ej8 dbdcd�� � d�� � � � � ZUejV ej eed�� � d�� � ej8 dbdcd�� � d�� � � � � � � ZW ej eed�� � d�� � d�� � � ZXd�� ZYeFjG d�� � � ZZd�� Z[eFjG d�� � � Z\ ej eed�� � d�� � d�� � � Z] ej eed�� � d�� � d�� � � Z^d�� Z_d�� Z`eFja d�� � � ZbeFja d�� � � Zc ej eed�� � d�� � eFja d�� � � � � Zd ej eed�� � d�� � eFja d�� � � � � Zed�� Zf ej eed�� � d�� � d�� � � Zg ej eed�� � d�� � d�� � � Zh ej eed�� � d�� � d�� � � Zid�� Zjd�� Zk ej eed�� � d�� � d�� � � Zl ej eed�� � d�� � ej eed� � d� � ej eed�� � d�� � d�� � � � � � � Zm ej eed¦ � dæ � ej eedĦ � dŦ � ej9 � � dƄ � � � � � � Zn ej eeodǦ � dȦ � ej eedɦ � dʦ � d˄ � � � � Zp ej eed̦ � dͦ � Zq ej eedΦ � dϦ � ZreqdЄ � � Zseq ej eedѦ � dҦ � dӄ � � � � ZteudԄ � � Zv ej eedզ � d֦ � dׄ � � Zwerd � � Zxerdل � � Zy ej3 ej4 dڦ � ej ejz d�k dܦ � d݄ � � � � Z{ ej eedަ � dߦ � d� � � Z|d� Z}d� Z~d� Z ej eed� � d� � d� � � Z�d#S )��PosixTesterc �B � | � t j t j � � t t j d� � 5 d d d � � n# 1 swxY w Y | � t
j � � � � t j ddt � � d S )N�wb�ignorez.* potential security risk .*)�
addCleanupr �unlink�TESTFN�open�enterContextr �check_warnings�warnings�filterwarnings�RuntimeWarning��selfs r �setUpzPosixTester.setUp8 s� � ���� �(�)�*:�;�;�;�
�)�"�D�
)�
)� � �� � � � � � � � � � � ���� � � � ����/�8�:�:�;�;�;����*I� .� 0� 0� 0� 0� 0s �A�A�Ac �� � g d�}|D ]m}t t |d � � }|�S| � |� � 5 |� � | � t |d� � d d d � � n# 1 swxY w Y �nd S )N)�ctermid�getcwd�getcwdb�uname�times�
getloadavg�getegid�geteuid�getgid� getgroups�getpid�getpgrp�getppid�getuid�sync� )�getattrr
�subTest�assertRaises� TypeError)r# �NO_ARG_FUNCTIONS�name�
posix_funcs r �testNoArgFunctionszPosixTester.testNoArgFunctionsA s� � �� � �� %� @� @�D� ���d�3�3�J��%��\�\�$�'�'� @� @��J�L�L�L��%�%�i��Q�?�?�?�@� @� @� @� @� @� @� @� @� @� @���� @� @� @� @�� @� @s �'A)�)A- �0A- � getresuidztest needs posix.getresuid()c � � t j � � }| � t |� � d� � |D ]}| � |d� � �d S �N� r )r
r>