HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib64/python3.9/site-packages/borg/testsuite/__pycache__/platform.cpython-39.opt-1.pyc
a

HZ�h"�@sjddlZddlZddlZddlZddlZddlZddlZddlmZm	Z	m
Z
mZddlm
Z
mZmZddlmZmZddlmZmZddlmZd	���d
�Zd���d
�ZdZdd
�Zdd�Zejdd��Ze� ej�!d�d�e�"e�d�Gdd�de���Z#e� ej�!d�d�e�"e�d�Gdd�de���Z$e� ej�!d�d�Gdd�de��Z%dd �Z&d!d"�Z'dS)#�N�)�is_win32�is_linux�
is_freebsd�	is_darwin)�acl_get�acl_set�swidth)�get_process_id�
process_alive�)�BaseTestCase�unopened_tempfile)�free_pidzs
user::rw-
user:root:rw-:0
user:9999:r--:9999
group::r--
group:root:r--:0
group:9999:r--:9999
mask::rw-
other::r--
�asciizs
user::rw-
user:root:r--:0
user:8888:r--:8888
group::r--
group:root:r--:0
group:8888:r--:8888
mask::rw-
other::r--
cCs
dtjvS)NZFAKEROOTKEY)�os�environ�rr�=/usr/lib64/python3.9/site-packages/borg/testsuite/platform.py�fakeroot_detected)src	Cs8ts4ddl}z|�|�WdSttfy2Yn0dS)NrTF)r�pwd�getpwnam�KeyError�
ValueError)�usernamerrrr�user_exists-s
rc	Cs�t���}t|d���zZd}d|i}t||�i}t||t�|��|�dd�}|rnd|vrnWWd�dSWnty�Yn0Wd�dS1s�0YdS)N�w�Quser::rw-
group::r--
mask::rw-
other::---
user:root:rw-:9999
group:root:rw-:9999
�
acl_accesss	user::rw-TF)	r�open�closerrr�stat�get�PermissionError)�filepath�access�aclZread_aclZread_acl_accessrrr�are_acls_working8s
r'�linuxzlinux only testznot compatible with fakerootc@s�eZdZdd�Zdd�Zddd�Zdd	d
�Ze�e	�d�dd
��Z
e�e	�d�dd��Ze�ed�d�e�e	�d�dd���Z
dd�ZdS)�PlatformLinuxTestCasecCst��|_dS�N��tempfileZmkdtemp�tmpdir��selfrrr�setUpNszPlatformLinuxTestCase.setUpcCst�|j�dSr*��shutil�rmtreer-r.rrr�tearDownQszPlatformLinuxTestCase.tearDownFcCsi}t||t�|�|d�|S�N��numeric_ids�rrr!�r/�pathr7�itemrrr�get_aclTszPlatformLinuxTestCase.get_aclNcCs||d�}t|||d�dS)N)r�acl_defaultr6�r)r/r:r%�defaultr7r;rrr�set_aclYs
zPlatformLinuxTestCase.set_acl�ACLs do not workcCs�t��}|�|�|j�i�|j|jddd�|�d|�|j�d�|�d|�|j�d�|�d|j|jdd	�d�t��}|j|jddd�|�d
|�|j�d�|�d|�|j�d�dS)NrF�r%r7�user:root:rw-:0r�group:root:rw-:0suser:0:rw-:0Tr6suser:9999:rw-:9999sgroup:9999:rw-:9999�r,�NamedTemporaryFile�assert_equalr<�namer@�	assert_in�r/�file�file2rrr�test_access_acl]sz%PlatformLinuxTestCase.test_access_aclcCsZ|�|�|j�i�|j|jttd�|�|�|j�dt�|�|�|j�dt�dS)N)r%r?rr=)rGr<r-r@�
ACCESS_ACL�DEFAULT_ACLr.rrr�test_default_acljsz&PlatformLinuxTestCase.test_default_acluübelurequires übel usercCs(t��}|�|�|j�i�d}d��}d}d��}d}d�|||g�}|j|j|dd�|j|jdd	�d
}|�||�|�||�|j|jdd	�d
}	|�||	�|�||	�t��}
|j|
j|dd�|j|
jdd	�d
}|�||�|�||�|j|jdd	�d
}	|�||	�|�||	�dS)Ns*user::rw-
group::r--
mask::rw-
other::---
uuser:übel:rw-:666suser:666:rw-:666ugroup:übel:rw-:666sgroup:666:rw-:666�
FrBr6rT)	r,rFrGr<rH�encode�joinr@rI)r/rKZnothing_specialZ
user_entryZuser_entry_numericZgroup_entryZgroup_entry_numericr&rZacl_access_numericrLrrr�test_non_ascii_aclqs.z(PlatformLinuxTestCase.test_non_ascii_aclcCsPddlm}|�|d�d�|�|d�d�|�|d�d�|�|d	�d
�dS)Nr)�acl_use_local_uid_gidsuser:nonexistent1234:rw-:1234s
user:1234:rw-sgroup:nonexistent1234:rw-:1234sgroup:1234:rw-rCs
user:0:rw-rDsgroup:0:rw-)Zplatform.linuxrUrG)r/rUrrr�
test_utils�s
z PlatformLinuxTestCase.test_utils)F)NNF)�__name__�
__module__�__qualname__r0r4r<r@�unittest�skipIfr'rMrPrrTrVrrrrr)Js



