Cs[� � @ s� d 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 d d l Z e j e d � Gd d � d e j � � Z e d k r� e e � d S)zAIX specific tests.� N)�AIX)�run_test_module_by_name)�sh)�unittestzAIX onlyc @ sL e Z d Z d d � Z d d � Z d d � Z d d � Z d d � Z d S)�AIXSpecificTestCasec C sB t d � } d } x% d j � D] } | d | f 7} q Wt j | | � } | j | d � d } t | j d � � | } t | j d � � | } t | j d � � | } t | j d � � | } t j � } d | | } | j | j | � | j | j | d | �| j | j | d | �| j | j | d | �d S) 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 outputi �size� availableZinuse�free� �delta)r �split�re�search�assertIsNotNone�int�group�psutilZvirtual_memory�assertEqual�total�assertAlmostEqual�usedr r )�self�out� re_pattern�field�matchobjZKBr r r r � psutil_resultZMEMORY_TOLERANCE� r �/test_aix.py�test_virtual_memory s* z'AIXSpecificTestCase.test_virtual_memoryc C sv t d � } t j d | � } | j | d � t | j d � � } d } t j � } | j t | j | � | � 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 i ) r r r r r r r Zswap_memoryr r )r r r Ztotal_mbZMBr r r r �test_swap_memory5 s z$AIXSpecificTestCase.test_swap_memoryc C s t d � } d } x% d j � D] } | d | f 7} q Wt j | | � } | j | d � d } t j � } | j | j t | j d � � d | �| j | j t | j d � � d | �| j | j t | j d � � d | �| j | j t | j d � � d | �d S)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 outputi� Zcsr ZsyscZdevZsoft)r r r r r r Z cpu_statsr Zctx_switchesr r ZsyscallsZ interruptsZsoft_interrupts)r r r r r ZCPU_STATS_TOLERANCEr r r r �test_cpu_statsJ s2 z"AIXSpecificTestCase.test_cpu_statsc C sS t d � } t t j d | � j d � � } t j d d � } | j | | � d S)Nz/usr/bin/mpstat -az lcpu=(\d+)� ZlogicalT)r r r r r r � cpu_countr )r r Zmpstat_lcpuZpsutil_lcpur r r �test_cpu_count_logicalk s !z*AIXSpecificTestCase.test_cpu_count_logicalc C sJ t d � } t | j � � } t t j � j � � } | j | | � d S)Nz/etc/ifconfig -l)r �setr r Znet_if_addrs�keysZassertSetEqual)r r Zifconfig_namesZpsutil_namesr r r �test_net_if_addrs_namesq s z+AIXSpecificTestCase.test_net_if_addrs_namesN)�__name__� __module__�__qualname__r r r! r$ r'