
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
ybN                 @   s   d dl Z d dlZd dlZd dlZddlmZmZmZmZm	Z	m
Z
 ddlmZ eje dG dd deZejjd	d
g fdd
gfddgfdddgffdd ZdS )    N   )
is_enabledgetxattrsetxattr	listxattrbuffersplit_lstring   )BaseTestCasezxattr not enabled on filesystemc               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )XattrTestCasec             C   s.   t j | _| jjd | _tj| jj| j d S )Nz.symlink)tempfileZNamedTemporaryFiletmpfilenamesymlinkos)self r   /usr/lib64/python3.6/xattr.pysetUp   s    
zXattrTestCase.setUpc             C   s   t j| j d S )N)r   unlinkr   )r   r   r   r   tearDown   s    zXattrTestCase.tearDownc             C   s&   t |dh }t |}| j|| d S )Nzsecurity.selinux)setassert_equal)r   Zis_xZwant_xr   r   r   assert_equal_se   s    zXattrTestCase.assert_equal_sec             C   s.  | j t| jjg  | j t| jj g  | j t| jg  t| jjdd t| jj dd t| jjdd  | j t| jjdddg | j t| jj dddg | j t| jdddg | j t| jddg  | jt| jjdd | jt| jj dd | jt| jdd | jt| jjdd  d S )Nzuser.foos   barzuser.bars   fooz
user.emptyF)follow_symlinks)	r   r   r   r   filenor   r   r   r   )r   r   r   r   test   s    zXattrTestCase.testc             C   sj   t jddd dd tdD }x|D ]}t| jj|d q&W t| jj}| j|| tt dksft	d S )N@   T)sizeinitc             S   s   g | ]}d | qS )zuser.attr%dr   ).0ir   r   r   
<listcomp>0   s    z>XattrTestCase.test_listxattr_buffer_growth.<locals>.<listcomp>      x)
r   resizeranger   r   r   r   r   lenAssertionError)r   keyskeyZgot_keysr   r   r   test_listxattr_buffer_growth,   s    
z*XattrTestCase.test_listxattr_buffer_growthc             C   sT   t jddd dd }t| jjd| t| jjd}| j|| | jtt d d S )Nr   T)r   r   r$   ~   zuser.big   )r   r%   r   r   r   r   r   r'   )r   valueZ	got_valuer   r   r   test_getxattr_buffer_growth7   s    z)XattrTestCase.test_getxattr_buffer_growthN)	__name__
__module____qualname__r   r   r   r   r+   r/   r   r   r   r   r      s   r   zlstring, splitted        s   a   as   acds   cdc             C   s   t | |kstd S )N)r   r(   )ZlstringZsplittedr   r   r   test_split_lstringA   s    r6   )r   r   ZunittestZpytestZxattrr   r   r   r   r   r    r
   Z
skipUnlessr   ZmarkZparametrizer6   r   r   r   r   <module>   s    5