r)�darwinzmacOS only testc@sHeZdZdd�Zdd�Zddd�Zddd	�Ze�e	�d
�dd��Z
d
S)�PlatformDarwinTestCasecCst��|_dSr*r+r.rrrr0�szPlatformDarwinTestCase.setUpcCst�|j�dSr*r1r.rrrr4�szPlatformDarwinTestCase.tearDownFcCsi}t||t�|�|d�|Sr5r8r9rrrr<�szPlatformDarwinTestCase.get_aclcCsd|i}t|||d�dS)N�acl_extendedr6r>)r/r:r&r7r;rrrr@�szPlatformDarwinTestCase.set_aclrAcCs�t��}t��}|�|�|j�i�|j|jddd�|�d|�|j�d�|�d|�|j�d�|j|jddd�|�d|�|j�d�|�d	|j|jdd�d�dS)
Ns�!#acl 1
group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000000:staff:0:allow:read
user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000:root:0:allow:read
Fr6s>group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000014:staff:20:allow:readr^s;user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000:root:0:allow:readTs=group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000000:wheel:0:allow:reads8group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF00000000::0:allow:readrErJrrrrM�sz&PlatformDarwinTestCase.test_access_aclN)F)F)rWrXrYr0r4r<r@rZr[r'rMrrrrr]�s

r])r(Zfreebsdr\zPOSIX only testsc@s$eZdZdd�Zdd�Zdd�ZdS)�PlatformPosixTestCasecCs|�td�d�dS)NZborg��rGr	r.rrr�test_swidth_ascii�sz'PlatformPosixTestCase.test_swidth_asciicCs|�td�d�dS)Nuバックアップ�rar.rrr�test_swidth_cjk�sz%PlatformPosixTestCase.test_swidth_cjkcCs|�td�d�dS)Nuborgバックアップ�rar.rrr�test_swidth_mixed�sz'PlatformPosixTestCase.test_swidth_mixedN)rWrXrYrbrdrfrrrrr_�sr_cCst�}|\}}}dSr*�r
)r�id�host�pid�tidrrr�test_process_alive�s
rlcCst�\}}}dSr*rg)�hostnamerjrkrrr�test_process_id�srn)(�	functoolsrZrandomr2�sysr,rZZ
platformflagsrrrr�platformrrr	r
r�r
rZlockingr�striprRrNrOZ
_acls_workingrr�	lru_cacher'Z
skipUnless�
startswithr[r)r]r_rlrnrrrr�<module>s@	�	�
L