Sindbad~EG File Manager
a
��g�} � @ sd d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m!Z! zd dl"Z"W n e#�y( dZ"Y n0 zd dl$Z$W n e#�yN dZ$Y n0 zd dl%Z%W n e#�yt dZ%Y n0 zd dl&Z&dd� e&�'� D �Z(W n e#e)f�y� g Z(Y n0 zd dl*m+Z+m,Z, W n e#�y� ej- Z+Z,Y n0 d dl.m/Z/ d d lm0Z0m1Z1 d
Z2e3ed��re�4� d kZ2e3ed��rDej5j6�rDej5j6�7d
�Z8nd
Z8ej �7d��o`e�9� d kZ:dd� Z;d�dd�Z<G dd� dej=�Z>G dd� dej=�Z?G dd� dej=�Z@G dd� dej=�ZAd dlmBZB G dd� deBjC�ZDG dd � d ej=�ZEe�Fe3ed!�d"�G d#d$� d$eE��ZGG d%d&� d&eE�ZHe�Fe3ed!�d"�G d'd(� d(eG��ZIG d)d*� d*ej=�ZJe�Fe3ed+�d,�G d-d.� d.ej=��ZKG d/d0� d0ej=�ZLG d1d2� d2ej=�ZMG d3d4� d4ej=�ZNe�Fe3ed5�d6�G d7d8� d8ej=��ZOe�Pd9�d:k�p�e�Pd;�d:k�p�e�Pd<�d:kZQe�ReQd=�e�Rej d>kd?�G d@dA� dAej=���ZSejTd�dBdC��ZUe�Fe3edD�dE�G dFdG� dGej=��ZVe�Fej dHkdI�G dJdK� dKej=��ZWG dLdM� dMej=�ZXG dNdO� dOej=�ZYe�Rej dHkdP�G dQdR� dRej=��ZZe�Rej dHkdP�G dSdT� dTej=��Z[e�Fej dHkdI�G dUdV� dVej=��Z\e�Fej dHkdI�G dWdX� dXej=��Z]e�Fe3edY�dZ�G d[d\� d\ej=��Z^e�Fej dHkdI�ej_G d]d^� d^ej=���Z`e�Fej dHkdI�G d_d`� d`ej=��Zae�Fej dHkdI�G dadb� dbej=��Zbej_G dcdd� ddej=��ZcG dedf� dfej=�ZdG dgdh� dhej=�ZeG didj� djej=�ZfG dkdl� dlej=�Zge�hdm�e�Fe3edn�do�G dpdq� dqej=���Zie�Fe3edr��ove3eds�dt�G dudv� dvej=��ZjG dwdx� dxejkejl�Zme�Fe3edy�dz�G d{d|� d|ej=��Znd}d~� Zoe�Feo� d�e�pd�d�d��G d�d�� d�ej=���Zqe�Fe3ed��d��G d�d�� d�ej=��Zre�Fe3ed��d��e�pd�d��G d�d�� d�ej=���ZsG d�d�� d�ej=�ZtG d�d�� d�ej=�ZuG d�d�� d�ej=�ZvG d�d�� d�ej=�Zwe�Fe3ed��d��G d�d�� d�ej=��ZxG d�d�� d�ej=�ZyG d�d�� d�ej=�ZzG d�d�� d�ej=�Z{G d�d�� d�ej=�Z|G d�d�� d�ej=�Z}e;d��G d�d�� d�ej=��Z~e3ed���rNG d�d�� d�e|�Ze�d�k�r`e��� dS )�� N)�support)�
socket_helper)�win32_is_iotc C s g | ]
}|j �qS � )�pw_uid)�.0�ur r �(/usr/local/lib/python3.9/test/test_os.py�
<listcomp>3 � r
)�INT_MAX�PY_SSIZE_T_MAX��assert_python_ok)�
unix_shell�FakePathF�geteuid�thread_infoZlinuxthreadsZfreebsdc C s t �tt| �d| �S )Nzrequires os.%s)�unittest�
skipUnless�hasattr�os��namer r r �requires_os_funcP s r � contentc C s: t | dd��}|�|� W d � n1 s,0 Y d S )N�xbr )�open�write)�filenameZcontent�fpr r r �create_fileT s r! c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )� MiscTestsc C s t �� }| �|t� d S �N)r �getcwd�assertIsInstance�str��self�cwdr r r �test_getcwdZ s zMiscTests.test_getcwdc
C s~ d}d}d}|d|t |� }t�� ��>}t�|���}|}t�� }| �||� |t |�t tjj � }|dkrv�q t |�|kr�|dkr�|d |� }tj�
||�}zt�|� t�|� W n\ t
y� Y �q Y nF t�y } z,| jtjk�rW Y d } ~ �q n� W Y d } ~ n
d } ~ 0 0 |}q>tj�r:tdt |�� �� W d � n1 �sP0 Y W d � n1 �sp0 Y d S )Ni� �� Zpython_test_dir_�ar z!Tested current directory length: )�len�tempfile�TemporaryDirectoryr Z
change_cwdr r$ �assertEqual�path�sep�join�mkdir�chdir�FileNotFoundError�OSError�errnoZENAMETOOLONG�verbose�print)
r( Zmin_lenZdirlen�dirnameZtmpdirr1 �expectedr) Zneed�excr r r �test_getcwd_long_path^ s6
zMiscTests.test_getcwd_long_pathc C s. t �� }| �|t� | �t �|�t �� � d S r# )r �getcwdbr% �bytesr0 �fsdecoder$ r'