
    ɧd                         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	e
d
k    rddlmZ  ee           dS dS )zAIX specific tests.    N)AIX)PsutilTestCase)sh)unittestzAIX onlyc                   ,    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        ||          }|                     |d           d}t          |                    d                    |z  }t          |                    d	                    |z  }t          |                    d
                    |z  }t          |                    d                    |z  }	t          j                    }
d|z  |z  }| 	                    |
j
        |           |                     |
j        ||           |                     |
j        ||           |                     |
j        |	|           d S )Nz/usr/bin/svmon -O unit=KBz	memory\s*z+size inuse free pin virtual available mmode(?P<>\S+)\s+z(svmon command returned unexpected outputi   size	availableinusefree   delta)r   splitresearchassertIsNotNoneintgrouppsutilvirtual_memoryassertEqualtotalassertAlmostEqualusedr   r   )selfout
re_patternfieldmatchobjKBr   r   r   r   psutil_resultTOLERANCE_SYS_MEMs               5lib/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--@	B 	B 	B HNN6**++b0{3344r9	8>>'**++b08>>&))**R/-//
 FRK,e444,= 	 	? 	? 	?#Y6G 	 	I 	I 	I,= 	 	? 	? 	? 	? 	?    c                 >   t          d          }t          j        d|          }|                     |d           t	          |                    d                    }d}t          j                    }|                     t	          |j	        |z            |           d S )Nz/usr/sbin/lsps -az=(?P<space>\S+)\s+(?P<vol>\S+)\s+(?P<vg>\S+)\s+(?P<size>\d+)MBz'lsps command returned unexpected outputr   i   )
r   r   r   r   r   r   r   swap_memoryr   r   )r   r    r#   total_mbMBr%   s         r'   test_swap_memoryz$AIXSpecificTestCase.test_swap_memory5   s    $%%
 9 0 256 6
 	?	A 	A 	A x~~f--..*,, 	]02566AAAAAr)   c                    t          d          }d}d                                D ]}|d|dz  }t          j        ||          }|                     |d           d}t          j                    }|                     |j        t          |
                    d                    |	           |                     |j        t          |
                    d
                    |	           |                     |j        t          |
                    d                    |	           |                     |j        t          |
                    d                    |	           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   z)mpstat command returned unexpected outputi  csr   syscdevsoft)r   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_statsJ   s   %&&
#egg	7 	7E Juuu66JJ9Z--A	C 	C 	C #(**&t$$%%% 	 	' 	' 	' 	"v&&''% 	 	' 	' 	' 	$u%%&&% 	 	' 	' 	' 	)v&&''% 	 	' 	' 	' 	' 	'r)   c                     t          d          }t          t          j        d|                              d                    }t          j        d          }|                     ||           d S )Nr0   z
lcpu=(\d+)   T)logical)r   r   r   r   r   r   	cpu_countr   )r   r    mpstat_lcpupsutil_lcpus       r'   test_cpu_count_logicalz*AIXSpecificTestCase.test_cpu_count_logicalk   sf    %&&")M377==a@@AA&t444k22222r)   c                     t          d          }t          |                                          }t          t          j                                                              }|                     ||           d S )Nz/etc/ifconfig -l)r   setr   r   net_if_addrskeysassertSetEqual)r   r    ifconfig_namespsutil_namess       r'   test_net_if_addrs_namesz+AIXSpecificTestCase.test_net_if_addrs_namesq   sc    #$$SYY[[))6.00557788NL99999r)   N)__name__
__module____qualname__r(   r.   r;   rB   rJ    r)   r'   r   r      sc        ? ? ?<B B B*' ' 'B3 3 3: : : : :r)   r   __main__)run_from_name)__doc__r   r   r   psutil.testsr   r   r   skipIfr   rK   psutil.tests.runnerrP   __file__rN   r)   r'   <module>rV      s      				        ' ' ' ' ' '       ! ! ! ! ! ! S*%%`: `: `: `: `:. `: `: &%`:F z 111111M( r)   