??????????????????????
???  ?????????????????
 JFIF      ?? C      


!"$"$?? C    
?? p 
" ??     
         ??             ?   
   ????

(%	aA*?XYD?(J??E  RE,P XYae?)(E  2 B  R  	BQ    X?)X     ?  @  

adadasdasdasasdasdas


.....................................................................................................................................??????????????????????
???  
 JFIF      ?? C      


!"$"$?? C    
?? p 
" ??     
         ??             ?   
   ????

(%	aA*?XYD?(J??E  RE,P XYae?)(E  2 B  R  	BQ    X?)X     ?  @  

adadasdasdasasdasdas


.....................................................................................................................................ó
SÓÜ]c           @   sì  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l	 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 d d l m Z d d l m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m  Z  d d l m! Z! d d l m" Z" d d l m# Z# d d l m$ Z$ d d l m% Z% d d l m& Z& d d l m' Z' d d l m( Z( d d l m) Z) d d l m* Z* d d l m+ Z+ d d  l m, Z, d d! l m- Z- d d" l m. Z. d d# l m/ Z/ d$ e/ j0 f d% „  ƒ  YZ1 e2 d& k rèd d' l3 m4 Z4 e4 e5 ƒ n  d S((   s   Tests for system APIS.iÿÿÿÿN(   t   AIX(   t   BSD(   t   FREEBSD(   t   LINUX(   t   MACOS(   t   NETBSD(   t   OPENBSD(   t   POSIX(   t   SUNOS(   t   WINDOWS(   t   FileNotFoundError(   t   long(   t   APPVEYOR(   t   ASCII_FS(   t   check_net_address(   t   DEVNULL(   t   enum(   t   get_test_subprocess(   t   HAS_BATTERY(   t   HAS_CPU_FREQ(   t   HAS_GETLOADAVG(   t   HAS_NET_IO_COUNTERS(   t   HAS_SENSORS_BATTERY(   t   HAS_SENSORS_FANS(   t   HAS_SENSORS_TEMPERATURES(   t   mock(   t   reap_children(   t   retry_on_failure(   t   safe_rmpath(   t   TESTFN(   t   TESTFN_UNICODE(   t   TRAVIS(   t   unittestt   TestSystemAPIsc        
   B   s  e  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 j e d ƒ d	 „  ƒ Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d  „  Z$ e
 j e% d! ƒ d" „  ƒ Z& e
 j e% d! ƒ d# „  ƒ Z' d$ „  Z( d% „  Z) e
 j e* d& ƒ d' „  ƒ Z+ e
 j e, p°e- p°e. d( ƒ d) „  ƒ Z/ e
 j e, oße0 j1 j2 d* ƒ d+ ƒ e
 j e3 o e4 j5 ƒ  d; k d, ƒ d- „  ƒ ƒ Z7 d. „  Z8 e
 j e3 p:e* o:e4 j9 ƒ  d/ ƒ d0 „  ƒ Z: d1 „  Z; e
 j e< d2 ƒ d3 „  ƒ Z= e
 j e> d! ƒ d4 „  ƒ Z? d5 „  Z@ e
 j eA d! ƒ d6 „  ƒ ZB e
 j eA d! ƒ d7 „  ƒ ZC e
 j eD d! ƒ e
 j eE d8 ƒ d9 „  ƒ ƒ ZF e
 j eG d! ƒ d: „  ƒ ZH RS(<   s   Tests for system-related APIs.c         C   s   t  t ƒ d  S(   N(   R   R   (   t   self(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   setUpA   s    c         C   s   t  ƒ  d  S(   N(   R   (   R"   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   tearDownD   s    c         C   s^  |  j  t j ƒ  g  t j ƒ  D] } | j ^ q ƒ t ƒ  } |  j  | j g  t j ƒ  D] } | j ^ qT ƒ t j | j ƒ } | j ƒ  | j	 ƒ  |  j
 | j g  t j ƒ  D] } | j ^ q© ƒ t j d d t j t j ƒ  ƒ ƒ! |  j t t j ƒ  ƒ g  ƒ Wd  QXt j d d t j t j ƒ  ƒ ƒ. |  j t j ƒ  t t j ƒ  ƒ Wd  QXWd  QXd  S(   Ns   psutil.Processt   side_effect(   t   assertInt   ost   getpidt   psutilt   process_itert   pidR   t   Processt   killt   waitt   assertNotInR   t   patcht   NoSuchProcesst   assertEqualt   listt   AccessDeniedt   assertRaises(   R"   t   xt   sproct   p(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_process_iterG   s    2	/

/"c         C   s•  x? t  j d d g ƒ D]( } |  j t | j j ƒ  ƒ d g ƒ q W|  j t ƒ  t t  j d d g ƒ ƒ Wd  QXt j	 d d t  j
 d d ƒ ƒd } xK t  j d d d g ƒ D]1 } |  j | j d ƒ |  j | j d d ƒ q® W| j sò t ‚ Wd  QXt j	 d d t  j
 d d ƒ ƒv } t ƒ  } xT t  j d d d g d	 | ƒ D]4 } |  j | j d | ƒ |  j | j d d ƒ qDW| j s‹t ‚ Wd  QXd  S(
   Nt   attrsR+   t   foos$   psutil._psplatform.Process.cpu_timesR%   i    t    t	   cpu_timest   ad_value(   R)   R*   R2   R3   t   infot   keysR5   t
   ValueErrorR   R0   R4   t   assertIsNonet   assertGreaterEqualt   calledt   AssertionErrort   objectt   assertIs(   R"   R8   t   mt   flag(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_prcess_iter_w_paramsX   s$    &	c            s¶  ‡  f d †  } g  ‰  t  ƒ  } t  ƒ  } t  ƒ  } g  | | | f D] } t j | j ƒ ^ q@ } ˆ j t t j | d d ƒˆ j t t j | d d ƒt j ƒ  } t j | d d d | ƒ\ } }	 ˆ j	 t j ƒ  | d ƒ ˆ j
 | g  ƒ ˆ j
 t |	 ƒ d ƒ ˆ j
 ˆ  g  ƒ x$ |	 D] }
 ˆ j t |
 d	 ƒ ƒ qWt d
 ƒ ‡ f d †  ƒ } | j ƒ  | | | ƒ \ } }	 ˆ j | j g  | D] } | j ^ q‡ƒ t rÃˆ j
 | j ƒ  j t j ƒ n ˆ j
 | j ƒ  j d ƒ ˆ j
 ˆ  | j g ƒ x$ |	 D] }
 ˆ j t |
 d	 ƒ ƒ qùWt d
 ƒ ‡ f d †  ƒ } | j ƒ  | j ƒ  | | | ƒ \ } }	 ˆ j
 t ˆ  ƒ t | j | j | j g ƒ ƒ x$ | D] }
 ˆ j t |
 d	 ƒ ƒ q’Wd  S(   Nc            s   ˆ  j  |  j ƒ d  S(   N(   t   appendR+   (   R8   (   t   pids(    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   callbackm   s    t   timeoutiÿÿÿÿRM   i   g{®Gáz„?g      à?i   t
   returncodei   c            sW   t  j |  d d d | ƒ\ } } ˆ  j t | ƒ d ƒ ˆ  j t | ƒ d ƒ | | f S(   NRN   g¸…ëQ¸ž?RM   i   i   (   R)   t
   wait_procsR2   t   len(   t   procsRM   t   gonet   alive(   R"   (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test   s
    c            sW   t  j |  d d d | ƒ\ } } ˆ  j t | ƒ d ƒ ˆ  j t | ƒ d ƒ | | f S(   NRN   g¸…ëQ¸ž?RM   i   i    (   R)   RP   R2   RQ   (   RR   RM   RS   RT   (   R"   (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyRU   ”   s
    (   R   R)   R,   R+   R5   RA   RP   t	   TypeErrort   timet
   assertLessR2   RQ   t   assertFalset   hasattrR   t	   terminateR&   R   t   popRO   t   signalt   SIGTERMt   sett
   assertTrue(   R"   RM   t   sproc1t   sproc2t   sproc3R6   RR   t   tRS   RT   R8   RU   (    (   RL   R"   s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_wait_procsl   sB    			.!
) 

.c   	      C   s}   t  ƒ  } t  ƒ  } t  ƒ  } g  | | | f D] } t j | j ƒ ^ q+ } x | D] } | j ƒ  qP Wt j | ƒ \ } } d  S(   N(   R   R)   R,   R+   R[   RP   (	   R"   Ra   Rb   Rc   R6   RR   R8   RS   RT   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_wait_procs_no_timeout£   s    			.c         C   sF   t  j ƒ  } |  j | t ƒ |  j | d ƒ |  j | t j ƒ  ƒ d  S(   Ni    (   R)   t	   boot_timet   assertIsInstancet   floatt   assertGreaterRX   RW   (   R"   t   bt(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_boot_time¬   s    s
   POSIX onlyc         C   s/   d d  l  } |  j t j d ƒ | j ƒ  ƒ d  S(   Niÿÿÿÿt   SC_PAGE_SIZE(   t   resourceR2   R'   t   sysconft   getpagesize(   R"   Rn   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_PAGESIZE²   s    c         C   sV  t  j ƒ  } | j d k s' t | ƒ ‚ | j d k sB t | ƒ ‚ d | j k o\ d k n sm t | ƒ ‚ | j d k sˆ t | ƒ ‚ | j d k s£ t | ƒ ‚ x¬ | j D]¡ } t	 | | ƒ } | d k rç |  j
 | t t f ƒ n  | d k r­ | d k s|  j d | | f ƒ n  | | j k rN|  j d | | j | | f ƒ qNq­ q­ Wd  S(   Ni    id   t   percentt   totals   %r < 0 (%s)s   %r > total (total=%s, %s=%s)(   R)   t   virtual_memoryRs   RE   t	   availableRr   t   usedt   freet   _fieldst   getattrRh   t   intR   t   fail(   R"   t   memt   namet   value(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_virtual_memoryº   s     +	c         C   s  t  j ƒ  } |  j | j d	 ƒ | j d k s: t | ƒ ‚ | j d k sU t | ƒ ‚ | j d k r‚ | j d k s t | ƒ ‚ n | j d k s t | ƒ ‚ d | j k o· d k n sÈ t | ƒ ‚ | j	 d k sã t | ƒ ‚ | j
 d k sþ t | ƒ ‚ d  S(
   NRs   Rv   Rw   Rr   t   sint   souti    id   (   s   totals   useds   frees   percents   sins   sout(   R)   t   swap_memoryR2   Rx   Rs   RE   Rv   Rw   Rr   R€   R   (   R"   R|   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_swap_memoryÌ   s    +c         C   s    t  ƒ  } |  j t j | j ƒ ƒ t j | j ƒ } | j ƒ  | j ƒ  |  j t j | j ƒ ƒ |  j t j d ƒ ƒ |  j	 t j d ƒ d t j
 ƒ  k ƒ d  S(   Niÿÿÿÿi    (   R   R`   R)   t
   pid_existsR+   R,   R-   R.   RY   R2   RL   (   R"   R7   R8   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_pid_existsÜ   s    	

c         C   sÔ   t  ƒ  t j ƒ  } xj | D]b } y t j | ƒ s8 t ‚ Wq t k
 r{ t j d ƒ | t j ƒ  k r| |  j | ƒ q| q Xq Wt t	 | ƒ d t	 | ƒ d ƒ } x* | D]" } |  j
 t j | ƒ d | ƒqª Wd  S(   Ngš™™™™™¹?iˆ  ip  t   msg(   R   R)   RL   R„   RE   RW   t   sleepR{   t   ranget   maxRY   (   R"   RL   R+   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_pid_exists_2æ   s    #c         C   s^   t  j ƒ  } g  t  j ƒ  D] } | j ^ q } |  j t t | ƒ ƒ | ƒ |  j | | ƒ d  S(   N(   R)   RL   R*   R+   R2   t   sortedR_   (   R"   t   pidslistR6   t	   procslist(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt	   test_pidsö   s    "c         C   s1   t  j } t t  _ z t j ƒ  Wd  | t  _ Xd  S(   N(   t   syst   stdoutR   R)   RU   (   R"   R   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt	   test_testý   s
    		c         C   sô   t  j ƒ  } |  j | t t  j d t ƒ ƒ ƒ |  j | d ƒ t j j	 d ƒ r’ t
 d ƒ  } | j ƒ  } Wd  QXd | k r’ t j d ƒ ‚ q’ n  t  j d t ƒ } t rÐ t j ƒ  d  d	 k rÐ |  j | ƒ n  |  j | d ƒ |  j | | ƒ d  S(
   Nt   percpui   s   /proc/cpuinfos   physical ids#   cpuinfo doesn't include physical idt   logicali   i   (   i   i   (   R)   t	   cpu_countR2   RQ   R=   t   TrueRC   R'   t   patht   existst   opent   readR    t   SkipTestt   FalseR	   R   t   getwindowsversionRB   (   R"   R“   t   fdt   cpuinfo_datat   physical(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_count  s    "c      
   C   s›   x” d D]Œ } t j d d | ƒ) } |  j t j ƒ  ƒ | j sG t ‚ Wd  QXt j d d | ƒ/ } |  j t j d t ƒ ƒ | j s t ‚ Wd  QXq Wd  S(   Niÿÿÿÿi    s$   psutil._psplatform.cpu_count_logicalt   return_values%   psutil._psplatform.cpu_count_physicalR“   (   iÿÿÿÿi    N(	   t   NoneR   R0   RB   R)   R”   RD   RE   R›   (   R"   t   valRH   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_count_none  s    c         C   s{   d } t  j ƒ  } t | ƒ x8 | D]0 } |  j | t ƒ |  j | d ƒ | | 7} q# W|  j | t | ƒ ƒ t | ƒ d  S(   Ni    g        (   R)   R=   t   sumRh   Ri   RC   R2   t   str(   R"   Rs   t   timest   cp_time(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_times#  s    
c         C   sn   t  t j ƒ  ƒ } t j ƒ  d } x8 t j ƒ  | k  r\ t  t j ƒ  ƒ } | | k r% d  Sq% W|  j d ƒ d  S(   Ni   s   time remained the same(   R¥   R)   R=   RW   R{   (   R"   t   t1t   stop_att   t2(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_times_time_increases@  s    c         C   sÄ   x… t  j d t ƒ D]q } d } t | ƒ x8 | D]0 } |  j | t ƒ |  j | d ƒ | | 7} q0 W|  j | t | ƒ ƒ t | ƒ q W|  j t	 t  j d t ƒ d ƒ t	 t  j d t
 ƒ ƒ ƒ d  S(   NR’   i    g        (   R)   R=   R•   R¥   Rh   Ri   RC   R2   R¦   RQ   R›   (   R"   R§   Rs   R¨   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_per_cpu_timesJ  s    
c         C   s½   t  j d t ƒ } t j ƒ  d } x” t r¸ t j ƒ  | k rJ |  j d ƒ St  j d t ƒ } xV t | | ƒ D]E \ } } t  j | ƒ t  j | ƒ } } | | } | d k rl d  Sql Wq% Wd  S(   NR’   i   RN   gš™™™™™©?(   R)   R=   R•   RW   R{   t   zipt   _cpu_busy_time(   R"   t   tot1t	   giveup_att   tot2Rª   R¬   t
   difference(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_per_cpu_times_2k  s    	
c         C   sŒ   t  j ƒ  } t  j d t ƒ } | j g  t | Œ  D] } t | ƒ ^ q1 ƒ } x9 | j D]. } |  j t | | ƒ t | | ƒ d d ƒqV Wd  S(   NR’   t   deltai   (	   R)   R=   R•   t   _makeR¯   R¥   Rx   t   assertAlmostEqualRy   (   R"   t   baset   per_cput   numt   summed_valuest   field(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_times_comparisonz  s    .c         C   s“   yN |  j  | t ƒ |  j | d ƒ |  j | d ƒ |  j | d t j ƒ  ƒ Wn> t k
 rŽ } t d | t j	 | ƒ t j	 | ƒ f ƒ ‚ n Xd  S(   Ng        g       €g      Y@s   
%s
last=%s
new=%s(
   Rh   Ri   RC   t   assertIsNott   assertLessEqualR)   R”   RE   t   pprintt   pformat(   R"   Rr   t   last_rett   new_rett   err(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   _test_cpu_percent„  s    c         C   s~   t  j d d ƒ } x? t d ƒ D]1 } t  j d d  ƒ } |  j | | | ƒ | } q W|  j t ƒ  t  j d d ƒ Wd  QXd  S(   Nt   intervalgü©ñÒMbP?id   iÿÿÿÿ(   R)   t   cpu_percentRˆ   R¢   RÆ   R5   RA   (   R"   t   lastR6   t   new(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_percentŽ  s    
c      	   C   s½   t  j d d d t ƒ } |  j t | ƒ t  j ƒ  ƒ xV t d ƒ D]H } t  j d d  d t ƒ } x! | D] } |  j | | | ƒ qf W| } qA W|  j	 t
 ƒ  t  j d d d t ƒ Wd  QXd  S(   NRÇ   gü©ñÒMbP?R’   id   iÿÿÿÿ(   R)   RÈ   R•   R2   RQ   R”   Rˆ   R¢   RÆ   R5   RA   (   R"   RÉ   R6   RÊ   Rr   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_per_cpu_percent—  s    
c         C   s‚   t  j d d ƒ } xi t d ƒ D][ } t  j d d  ƒ } x! | D] } |  j | | | ƒ q> W|  j t | ƒ | | ƒ | } q Wd  S(   NRÇ   gü©ñÒMbP?id   (   R)   t   cpu_times_percentRˆ   R¢   RÆ   R¥   (   R"   RÉ   R6   RÊ   Rr   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_times_percent¢  s    c         C   s»   t  j d d d t ƒ } |  j t | ƒ t  j ƒ  ƒ x€ t d ƒ D]r } t  j d d  d t ƒ } xK | D]C } x! | D] } |  j | | | ƒ qs W|  j t	 | ƒ | | ƒ qf W| } qA Wd  S(   NRÇ   gü©ñÒMbP?R’   id   (
   R)   RÍ   R•   R2   RQ   R”   Rˆ   R¢   RÆ   R¥   (   R"   RÉ   R6   RÊ   t   cpuRr   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_per_cpu_times_percent«  s    c      
   C   sÁ   t  j d t ƒ g  t  j d t ƒ D]7 } | j g  t t | j ƒ ƒ D] } d ^ qE ƒ ^ q# } t j	 d d | ƒF x> t  j d t ƒ D]* } x! | D] } |  j
 | d  d  ƒ q– Wq‰ WWd  QXd  S(   NR’   i    s   psutil.cpu_timesR¡   (   R)   RÍ   R•   R=   R·   Rˆ   RQ   Rx   R   R0   RÆ   R¢   (   R"   R6   t
   zero_timesRÏ   Rr   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt#   test_per_cpu_times_percent_negative¶  s    Mc         C   s‘  t  j t j ƒ  ƒ } |  j | j d ƒ | j d k sC t | ƒ ‚ | j d k s^ t | ƒ ‚ | j	 d k sy t | ƒ ‚ | j | j k s— t | ƒ ‚ | j | j	 k sµ t | ƒ ‚ d | j
 k oÏ d k n sã t | j
 ƒ ‚ t t d ƒ r^t j t j ƒ  ƒ } d } |  j | j | j ƒ |  j | j	 | j	 d
 | ƒ|  j | j | j d
 | ƒn  t j ƒ  } |  j t ƒ  t  j | ƒ Wd  QXd  S(   NRs   Rv   Rw   Rr   i    id   t
   disk_usagei   i   R¶   (   s   totals   useds   frees   percenti   i  P (   R)   RÓ   R'   t   getcwdR2   Rx   Rs   RE   Rv   Rw   Rr   RZ   t   shutilR¸   t   tempfilet   mktempR5   R
   (   R"   t   usaget   shutil_usaget	   tolerancet   fname(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_disk_usageÀ  s&    .
c         C   s0   t  r, |  j t ƒ  t j t ƒ Wd  QXn  d  S(   N(   R   R5   t   UnicodeEncodeErrorR)   RÓ   R   (   R"   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_disk_usage_unicodeÚ  s    c         C   s   t  j d ƒ d  S(   Nt   .(   R)   RÓ   (   R"   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_disk_usage_bytesà  s    c         C   si  t  j d t ƒ } |  j | d | ƒxÜ | D]Ô } |  j | j t ƒ |  j | j t ƒ |  j | j t ƒ |  j | j	 t ƒ t
 r™ d | j	 k r™ q, n  t sÃ t j j | j ƒ sÊ t | ƒ ‚ n | j t j j | j ƒ së t | ƒ ‚ | j s, t | ƒ ‚ q, Wt  j d t ƒ } |  j | d | ƒxÙ t  j d t ƒ D]Å } t
 sÛy t j | j ƒ WnX t k
 r¶} t r’t r’| j t j k r’q<n  | j t j t j f k rØ‚  qØqÛXt j j | j ƒ sÛt | ƒ ‚ n  |  j | j t ƒ |  j | j	 t ƒ q<Wd „  } | t ƒ } g  t  j d t ƒ D] } | j j ƒ  ^ q-} |  j | | ƒ t  j | ƒ d  S(   Nt   allR†   t   cdromc         S   sG   t  j j |  ƒ }  x( t  j j |  ƒ s< t  j j |  ƒ }  q W|  j ƒ  S(   N(   R'   R–   t   abspatht   ismountt   dirnamet   lower(   R–   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   find_mount_point  s    (   R)   t   disk_partitionsR›   R`   Rh   t   deviceR¦   t
   mountpointt   fstypet   optsR	   R   R'   R–   R—   RE   R•   t   statt   OSErrorR   R   t   errnot   EIOt   EPERMt   EACCESt   __file__Ræ   R&   RÓ   (   R"   t   lst   diskRÅ   Rç   t   mountR6   t   mounts(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_disk_partitionsã  sD    $!
$	+s   not supportedc            s   ‡  f d †  } t  j d t ƒ } | | ƒ t  j d t ƒ } ˆ  j | g  ƒ x9 | D]1 } ˆ  j | ƒ ˆ  j | t ƒ | | | ƒ qT Wd  S(   Nc            s”  ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ |  j d k sÓ t	 |  ƒ ‚ |  j d k sî t	 |  ƒ ‚ |  j d k s	t	 |  ƒ ‚ |  j d k s$t	 |  ƒ ‚ |  j d k s?t	 |  ƒ ‚ |  j d k sZt	 |  ƒ ‚ |  j d k sut	 |  ƒ ‚ |  j d k st	 |  ƒ ‚ d  S(	   Ni    i   i   i   i   i   i   i   (
   R2   t
   bytes_sentt
   bytes_recvt   packets_sentt   packets_recvt   errint   erroutt   dropint   dropoutRE   (   t   nt(   R"   (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   check_ntuple  s     t   pernic(   R)   t   net_io_countersR›   R•   t   assertNotEqualR`   Rh   R¦   (   R"   R  t   rett   key(    (   R"   s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_net_io_counters  s    
c         C   sf   t  j d d i  ƒK } |  j t j d t ƒ ƒ |  j t j d t ƒ i  ƒ | j s\ t	 ‚ Wd  QXd  S(   Ns"   psutil._psplatform.net_io_countersR¡   R  (
   R   R0   RB   R)   R  R›   R2   R•   RD   RE   (   R"   RH   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_net_io_counters_no_nics7  s
    c      	   C   sK  t  j ƒ  } | s t | ƒ ‚ t  j ƒ  } t t j t j t  j g ƒ } x„| j	 ƒ  D]v\ } } |  j
 | t ƒ |  j t t | ƒ ƒ t | ƒ ƒ x5| D]-} |  j
 | j t ƒ |  j
 | j t ƒ |  j
 | j t t d  ƒ f ƒ |  j
 | j t t d  ƒ f ƒ |  j | j | ƒ t j d k r?|  j
 | j t j ƒ n  | | j r2| j t j k rŸt j | j ƒ } t j | ƒ  | j | j d f ƒ Wd  QXq2| j t j k r2t j | j d t j t j d t j  ƒ d } | \ }	 }
 } } } t j |	 |
 | ƒ } t j | ƒ  | j | ƒ Wd  QXq2n  xZ | j | j | j | j! f D]: } | d  k	 rQ| j t j k r‹t" | | j ƒ q‹qQqQW| j r«|  j# | j! ƒ qš | j! rš |  j# | j ƒ qš qš WqU Wt$ sát% sát& rt' t d ƒ rG|  j t  j t j ƒ qGn; t( r+|  j t  j t j) ƒ n t* rG|  j t  j d ƒ n  d  S(   Ni   i   i    t   AF_LINKiÿÿÿÿ(   i   i   (+   R)   t   net_if_addrsRE   t   net_if_statsR_   t   sockett   AF_INETt   AF_INET6R
  t   itemsRh   R¦   R2   RQ   t   familyRz   t   addresst   netmaskt   typeR¢   t	   broadcastR&   R   t   version_infoR   t   IntEnumt   isupt
   contextlibt   closingt   bindt   getaddrinfot   SOCK_STREAMt
   AI_PASSIVEt   ptpR   RB   R   R   R   RZ   R   t	   AF_PACKETR	   (   R"   t   nicst	   nic_statst   familiest   nict   addrst   addrt   sR?   t   aft   socktypet   protot	   canonnamet   sat   ip(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_net_if_addrsA  sX    "		c         C   s¤   t  r' d t j d d  d  d  f g } n	 d
 g } t j d d | ƒY } t j ƒ  d d } | j sk t ‚ t  r‡ |  j	 | j
 d ƒ n |  j	 | j
 d	 ƒ Wd  QXd  S(   Nt   em1s   06:3d:29iÿÿÿÿs   06-3d-29s   psutil._psplatform.net_if_addrsR¡   i    s   06:3d:29:00:00:00s   06-3d-29-00-00-00(   R/  iÿÿÿÿs   06-3d-29NNN(   R   R)   R
  R¢   R   R0   R  RD   RE   R2   R  (   R"   R  RH   R&  (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt    test_net_if_addrs_mac_null_bytes}  s    !	s   unreliable on TRAVISc   	      C   sÉ   t  j ƒ  } | s t | ƒ ‚ t  j t  j t  j f } xŒ | j ƒ  D]~ \ } } |  j | t ƒ | \ } } } } |  j | t	 ƒ |  j
 | | ƒ |  j
 | | ƒ |  j | d ƒ |  j | d ƒ qC Wd  S(   Ni    (   R)   R  RE   t   NIC_DUPLEX_FULLt   NIC_DUPLEX_HALFt   NIC_DUPLEX_UNKNOWNR  Rh   R¦   t   boolR&   RC   (	   R"   R!  t   all_duplexesR}   t   statsR  t   duplext   speedt   mtu(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_net_if_statsŽ  s    s   LINUX or BSD or MACOS specificc         C   sY   t  j d d t t j d ƒ ƒ2 } t j ƒ  } |  j | i  ƒ | j sO t	 ‚ Wd  QXd  S(   Ns   psutil._psutil_posix.net_if_mtuR%   R<   (
   R   R0   Rî   Rï   t   ENODEVR)   R  R2   RD   RE   (   R"   RH   R  (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_net_if_stats_enodevž  s
    s   /proc/diskstatss3   /proc/diskstats not available on this linux versions   unreliable on APPVEYORc            s¬   ‡  f d †  } t  j d t ƒ } | d  k	 s9 t d ƒ ‚ | | ƒ t  j d t ƒ } ˆ  j t | ƒ t t | ƒ ƒ ƒ x. | D]& } | s– t | ƒ ‚ | | | ƒ q~ Wd  S(   Nc            s@  ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ t pe t sˆ  j  |  d |  j ƒ ˆ  j  |  d |  j ƒ t	 rä ˆ  j  |  d |  j
 ƒ ˆ  j  |  d |  j ƒ ˆ  j  |  d	 |  j ƒ qt rˆ  j  |  d |  j ƒ qn  x2 |  j D]' } t |  | ƒ d k st |  ƒ ‚ qWd  S(
   Ni    i   i   i   i   i   i   i   i   (   R2   t
   read_countt   write_countt
   read_bytest   write_bytesR   R   t	   read_timet
   write_timeR   t   read_merged_countt   write_merged_countt	   busy_timeR   Rx   Ry   RE   (   R  R}   (   R"   (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyR  ­  s    t   perdisks   no disks on this system?(	   R)   t   disk_io_countersR›   R¢   RE   R•   R2   RQ   R_   (   R"   R  R  R  (    (   R"   s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_disk_io_counters¨  s    
"c         C   sf   t  j d d i  ƒK } |  j t j d t ƒ ƒ |  j t j d t ƒ i  ƒ | j s\ t	 ‚ Wd  QXd  S(   Ns#   psutil._psplatform.disk_io_countersR¡   RF  (
   R   R0   RB   R)   RG  R›   R2   R•   RD   RE   (   R"   RH   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_disk_io_counters_no_disksÈ  s
    s    unreliable on APPVEYOR or TRAVISc         C   s  t  j ƒ  } |  j | g  ƒ xñ | D]é } | j s> t | ƒ ‚ |  j | j t ƒ |  j | j t t d  ƒ f ƒ | j
 d  k	 r¡ |  j | j
 t t d  ƒ f ƒ n  | j | j
 | j d k sÊ t | ƒ ‚ t j j | j ƒ t sé t rü |  j | j ƒ q# t  j | j ƒ q# Wd  S(   Ng        (   R)   t   usersR  R}   RE   Rh   R¦   t   terminalR  R¢   t   hostt   startedt   datetimet   fromtimestampR	   R   RB   R+   R,   (   R"   RJ  t   user(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt
   test_usersÒ  s    "c         C   s|   t  j ƒ  } |  j | j d ƒ xV | j D]K } t | | ƒ } |  j | d ƒ t r) | d k r) |  j | d ƒ q) q) Wd  S(   Nt   ctx_switchest
   interruptst   soft_interruptst   syscallsi    (   RR  RS  RT  RU  (   RR  RS  (   R)   t	   cpu_statsR2   Rx   Ry   RC   R    Rj   (   R"   t   infosR}   R~   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_statsæ  s    s   not suportedc            s³   ‡  f d †  } t  j d t ƒ } t r@ | r@ ˆ  j d ƒ ‚ n  t r_ | r_ ˆ  j d ƒ ‚ n  | sq t | ƒ ‚ | t  j d t ƒ g ƒ t r¯ ˆ  j	 t
 | ƒ t  j ƒ  ƒ n  d  S(   Nc            sœ   x• |  D] } ˆ  j  | j d ƒ | j d k rH ˆ  j | j | j ƒ n  xI | j D]> } t | | ƒ } ˆ  j | t t t	 f ƒ ˆ  j
 | d ƒ qR Wq Wd  S(   Nt   currentt   minR‰   g        i    (   s   currents   mins   max(   R2   Rx   R‰   RÀ   RY  Ry   Rh   Rz   R   Ri   RC   (   Rô   R  R}   R~   (   R"   (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   check_lsõ  s    R’   s   skipped on Traviss   returns empty list on FreeBSD(   R)   t   cpu_freqR•   R   t   skipTestR   RE   R›   R   R2   RQ   R”   (   R"   R[  Rô   (    (   R"   s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_cpu_freqó  s    
c         C   sY   t  j ƒ  } t | ƒ d k s$ t ‚ x. | D]& } |  j | t ƒ |  j | d ƒ q+ Wd  S(   Ni   g        (   R)   t
   getloadavgRQ   RE   Rh   Ri   RC   (   R"   t   loadavgt   load(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_getloadavg  s
    c      	   C   s&  d d d d d d d d d	 g	 } x- | D]% } |  j  t t | ƒ t d
 | ƒq( Wt j d k rÆt j so t ‚ t j s t ‚ | j	 d ƒ d t
 j j ƒ  k rÀ t j s° t ‚ | j	 d ƒ qòd t
 j j ƒ  k rFt j sä t ‚ |  j t j t j t j g j t ƒ d ƒ | j	 d ƒ | j	 d ƒ | j	 d ƒ | j	 d ƒ qòd t
 j j ƒ  k spd t
 j j ƒ  k rt j st ‚ | j	 d	 ƒ qòd t
 j j ƒ  k ròt j s³t ‚ | j	 d ƒ qòn, t j sÕt ‚ t j såt ‚ | j	 d ƒ x- | D]% } |  j t t | ƒ t d
 | ƒqùWd  S(   NR   R	   R   R   R   R   R   R   R   R†   t   posixt   linuxt   bsdi   t   sunost   solarist   darwin(   Rh   Ry   R)   R4  R'   R}   R   RE   R	   t   removeR   t   platformRæ   R   R   R2   R   R   R   t   countR•   R   R   RG   R›   (   R"   t   namesR}   (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_os_constants  s>    #c         C   sÐ   t  j ƒ  } x½ | j ƒ  D]¯ \ } } |  j | t ƒ x | D]ˆ } |  j | j t ƒ | j d  k	 rz |  j | j d ƒ n  | j	 d  k	 rŸ |  j | j	 d ƒ n  | j
 d  k	 r< |  j | j
 d ƒ q< q< Wq Wd  S(   Ni    (   R)   t   sensors_temperaturesR  Rh   R¦   t   labelRY  R¢   RC   t   hight   critical(   R"   t   tempsR}   t   entriest   entry(    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_sensors_temperatures9  s    c         C   s”   i d g d 6} t  j d d | ƒi } t j d t ƒ d d	 } | j sQ t ‚ |  j | j d
 ƒ |  j | j	 d ƒ |  j | j
 d ƒ Wd  QXd  S(   NRo  g      I@g      N@g     €Q@t   coretemps'   psutil._psplatform.sensors_temperaturesR¡   t
   fahrenheiti    g     €^@g     €a@g     Àc@(   s   labelg      I@g      N@g     €Q@(   R   R0   R)   Rn  R•   RD   RE   R2   RY  Rp  Rq  (   R"   t   dRH   Rr  (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt#   test_sensors_temperatures_fahreneitG  s    	s
   no batteryc         C   sŸ   t  j ƒ  } |  j | j d ƒ |  j | j d ƒ | j t  j t  j f k rc |  j | j d ƒ n% | j t  j k rˆ |  j | j	 ƒ n  |  j
 | j	 t ƒ d  S(   Ni    id   (   R)   t   sensors_batteryRC   Rr   RÀ   t   secsleftt   POWER_TIME_UNKNOWNt   POWER_TIME_UNLIMITEDR`   t   power_pluggedRh   R4  (   R"   R  (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_sensors_batteryS  s    c         C   s   t  j ƒ  } xz | j ƒ  D]l \ } } |  j | t ƒ xM | D]E } |  j | j t ƒ |  j | j t t f ƒ |  j	 | j d ƒ q< Wq Wd  S(   Ni    (
   R)   t   sensors_fansR  Rh   R¦   Ro  RY  Rz   R   RC   (   R"   t   fansR}   Rs  Rt  (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   test_sensors_fansa  s    N(I   t   __name__t
   __module__t   __doc__R#   R$   R9   RJ   Re   Rf   Rl   R    t   skipIfR   Rq   R   Rƒ   R…   RŠ   RŽ   R‘   R    R¤   R©   R­   R®   Rµ   R¾   RÆ   RË   RÌ   RÎ   RÐ   RÒ   RÜ   RÞ   Rà   Rø   R   R  R	  R.  R0  R   R:  R   R   R   R<  R'   R–   R—   R   R)   RG  R¢   RH  RI  RJ  RQ  RX  R   R^  R   Rb  Rm  R   Ru  Ry  R   R   R  R   R‚  (    (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyR!   >   sn   					7						
								
	!		
	
							
				7
	<			
			%t   __main__(   t   run(6   R…  R  RN  Rï   R'   RÁ   RÕ   R]   R  R   RÖ   RW   R)   R    R   R   R   R   R   R   R   R   R	   t   psutil._compatR
   R   t   psutil.testsR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    t   TestCaseR!   Rƒ  t   psutil.tests.runnerRˆ  Ró   (    (    (    s>   /usr/lib64/python2.7/site-packages/psutil/tests/test_system.pyt   <module>   sh   ÿ ÿ ÿ 1