U xe_@sdZddlZddlmZddlmZddlmZddlmZddlZee dGdd d eZ e d kr~dd l m Z e e dS) zAIX specific tests.N)AIX)PsutilTestCase)sh)unittestzAIX onlyc@s4eZdZddZddZddZddZd d Zd S) AIXSpecificTestCasec Cstd}d}dD]}|d|f7}qt||}||dd}t|d|}t|d|}t|d |}t|d |} t} d ||} | | j ||j | j || d |j | j || d |j | j| | d dS) Nz/usr/bin/svmon -O unit=KBz memory\s*z+size inuse free pin virtual available mmode(?P<%s>\S+)\s+z(svmon command returned unexpected outputisize availableZinusefreeZdelta)rsplitresearchassertIsNotNoneintgrouppsutilZvirtual_memory assertEqualtotalassertAlmostEqualusedr r ) selfout re_patternfieldmatchobjZKBrr rr psutil_resultZTOLERANCE_SYS_MEMrH/opt/alt/python38/lib64/python3.8/site-packages/psutil/tests/test_aix.pytest_virtual_memorys@   z'AIXSpecificTestCase.test_virtual_memorycCsTtd}td|}||dt|d}d}t}|t|j ||dS)Nz/usr/sbin/lsps -az=(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+)MBz'lsps command returned unexpected outputri) rrrrrrrZ swap_memoryrr)rrrZtotal_mbZMBrrrrtest_swap_memory5sz$AIXSpecificTestCase.test_swap_memorycCstd}d}dD]}|d|f7}qt||}||dd}t}|j|jt | d|d|j|j t | d |d|j|j t | d |d|j|j t | d |ddS) N/usr/bin/mpstat -azALL\s*zfmin maj mpcs mpcr dev soft dec ph cs ics bound rq push S3pull S3grd S0rd S1rd S2rd S3rd S4rd S5rd syscrz)mpstat command returned unexpected outputiZcsr ZsyscZdevZsoft)rr rrrrZ cpu_statsrZ ctx_switchesrrZsyscallsZ interruptsZsoft_interrupts)rrrrrZCPU_STATS_TOLERANCErrrrtest_cpu_statsJs>      z"AIXSpecificTestCase.test_cpu_statscCs:td}ttd|d}tjdd}|||dS)Nr"z lcpu=(\d+)T)Zlogical)rrrrrr cpu_countr)rrZ mpstat_lcpuZ psutil_lcpurrrtest_cpu_count_logicalks z*AIXSpecificTestCase.test_cpu_count_logicalcCs4td}t|}tt}|||dS)Nz/etc/ifconfig -l)rsetr rZ net_if_addrskeysZassertSetEqual)rrZifconfig_namesZ psutil_namesrrrtest_net_if_addrs_namesqs z+AIXSpecificTestCase.test_net_if_addrs_namesN)__name__ __module__ __qualname__r r!r#r&r)rrrrrs !r__main__) run_from_name)__doc__rrrZ psutil.testsrrrZskipIfrr*Zpsutil.tests.runnerr.__file__rrrr s     c