U
    ;g8                     @   sj   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ejj	e ddG d	d
 d
eZ
dS )zAIX specific tests.    N)AIX)PsutilTestCase)pytest)shzAIX only)reasonc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )AIXSpecificTestCasec                 C   s   t d}d}dD ]}|d| d7 }qt||}|d k	s>td}t|d| }t|d| }t|d	| }t|d
| }	t }
d| | }|
j|kstt	|
j
| |k stt	|
j| |k stt	|
j|	 |k std S )Nz/usr/bin/svmon -O unit=KBz	memory\s*)sizeinusefreeZpinZvirtual	availableZmmode(?P<>\S+)\s+i   r   r   r	   r
      )r   researchAssertionErrorintgrouppsutilZvirtual_memorytotalabsusedr   r
   )selfout
re_patternfieldmatchobjZKBr   r   r   r
   psutil_resultZTOLERANCE_SYS_MEM r   U/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/psutil/tests/test_aix.pytest_virtual_memory   s"    	z'AIXSpecificTestCase.test_virtual_memoryc                 C   sT   t d}td|}|d k	s tt|d}d}t }t|j| |ksPtd S )Nz/usr/sbin/lsps -az=(?P<space>\S+)\s+(?P<vol>\S+)\s+(?P<vg>\S+)\s+(?P<size>\d+)MBr   i   )	r   r   r   r   r   r   r   Zswap_memoryr   )r   r   r   Ztotal_mbMBr   r   r   r   test_swap_memory8   s    z$AIXSpecificTestCase.test_swap_memoryc                 C   s   t d}d}dD ]}|d| d7 }qt||}|d k	s>td}t }t|jt|	d |k sjtt|j
t|	d |k stt|jt|	d	 |k stt|jt|	d
 |k std S )N/usr/bin/mpstat -azALL\s*)minZmajZmpcsZmpcrdevsoftdecphcsZicsboundZrqpushZS3pullZS3grdZS0rdZS1rdZS2rdZS3rdZS4rdZS5rdsyscr   r   i  r)   r,   r%   r&   )r   r   r   r   r   Z	cpu_statsr   Zctx_switchesr   r   ZsyscallsZ
interruptsZsoft_interrupts)r   r   r   r   r   ZCPU_STATS_TOLERANCEr   r   r   r   test_cpu_statsO   s0    z"AIXSpecificTestCase.test_cpu_statsc                 C   s:   t d}ttd|d}tjdd}||ks6td S )Nr#   z
lcpu=(\d+)   T)Zlogical)r   r   r   r   r   r   	cpu_countr   )r   r   Zmpstat_lcpuZpsutil_lcpur   r   r   test_cpu_count_logical   s    z*AIXSpecificTestCase.test_cpu_count_logicalc                 C   s4   t d}t| }tt  }||ks0td S )Nz/etc/ifconfig -l)r   setsplitr   Znet_if_addrskeysr   )r   r   Zifconfig_namesZpsutil_namesr   r   r   test_net_if_addrs_names   s    z+AIXSpecificTestCase.test_net_if_addrs_namesN)__name__
__module____qualname__r    r"   r-   r0   r4   r   r   r   r   r      s
   "5r   )__doc__r   r   r   Zpsutil.testsr   r   r   markZskipifr   r   r   r   r   <module>	   s   