Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python34/lib64/python3.4/test/__pycache__/test_stat.cpython-34.pyo

�
f fU�@s�ddlZddlZddlmZmZedddg�Zedddg�ZGdd�d�ZGd	d
�d
eej�Z	Gdd�deej�Z
ed
kr�ej�ndS)�N)�TESTFN�import_fresh_module�statZfresh�_statZblockedc@seZdZdZdddddddd	d
ddd
hZdddddddhZdddddddhZi
dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6Zid0d16d2d36d2d46d5d66d7d86d9d:6d9d;6d<d=6d<d>6d?d@6d?dA6dBdC6dDdE6dFdG6d,dH6d*dI6d$dJ6d dK6ddL6ZdMdN�Z	e	Z
edOdPdQ�ZdRdS�Z
dTdU�ZdVdW�ZejeedX�dY�dZd[��Zejeed\�d]�d^d_��Zejejd`kda�dbdc��Zddde�ZdS)f�TestFilemodeN�	SF_APPEND�SF_ARCHIVED�SF_IMMUTABLE�SF_NOUNLINK�SF_SNAPSHOT�	UF_APPEND�
UF_COMPRESSED�	UF_HIDDEN�UF_IMMUTABLE�	UF_NODUMP�UF_NOUNLINK�	UF_OPAQUE�S_IFBLK�S_IFCHR�S_IFDIR�S_IFIFO�S_IFLNK�S_IFREG�S_IFSOCK�S_ISBLK�S_ISCHR�S_ISDIR�S_ISFIFO�S_ISLNK�S_ISREG�S_ISSOCKr�ST_MODE��ST_INO��ST_DEV��ST_NLINK��ST_UID��ST_GID��ST_SIZE��ST_ATIME��ST_MTIME�	�ST_CTIMEi�S_ISUIDi�S_ISGID�S_ENFMTi�S_ISVTXi��S_IRWXU��S_IRUSR�S_IREAD��S_IWUSR�S_IWRITE�@�S_IXUSR�S_IEXEC�8�S_IRWXG� �S_IRGRP��S_IWGRP�S_IXGRP�S_IRWXO�S_IROTH�S_IWOTH�S_IXOTHcCsPytjt�Wn8tk
rKytjt�Wntk
rFYnXYnXdS)N)�os�remover�OSError�rmdir)�self�rR�3/opt/alt/python34/lib64/python3.4/test/test_stat.py�setUp7s

zTestFilemode.setUpTcCsI|rtj|�j}ntj|�j}|jj|�}||fS)N)rM�lstat�st_moder�statmod�filemode)rQZfnamerUrV�modestrrRrRrS�get_modeAs
zTestFilemode.get_modecCs�t|jd|jd��}|j|jj|�|�d|}x�|jD]}}t|j|d�}|dkr�||krOt|��qOqOn||kr�|j||��qO|j||��qOWdS)NZS_IF�FZS_IS)	�getattrrW�lstrip�assertEqual�S_IFMT�format_funcs�
ValueError�
assertTrueZassertFalse)rQ�name�modeZfmtZtestnameZfuncname�funcrRrRrS�
assertS_ISIs
zTestFilemode.assertS_ISc
Cs$ttd��WdQXtjdkr�tjtd�|j�\}}|j|d�|jd|�|j|jj	|�|jj
�tjtd�|j�\}}|j|d�|jd|�|j|jj	|�|jj�tjtd�|j�\}}|j|d	�|jd|�|j|jj	|�|jj�tjtd
�|j�\}}|jd|�|j|d�|j|jj	|�d
�nntjtd�|j�\}}|j|dd�d
�|jd|�|j|jj
|�|jj�dS)N�w�posixi�z
-rwx------ZREGrBz
----rwx---r.z
-------rwxi$z
-r--r--r--r&z-rw)�openrrMrc�chmodrZr^rfrW�S_IMODEr8rCrIr_r)rQrVrYrRrRrS�	test_modeZs@


zTestFilemode.test_modecCsytjt�tjtd�|j�\}}|jd|�tjdkra|j|d�n|j|dd�dS)Ni�ZDIRrhz
drwx------r�d)rM�mkdirrrjrZrfrcr^)rQrVrYrRrRrS�test_directory�s
zTestFilemode.test_directory�symlinkzos.symlink not availablecCs�ytjtj�t�Wn@ttfk
r\}ztjt|���WYdd}~Xn7X|j	�\}}|j
|dd�|jd|�dS)Nr�lZLNK)rMrp�getcwdrrO�NotImplementedError�unittestZSkipTest�strrZr^rf)rQ�errrVrYrRrRrS�	test_link�s(zTestFilemode.test_link�mkfifozos.mkfifo not availablecCsFtjtd�|j�\}}|j|d�|jd|�dS)Ni�z
prwx------ZFIFO)rMrxrrZr^rf)rQrVrYrRrRrS�	test_fifo�szTestFilemode.test_fiforhzrequires PosixcCs�tjjtj�rZ|jtjdd�\}}|j|dd�|jd|�nxcd
D][}tjj|�ra|j|dd�\}}|j|dd�|jd	|�PqaqaWdS)NrUFr�cZCHR�/dev/sda�/dev/hda�bZBLK)r{r|)rM�path�exists�devnullrZr^rf)rQrVrYZblockdevrRrRrS�test_devices�s
zTestFilemode.test_devicescCsIxB|jj�D]1\}}t|j|�}|j|||�qWxB|jj�D]1\}}t|j|�}|j|||�qUWx3|jD](}t|j|�}|j|t�q�Wx3|j	D](}t|j|�}|j|t�q�WxL|j
D]A}t|j|�}|jt|��|j|d�d�qWdS)Nr)
�stat_struct�itemsr\rWr^�permission_bits�
file_flagsZassertIsInstance�int�formatsr`rb�callable)rQ�key�valueZmodvaluererRrRrS�test_module_attributes�s z#TestFilemode.test_module_attributes)�__name__�
__module__�__qualname__rWr�r�r`r�r�rTZtearDownrrZrfrlrortZ
skipUnless�hasattrrMrwryrcr�r�rRrRrRrSrsb

&
'''rc@sBeZdZeZejdddhBZejdddhBZdS)�TestFilemodeCStat�S_IFDOOR�S_IFPORT�S_IFWHT�S_ISDOOR�S_ISPORT�S_ISWHTN)r�r�r��c_statrWrr�r`rRrRrRrSr��sr�c@seZdZeZdS)�TestFilemodePyStatN)r�r�r��py_statrWrRrRrRrSr��sr��__main__)
rtrMZtest.supportrrr�r�rZTestCaser�r�r��mainrRrRrRrS�<module>s