a
    QIh8                     @   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 us>J d}t|d| }t|d| }t|d	| }t|d
| }	t }
d| | }|
j|ksJ t|
j	| |k sJ t|
j
| |k sJ t|
j|	 |k sJ 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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   O/var/www/html/venv_bot_3.9/lib/python3.9/site-packages/psutil/tests/test_aix.pytest_virtual_memory   s"    	z'AIXSpecificTestCase.test_virtual_memoryc                 C   sT   t d}td|}|d us J t|d}d}t }t|j| |ksPJ 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   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 us>J d}t }t|jt|d |k sjJ t|j	t|d |k sJ t|j
t|d	 |k sJ t|jt|d
 |k sJ 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   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s6J d S )Nr"   z
lcpu=(\d+)   T)Zlogical)r   r   r   r   r   r   	cpu_count)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s0J d S )Nz/etc/ifconfig -l)r   setsplitr   Znet_if_addrskeys)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,   r/   r3   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   