3 JZm@sxdZddlZddlmZddlmZddlmZddlmZddlZeje dGdd d ej Z e d krtee dS) zAIX specific tests.N)AIX)run_test_module_by_name)sh)unittestzAIX onlyc@s4eZdZddZddZddZddZd d Zd S) AIXSpecificTestCasec Cstd}d}xdjD]}|d|f7}qWtj||}|j|dd}t|jd|}t|jd|}t|jd |}t|jd |} tj} d ||} |j | 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 mmodez(?P<%s>\S+)\s+z(svmon command returned unexpected outputisize availableZinusefree)delta)rsplitresearchassertIsNotNoneintgrouppsutilZvirtual_memory assertEqualtotalassertAlmostEqualusedrr ) selfout re_patternfieldmatchobjZKBrrrr psutil_resultZMEMORY_TOLERANCEr /usr/lib64/python3.6/test_aix.pytest_virtual_memorys*  z'AIXSpecificTestCase.test_virtual_memorycCsTtd}tjd|}|j|dt|jd}d}tj}|jt|j ||dS)Nz/usr/sbin/lsps -az=(?P\S+)\s+(?P\S+)\s+(?P\S+)\s+(?P\d+)MBz'lsps command returned unexpected outputrir i) rr rrrrrZ swap_memoryrr)rrrZtotal_mbZMBrrrrtest_swap_memory4sz$AIXSpecificTestCase.test_swap_memorycCstd}d}xdjD]}|d|f7}qWtj||}|j|dd}tj}|j|jt |j d|d|j|j t |j d |d|j|j t |j d |d|j|j t |j d |ddS) Nz/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 syscz(?P<%s>\S+)\s+z)mpstat command returned unexpected outputiZcs)r ZsyscZdevZsoft)rr r rrrZ cpu_statsrZ ctx_switchesrrZsyscallsZ interruptsZsoft_interrupts)rrrrrZCPU_STATS_TOLERANCErrrrtest_cpu_statsIs2     z"AIXSpecificTestCase.test_cpu_statscCs:td}ttjd|jd}tjdd}|j||dS)Nz/usr/bin/mpstat -az lcpu=(\d+)T)Zlogical)rrr rrr cpu_countr)rrZ mpstat_lcpuZ psutil_lcpurrrtest_cpu_count_logicaljs z*AIXSpecificTestCase.test_cpu_count_logicalcCs4td}t|j}ttjj}|j||dS)Nz/etc/ifconfig -l)rsetr rZ net_if_addrskeysZassertSetEqual)rrZifconfig_namesZ psutil_namesrrrtest_net_if_addrs_namesps z+AIXSpecificTestCase.test_net_if_addrs_namesN)__name__ __module__ __qualname__rr r!r$r'rrrrrs !r__main__) __doc__r rrZ psutil.testsrrrZskipIfZTestCaserr(__file__rrrrs     c