ó
Gq]c           @   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 Z e j e d ƒ d e j f d „  ƒ  Yƒ Z	 e
 d	 k r£ d d
 l m Z e e ƒ n  d S(   s   AIX specific tests.iÿÿÿÿN(   t   AIX(   t   sh(   t   unittests   AIX onlyt   AIXSpecificTestCasec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         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(   Ns   /usr/bin/svmon -O unit=KBs	   memory\s*s+   size inuse free pin virtual available mmodes   (?P<%s>\S+)\s+s(   svmon command returned unexpected outputi   t   sizet	   availablet   inuset   freei   t   delta(   R   t   splitt   ret   searcht   assertIsNotNonet   intt   groupt   psutilt   virtual_memoryt   assertEqualt   totalt   assertAlmostEqualt   usedR   R   (   t   selft   outt
   re_patternt   fieldt   matchobjt   KBR   R   R   R   t   psutil_resultt   MEMORY_TOLERANCE(    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyt   test_virtual_memory   s*    
c         C   sv   t  d ƒ } t j d | ƒ } |  j | d ƒ t | j d ƒ ƒ } d } t j ƒ  } |  j t | j	 | ƒ | ƒ d  S(   Ns   /usr/sbin/lsps -as=   (?P<space>\S+)\s+(?P<vol>\S+)\s+(?P<vg>\S+)\s+(?P<size>\d+)MBs'   lsps command returned unexpected outputR   i   i   i   (
   R   R
   R   R   R   R   R   t   swap_memoryR   R   (   R   R   R   t   total_mbt   MBR   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyt   test_swap_memory4   s    		
c         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(   Ns   /usr/bin/mpstat -as   ALL\s*sf   min maj mpcs mpcr dev soft dec ph cs ics bound rq push S3pull S3grd S0rd S1rd S2rd S3rd S4rd S5rd syscs   (?P<%s>\S+)\s+s)   mpstat command returned unexpected outputiè  t   csR   t   sysct   devt   soft(   R   R	   R
   R   R   R   t	   cpu_statsR   t   ctx_switchesR   R   t   syscallst
   interruptst   soft_interrupts(   R   R   R   R   R   t   CPU_STATS_TOLERANCER   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyt   test_cpu_statsI   s2    
c         C   sS   t  d ƒ } t t j d | ƒ j d ƒ ƒ } t j d t ƒ } |  j | | ƒ d  S(   Ns   /usr/bin/mpstat -as
   lcpu=(\d+)i   t   logical(	   R   R   R
   R   R   R   t	   cpu_countt   TrueR   (   R   R   t   mpstat_lcput   psutil_lcpu(    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyt   test_cpu_count_logicalj   s    !c         C   sJ   t  d ƒ } t | j ƒ  ƒ } t t j ƒ  j ƒ  ƒ } |  j | | ƒ d  S(   Ns   /etc/ifconfig -l(   R   t   setR	   R   t   net_if_addrst   keyst   assertSetEqual(   R   R   t   ifconfig_namest   psutil_names(    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyt   test_net_if_addrs_namesp   s    (   t   __name__t
   __module__R   R!   R,   R2   R9   (    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyR      s
   			!	t   __main__(   t   run(   t   __doc__R
   R   R    t   psutil.testsR   R   t   skipIft   TestCaseR   R:   t   psutil.tests.runnerR=   t   __file__(    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_aix.pyt   <module>	   s   c