
    f                         d Z ddlZddlZddl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       yy)zAIX specific tests.    N)AIX)PsutilTestCase)shzAIX onlyc                   *    e Zd Zd Zd Zd Zd Zd Zy)AIXSpecificTestCasec                    t        d      }d}dj                         D ]  }|d|dz  } t        j                  ||      }| j	                  |d       d}t        |j                  d            |z  }t        |j                  d	            |z  }t        |j                  d
            |z  }t        |j                  d            |z  }	t        j                         }
d|z  |z  }| j                  |
j                  |       | j                  |
j                  ||       | j                  |
j                  ||       | j                  |
j                  |	|       y )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               7/usr/lib/python3/dist-packages/psutil/tests/test_aix.pytest_virtual_memoryz'AIXSpecificTestCase.test_virtual_memory   s]   ,-!
CJJL 	7Eu66J	799Z-@	
 HNN6*+b0{34r9	8>>'*+b08>>&)*R/--/
 FRK,,e4,= 	 	
 	##Y6G 	 	
 	,= 	 	
    c                    t        d      }t        j                  d|      }| j                  |d       t	        |j                  d            }d}t        j                         }| j                  t	        |j                  |z        |       y )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_memory8   s    $%
 99 
 	?	
 x~~f-.**, 	]00256Ar(   c                    t        d      }d}dj                         D ]  }|d|dz  } t        j                  ||      }| j	                  |d       d}t        j                         }| j                  |j                  t        |j                  d            |	       | j                  |j                  t        |j                  d
            |	       | j                  |j                  t        |j                  d            |	       | j                  |j                  t        |j                  d            |	       y )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_statsQ   s=   %&
 %'		7E
 u66J	7 99Z-A	

 #((*&&t$%% 	 	

 	""v&'% 	 	

 	$$u%&% 	 	

 	))v&'% 	 	
r(   c                     t        d      }t        t        j                  d|      j	                  d            }t        j                  d      }| j                  ||       y )Nr/   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_logicaly   sM    %&"))M37==a@A&&t4k2r(   c                     t        d      }t        |j                               }t        t        j                         j                               }| j                  ||       y )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_names   sI    #$SYY[)6..05578NL9r(   N)__name__
__module____qualname__r'   r-   r:   rA   rI    r(   r&   r   r      s     
DB2&
P3:r(   r   __main__)run_from_name)__doc__r   unittestr   r   psutil.testsr   r   skipIfr   rJ   psutil.tests.runnerrO   __file__rM   r(   r&   <module>rV      sd     	    '  S*%n:. n: &n:b z1( r(   