
    g                         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        	                    e d           G d	 d
e                      Z
dS )zAIX specific tests.    N)AIX)PsutilTestCase)pytest)shzAIX only)reasonc                   ,    e Zd Zd Zd Zd Zd Zd ZdS )AIXSpecificTestCasec                    t          d          }d}d                                D ]}|d|dz  }t          j        ||          }|J d}t	          |                    d                    |z  }t	          |                    d                    |z  }t	          |                    d	                    |z  }t	          |                    d
                    |z  }	t          j                    }
d|z  |z  }|
j        |k    sJ t          |
j
        |z
            |k     sJ t          |
j        |z
            |k     sJ t          |
j        |	z
            |k     sJ d S )Nz/usr/bin/svmon -O unit=KBz	memory\s*z+size inuse free pin virtual available mmode(?P<>\S+)\s+i   size	availableinusefree   )r   splitresearchintgrouppsutilvirtual_memorytotalabsusedr   r   )selfout
re_patternfieldmatchobjKBr   r   r   r   psutil_resultTOLERANCE_SYS_MEMs               Q/var/www/html/ai-engine/env/lib/python3.11/site-packages/psutil/tests/test_aix.pytest_virtual_memoryz'AIXSpecificTestCase.test_virtual_memory   s}   ,--!
CJJLL 	7 	7EJuuu66JJ9Z--###HNN6**++b0{3344r9	8>>'**++b08>>&))**R/-//
 FRK"e++++=%,--0AAAAA=*Y677:KKKKK=%,--0AAAAAAA    c                     t          d          }t          j        d|          }|J t          |                    d                    }d}t          j                    }t          |j        |z            |k    sJ 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   swap_memoryr   )r   r   r    total_mbMBr"   s         r$   test_swap_memoryz$AIXSpecificTestCase.test_swap_memory0   s    $%%
 9 
 
 ###x~~f--..*,, =&+,,888888r&   c                    t          d          }d}d                                D ]}|d|dz  }t          j        ||          }|J d}t	          j                    }t          |j        t          |	                    d                    z
            |k     sJ t          |j
        t          |	                    d                    z
            |k     sJ t          |j        t          |	                    d	                    z
            |k     sJ t          |j        t          |	                    d
                    z
            |k     sJ d S )N/usr/bin/mpstat -azALL\s*zfmin maj mpcs mpcr dev soft dec ph cs ics bound rq push S3pull S3grd S0rd S1rd S2rd S3rd S4rd S5rd syscr   r   i  cssyscdevsoft)r   r   r   r   r   	cpu_statsr   ctx_switchesr   r   syscalls
interruptssoft_interrupts)r   r   r   r   r    CPU_STATS_TOLERANCEr"   s          r$   test_cpu_statsz"AIXSpecificTestCase.test_cpu_statsG   s   %&&
 %''		7 	7E
 Juuu66JJ9Z--### #(***S1E1E-F-FFGG!" " " " &X^^F-C-C)D)DDEE!" " " " (3x~~e/D/D+E+EEFF!" " " " -HNN64J4J0K0KKLL!" " " " " "r&   c                     t          d          }t          t          j        d|                              d                    }t          j        d          }||k    sJ d S )Nr-   z
lcpu=(\d+)   T)logical)r   r   r   r   r   r   	cpu_count)r   r   mpstat_lcpupsutil_lcpus       r$   test_cpu_count_logicalz*AIXSpecificTestCase.test_cpu_count_logicali   sa    %&&")M377==a@@AA&t444k))))))r&   c                     t          d          }t          |                                          }t          t          j                                                              }||k    sJ d S )Nz/etc/ifconfig -l)r   setr   r   net_if_addrskeys)r   r   ifconfig_namespsutil_namess       r$   test_net_if_addrs_namesz+AIXSpecificTestCase.test_net_if_addrs_nameso   s^    #$$SYY[[))6.00557788------r&   N)__name__
__module____qualname__r%   r+   r8   r?   rF    r&   r$   r	   r	      sc        B B B49 9 9. 
  
  
D* * *. . . . .r&   r	   )__doc__r   r   r   psutil.testsr   r   r   markskipifr	   rJ   r&   r$   <module>rO      s      				        ' ' ' ' ' '             GJ//^. ^. ^. ^. ^.. ^. ^. 0/^. ^. ^.r&   