ó
Gq]c           @  sG  d  Z  d d l m 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! Z+ d" Z, d# Z- e) rpe. n e/ Z0 e
 j1 j2 Z2 e
 j3 ƒ  Z4 e) rše. n e/ Z0 d$ „  Z5 d% e* j6 f d& „  ƒ  YZ7 d' e7 f d( „  ƒ  YZ8 d) e7 f d* „  ƒ  YZ9 d+ e8 f d, „  ƒ  YZ: d- e7 f d. „  ƒ  YZ; e< d/ k rCd d0 l= m> Z> e> e? ƒ n  d S(1   s)  
Tests for detecting function memory leaks (typically the ones
implemented in C). It does so by calling a function many times and
checking whether process memory usage keeps increasing between
calls or over time.
Note that this may produce false positives (especially on Windows
for some reason).
iÿÿÿÿ(   t   print_functionN(   t   LINUX(   t   MACOS(   t   OPENBSD(   t   POSIX(   t   SUNOS(   t   WINDOWS(   t   bytes2human(   t   xrange(   t   create_sockets(   t   get_test_subprocess(   t   HAS_CPU_AFFINITY(   t   HAS_CPU_FREQ(   t   HAS_GETLOADAVG(   t   HAS_ENVIRON(   t
   HAS_IONICE(   t   HAS_MEMORY_MAPS(   t   HAS_NET_IO_COUNTERS(   t   HAS_PROC_CPU_NUM(   t   HAS_PROC_IO_COUNTERS(   t
   HAS_RLIMIT(   t   HAS_SENSORS_BATTERY(   t   HAS_SENSORS_FANS(   t   HAS_SENSORS_TEMPERATURES(   t   reap_children(   t   safe_rmpath(   t   skip_on_access_denied(   t   TESTFN(   t   TRAVIS(   t   unittestiè  i   i   c           C  s   t  j t o t d ƒ S(   Ns    worthless on LINUX (pure python)(   R   t   skipIfR   t   SKIP_PYTHON_IMPL(    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   skip_if_linuxI   s    t   TestMemLeakc           B  sY   e  Z d  Z e Z e Z e Z d „  Z	 d „  Z
 d „  Z e d „  ƒ Z e d „  ƒ Z RS(   sŸ   Base framework class which calls a function many times and
    produces a failure if process memory usage keeps increasing
    between calls or over time.
    c         C  s   t  j ƒ  d  S(   N(   t   gct   collect(   t   self(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   setUpW   s    c           sÿ  ‡  ‡ ‡ ‡ ‡ f d †  } ˆ j  d d ƒ p3 ˆ j } ˆ j  d d ƒ pN ˆ j ‰ ˆ j  d d ƒ pi ˆ j } x' t d ƒ D] } ˆ j ˆ ˆ  ˆ Ž qy Wˆ j t j	 g  ƒ ˆ j t
 j ƒ  d ƒ ˆ j t j ƒ  g  ƒ | ƒ  ˆ j ƒ  } | ƒ  ˆ j ƒ  }	 |	 | }
 |
 | k rûd } t j ƒ  | } x3 t j ƒ  | k r\ˆ j ˆ ˆ  ˆ Ž | d 7} q*W~ t j ƒ  ˆ j ƒ  } | |	 } | |	 k rût |
 | ƒ } t d | d	 t j ƒd
 } | d 7} | t |
 ƒ ˆ t | ƒ | | f } ˆ j | ƒ qûn  d S(   s   Test a callable.c            s;   x' t  ˆ ƒ D] }  ˆ j ˆ ˆ  ˆ Ž q W~  t j ƒ  d  S(   N(   R   t   _callR"   R#   (   t   x(   t   argst   funt   kwargst   loopsR$   (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   call_many_times\   s    t
   tolerance_t   loops_t
   retry_for_i
   i   i    s   exta proc mem: %st   files0   +%s after %s calls, +%s after another %s calls, s   +%s extra proc memN(   t   popt   Nonet	   toleranceR+   t	   retry_fort   rangeR&   t   assertEqualR"   t   garbaget	   threadingt   active_countt   thisproct   childrent   _get_memt   timeR#   R   t   printt   syst   stderrt   fail(   R$   R)   R(   R*   R,   R3   R4   R'   t   mem1t   mem2t   diff1t   ncallst   stop_att   mem3t   diff2t   extra_proc_memt   msg(    (   R(   R)   R*   R+   R$   s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   executeZ   sB    




c           s,   ‡  ‡ ‡ ‡ ‡ f d †  } ˆ j  | ƒ d S(   sR   Convenience function which tests a callable raising
        an exception.
        c             s   ˆ j  ˆ ˆ ˆ  ˆ Ž d  S(   N(   t   assertRaises(    (   R(   t   excR)   R*   R$   (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   call™   s    N(   RK   (   R$   RM   R)   R(   R*   RN   (    (   R(   RM   R)   R*   R$   s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   execute_w_exc•   s    c           C  s0   t  s t s t r t j ƒ  j St j ƒ  j Sd  S(   N(   R   R   R   R:   t   memory_full_infot   usst   memory_infot   rss(    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR<   ž   s    c         O  s   |  | | Ž  d  S(   N(    (   R)   R(   R*   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR&   §   s    (   t   __name__t
   __module__t   __doc__t   MEMORY_TOLERANCER3   t   LOOPSR+   t	   RETRY_FORR4   R%   RK   RO   t   staticmethodR<   R&   (    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR!   N   s   		;			t   TestProcessObjectLeaksc           B  sÎ  e  Z d  Z e Z d „  Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z	 e ƒ  d „  ƒ Z
 e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e ƒ  d	 „  ƒ Z d
 „  Z d „  Z e j e d ƒ d „  ƒ Z e j e d ƒ d „  ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  e d e ƒ d „  ƒ ƒ Z e j e d ƒ d „  ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e ƒ  d „  ƒ Z  e ƒ  e d e ƒ d „  ƒ ƒ Z! e ƒ  d „  ƒ Z" e ƒ  e j e# d ƒ d „  ƒ ƒ Z$ e ƒ  d „  ƒ Z% e ƒ  d „  ƒ Z& e j e d ƒ e ƒ  d „  ƒ ƒ Z' e j e oe( d ƒ d  „  ƒ Z) e ƒ  d! „  ƒ Z* e j e+ d ƒ d" „  ƒ Z, e j e+ d ƒ d# „  ƒ Z- e ƒ  d$ „  ƒ Z. e j e/ d ƒ e ƒ  d% „  ƒ ƒ Z0 e j e1 d& ƒ e j e2 d ƒ d' „  ƒ ƒ Z3 e j e1 d& ƒ e j e2 d ƒ d( „  ƒ ƒ Z4 e ƒ  e j e d) ƒ d* „  ƒ ƒ Z5 e j e6 d ƒ d+ „  ƒ Z7 e j e d ƒ d, „  ƒ Z8 RS(-   s$   Test leaks of Process class methods.c         C  sq   t  d ƒ } x^ t t j ƒ D]M } | j d ƒ r7 q n  | | k rI q n  |  j t |  d | ƒ d | ƒq Wd  S(   Nt   pidt   as_dictR;   t   cpu_affinityt   cpu_percentt   ionicet
   is_runningt   killt   memory_info_ext   memory_percentt   nicet   oneshott   parentt   parentst   rlimitt   send_signalt   suspendt	   terminatet   waitt   _t   test_RJ   (   R\   R]   R;   R^   R_   R`   Ra   Rb   Rc   Rd   Re   Rf   Rg   Rh   Ri   Rj   Rk   Rl   Rm   (   t   sett   dirt   psutilt   Processt
   startswitht
   assertTruet   hasattr(   R$   t   skipt   name(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_coverage¶   s       	c         C  s   |  j  |  j j ƒ d  S(   N(   RK   t   procRx   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_nameÃ   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   cmdline(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cmdlineÇ   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   exe(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_exeË   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   ppid(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_ppidÏ   s    s
   POSIX onlyc         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   uids(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_uidsÓ   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   gids(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_gidsØ   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   status(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_statusÝ   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   Re   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_nice_getá   s    c         C  s&   t  j ƒ  } |  j |  j j | ƒ d  S(   N(   R:   Re   RK   Rz   (   R$   t   niceness(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_nice_setä   s    s   not supportedc         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   R`   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_ionice_getè   s    c         C  sy   t  r+ t j ƒ  } |  j |  j j | ƒ nJ |  j |  j j t j ƒ t j t	 j
 t j ƒ  d d ƒ } |  j t | ƒ d  S(   Niÿÿÿÿi    (   R   R:   R`   RK   Rz   Rr   t   IOPRIO_CLASS_NONEt	   functoolst   partialt   cextt   proc_ioprio_sett   ost   getpidRO   t   OSError(   R$   t   valueR)   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_ionice_setì   s    !c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   io_counters(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_io_countersö   s    s   worthless on POSIXc         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   username(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_usernameû   s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   create_time(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_create_timeÿ   s    t   only_ifc         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   num_threads(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_num_threads  s    s   WINDOWS onlyc         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   num_handles(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_num_handles  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   num_fds(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_num_fds  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   num_ctx_switches(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_num_ctx_switches  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   threads(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_threads  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t	   cpu_times(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_times  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   cpu_num(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_num  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   RR   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_memory_info#  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   RP   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_memory_full_info'  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   terminal(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_terminal+  s    s    worthless on POSIX (pure python)c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   resume(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_resume0  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   cwd(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cwd5  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   R^   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_affinity_get9  s    c         C  sK   t  j ƒ  } |  j |  j j | ƒ t sG |  j t |  j j d g ƒ n  d  S(   Niÿÿÿÿ(   R:   R^   RK   Rz   R   RO   t
   ValueError(   R$   t   affinity(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_affinity_set=  s    c         C  s7   t  t ƒ t t d ƒ  |  j |  j j ƒ Wd  QXd  S(   Nt   w(   R   R   t   openRK   Rz   t
   open_files(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_open_filesD  s    
c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   memory_maps(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_memory_mapsJ  s    s
   LINUX onlyc         C  s   |  j  |  j j t j ƒ d  S(   N(   RK   Rz   Ri   Rr   t   RLIMIT_NOFILE(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_rlimit_getO  s    c         C  sK   t  j t j ƒ } |  j |  j j t j | ƒ |  j t |  j j d ƒ d  S(   Niÿÿÿÿ(   R:   Ri   Rr   R½   RK   Rz   RO   R“   (   R$   t   limit(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_rlimit_setT  s    s   worthless on WINDOWSc         C  s<   t  ƒ  - t r d n d } |  j |  j j | ƒ Wd  QXd  S(   Nt   inett   all(   R	   R   RK   Rz   t   connections(   R$   t   kind(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_connections[  s    
c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   t   environ(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_environg  s    c         C  s   |  j  t j t j ƒ  ƒ d  S(   N(   RK   R   t	   proc_infoR‘   R’   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_proc_infok  s    (9   RT   RU   RV   R:   Rz   Ry   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¤   R¦   R¨   R   Rª   R«   R¬   R®   R   R°   R²   R   R³   R¶   Rº   R   R¼   R   R   R¾   RÀ   RÅ   R   RÇ   RÉ   (    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR[   ±   sf   			
	t   TestProcessDualImplementationc           B  s#   e  Z e r! d  „  Z d „  Z n  RS(   c         C  s#   |  j  t j t j ƒ  d t ƒd  S(   Nt   use_peb(   RK   R   t   proc_cmdlineR‘   R’   t   True(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cmdline_peb_trues  s    c         C  s#   |  j  t j t j ƒ  d t ƒd  S(   NRË   (   RK   R   RÌ   R‘   R’   t   False(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cmdline_peb_falsev  s    (   RT   RU   R   RÎ   RÐ   (    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRÊ   p  s   	t   TestTerminatedProcessLeaksc           B  st   e  Z d  Z e d „  ƒ Z e d „  ƒ Z d „  Z e rr d „  Z d „  Z	 d „  Z
 d „  Z d „  Z d	 „  Z n  RS(
   sñ   Repeat the tests above looking for leaks occurring when dealing
    with terminated processes raising NoSuchProcess exception.
    The C functions are still invoked but will follow different code
    paths. We'll check those code paths.
    c         C  sO   t  t |  ƒ j ƒ  t ƒ  } t j | j ƒ |  _ |  j j ƒ  |  j j	 ƒ  d  S(   N(
   t   superRÑ   t
   setUpClassR
   Rr   Rs   R\   Rz   Rb   Rm   (   t   clst   p(    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRÓ     s
    	c         C  s   t  t |  ƒ j ƒ  t ƒ  d  S(   N(   RÒ   RÑ   t   tearDownClassR   (   RÔ   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRÖ   ‰  s    c         O  s,   y | | | Ž  Wn t  j k
 r' n Xd  S(   N(   Rr   t   NoSuchProcess(   R$   R)   R(   R*   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR&   Ž  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   Rb   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_kill–  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   Rl   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_terminate™  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   Rk   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_suspendœ  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   R¯   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR°   Ÿ  s    c         C  s   |  j  |  j j ƒ d  S(   N(   RK   Rz   Rm   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_wait¢  s    c           s    ‡  f d †  } ˆ  j  | ƒ d  S(   Nc            sI   y t  j ˆ  j j ƒ SWn+ t k
 rD }  |  j t j k rE ‚  qE n Xd  S(   N(   R   RÈ   Rz   R\   R“   t   errnot   ESRCH(   t   err(   R$   (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRN   §  s
    (   RK   (   R$   RN   (    (   R$   s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRÉ   ¥  s    (   RT   RU   RV   t   classmethodRÓ   RÖ   R&   R   RØ   RÙ   RÚ   R°   RÛ   RÉ   (    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRÑ   z  s   						t   TestModuleFunctionsLeaksc           B  sÜ  e  Z d  Z d „  Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z	 e ƒ  e
 j e d ƒ d „  ƒ ƒ Z e
 j e d ƒ d	 „  ƒ Z d
 „  Z e
 j e d ƒ d „  ƒ Z e
 j e oã e d ƒ d „  ƒ Z e
 j e oe d ƒ d „  ƒ Z d „  Z e
 j e o;e j j d ƒ d ƒ e ƒ  d „  ƒ ƒ Z e ƒ  d „  ƒ Z e
 j e owe d ƒ e ƒ  e
 j e  d ƒ d „  ƒ ƒ ƒ Z! e
 j e d ƒ e
 j e oÏe j" ƒ  d k d ƒ d „  ƒ ƒ Z# d „  Z$ e
 j e d ƒ d „  ƒ Z% e ƒ  e
 j e& d ƒ d „  ƒ ƒ Z' e ƒ  e
 j e( d ƒ d „  ƒ ƒ Z) e ƒ  e
 j e* d ƒ d  „  ƒ ƒ Z+ e ƒ  d! „  ƒ Z, e
 j e- d" ƒ d# „  ƒ Z. e- rÚd$ „  Z/ d% „  Z0 d& „  Z1 d' „  Z2 d( „  Z3 n  RS()   s&   Test leaks of psutil module functions.c         C  sh   t  d
 ƒ } xU t j D]J } | j ƒ  s. q n  | | k r@ q n  |  j t |  d | ƒ d	 | ƒq Wd  S(   Nt   version_infot   __version__t   process_itert
   wait_procsR_   t   cpu_times_percentt	   cpu_countRo   RJ   (   Rá   Râ   Rã   Rä   R_   Rå   Ræ   (   Rp   Rr   t   __all__t   islowerRu   Rv   (   R$   Rw   Rx   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRy   ¹  s     	c         C  s   |  j  t j d t ƒd  S(   Nt   logical(   RK   Rr   Ræ   RÍ   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_count_logicalÆ  s    c         C  s   |  j  t j d t ƒd  S(   NRé   (   RK   Rr   Ræ   RÏ   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_count_physicalÊ  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   R§   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyR¨   Î  s    c         C  s   |  j  t j d t ƒd  S(   Nt   percpu(   RK   Rr   R§   RÍ   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_per_cpu_timesÒ  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t	   cpu_stats(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_statsÖ  s    s   not supportedc         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   cpu_freq(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_cpu_freqÚ  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t
   getloadavg(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_getloadavgß  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   virtual_memory(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_virtual_memoryå  s    s&   worthless on SUNOS (uses a subprocess)c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   swap_memory(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_swap_memoryé  s    s    worthless on POSIX (pure python)c         C  s   |  j  t j t j ƒ  ƒ d  S(   N(   RK   Rr   t
   pid_existsR‘   R’   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_pid_existsî  s    c         C  s   |  j  t j d ƒ d  S(   Nt   .(   RK   Rr   t
   disk_usage(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_disk_usageõ  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   disk_partitions(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_disk_partitionsú  s    s   /proc/diskstatss3   /proc/diskstats not available on this Linux versionc         C  s   |  j  t j d t ƒd  S(   Nt   nowrap(   RK   Rr   t   disk_io_countersRÏ   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_disk_io_countersý  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   pids(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt	   test_pids  s    s   false positive on travisc         C  s   |  j  t j d t ƒd  S(   NRÿ   (   RK   Rr   t   net_io_countersRÏ   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_net_io_counters  s    s    worthless on Linux (pure python)i    s   need root accessc         C  s$   t  ƒ   |  j t j ƒ Wd  QXd  S(   N(   R	   RK   Rr   t   net_connections(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_net_connections  s    
c         C  s&   |  j  t j d t r d n d  ƒd  S(   NR-   iP   i   i @ (   RK   Rr   t   net_if_addrsR   R2   (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_net_if_addrs  s    s   EPERM on travisc         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   net_if_stats(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_net_if_stats  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   sensors_battery(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_sensors_battery#  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   sensors_temperatures(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_sensors_temperatures(  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   sensors_fans(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_sensors_fans-  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t	   boot_time(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_boot_time4  s    s(   XXX produces a false positive on Windowsc         C  s   |  j  t j ƒ d  S(   N(   RK   Rr   t   users(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt
   test_users9  s    c         C  s   |  j  t j ƒ d  S(   N(   RK   R   t   winservice_enumerate(   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_win_service_iterA  s    c         C  s   d  S(   N(    (   R$   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_win_service_getD  s    c         C  s/   t  t j ƒ  ƒ j ƒ  } |  j t j | ƒ d  S(   N(   t   nextRr   t   win_service_iterRx   RK   R   t   winservice_query_config(   R$   Rx   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_win_service_get_configG  s    c         C  s/   t  t j ƒ  ƒ j ƒ  } |  j t j | ƒ d  S(   N(   R  Rr   R  Rx   RK   R   t   winservice_query_status(   R$   Rx   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   test_win_service_get_statusK  s    c         C  s/   t  t j ƒ  ƒ j ƒ  } |  j t j | ƒ d  S(   N(   R  Rr   R  Rx   RK   R   t   winservice_query_descr(   R$   Rx   (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt    test_win_service_get_descriptionO  s    (4   RT   RU   RV   Ry   R    Rê   Rë   R¨   Rí   Rï   R   R   R   Rñ   R   Ró   Rõ   R   R÷   R   R   Rù   Rü   Rþ   R   R‘   t   patht   existsR  R  R   R   R   R  t   getuidR  R	  R  R   R  R   R  R   R  R  R   R  R  R  R  R  R   (    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyRà   ¶  sX   				"	0					t   __main__(   t   run(@   RV   t
   __future__R    RÜ   R   R"   R‘   R?   R8   R=   Rr   t   psutil._commonR   R   R   R   R   R   R   t   psutil._compatR   t   psutil.testsR	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   RX   RW   RY   RÍ   RÏ   R   t   _psplatformR   Rs   R:   R    t   TestCaseR!   R[   RÊ   RÑ   Rà   RT   t   psutil.tests.runnerR%  t   __file__(    (    (    s=   lib/python2.7/site-packages/psutil/tests/test_memory_leaks.pyt   <module>   sn   	c¿
<ž