ó
Gq]c           @   s6  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 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 e rAe j d ƒ Z e j ƒ  d k r8e d ƒ Z n e Z n e Z d „  Z d „  Z e j e d ƒ d e j f d „  ƒ  Yƒ Z e j e d ƒ d e j f d „  ƒ  Yƒ Z e j e	 d ƒ d e j f d „  ƒ  Yƒ Z e j e d ƒ d e j f d „  ƒ  Yƒ Z e  d  k r2d d! l! m" Z" e" e# ƒ n  d S("   s$   Tests specific to all BSD platforms.iÿÿÿÿN(   t   BSD(   t   FREEBSD(   t   NETBSD(   t   OPENBSD(   t   get_test_subprocess(   t   HAS_BATTERY(   t   MEMORY_TOLERANCE(   t   reap_children(   t   retry_on_failure(   t   sh(   t   unittest(   t   whicht   SC_PAGE_SIZEi    t   musec         C   s}   t  d |  ƒ } t r0 | | j d ƒ d } n& t s< t rV | | j d ƒ d } n  y t | ƒ SWn t k
 rx | SXd S(   sm   Expects a sysctl command with an argument and parse the result
    returning only the value of interest.
    s   sysctl s   : i   t   =i   N(   R	   R   t   findR   R   t   intt
   ValueError(   t   cmdlinet   result(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   sysctl+   s    c         C   sY   t  d ƒ } x6 | j d ƒ D] } | j |  ƒ r Pq q Wt d ƒ ‚ t | j ƒ  d ƒ S(   s+   Thin wrapper around 'muse' cmdline utility.R   s   
s   line not foundi   (   R	   t   splitt
   startswithR   R   (   t   fieldt   outt   line(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR   :   s    s   BSD onlyt   BSDSpecificTestCasec           B   s   e  Z d  Z e d „  ƒ Z e d „  ƒ Z e j e d ƒ d „  ƒ Z	 d „  Z
 e j e d ƒ d ƒ d „  ƒ Z e j e d ƒ d ƒ d	 „  ƒ Z d
 „  Z RS(   s)   Generic tests common to all BSD variants.c         C   s   t  ƒ  j |  _ d  S(   N(   R   t   pid(   t   cls(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt
   setUpClassN   s    c         C   s   t  ƒ  d  S(   N(   R   (   R   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   tearDownClassR   s    s    -o lstart doesn't work on NETBSDc         C   sr   t  d |  j ƒ } | j d d ƒ j ƒ  } t j |  j ƒ j ƒ  } t j d t j	 | ƒ ƒ } |  j
 | | ƒ d  S(   Ns   ps -o lstart -p %st   STARTEDt    s   %a %b %e %H:%M:%S %Y(   R	   R   t   replacet   stript   psutilt   Processt   create_timet   timet   strftimet	   localtimet   assertEqual(   t   selft   outputt   start_pst   start_psutil(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_process_create_timeV   s    	c         C   sé   d „  } xÙ t  j d t ƒ D]Å } t  j | j ƒ } | | j ƒ \ } } } } |  j | j | ƒ |  j | j | ƒ t | j	 | ƒ d k r« |  j
 d | j	 | f ƒ n  t | j | ƒ d	 k r |  j
 d | j | f ƒ q q Wd  S(
   Nc         S   s²   t  d |  ƒ j ƒ  } | j d ƒ } | j d ƒ | j d ƒ } | j ƒ  d  \ } } } } | d k rr d } n  t | ƒ d } t | ƒ d } t | ƒ d } | | | | f S(   Ns
   df -k "%s"s   
i    i   t   noneR    i   (   R	   R"   R   t   popR   (   t   pathR   t   linesR   t   devt   totalt   usedt   free(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   dfb   s    	t   alli
   i   s   psutil=%s, df=%si (  i    i (  i    (   R#   t   disk_partitionst   Falset
   disk_usaget
   mountpointR)   t   deviceR4   t   absR6   t   failR5   (   R*   R7   t   partt   usageR3   R4   R5   R6   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt
   test_disks_   s    	R   s   sysctl cmd not availablec         C   s,   t  d ƒ } |  j t j d t ƒ | ƒ d  S(   Ns   hw.ncput   logical(   R   R)   R#   t	   cpu_countt   True(   R*   t   syst(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_cpu_count_logicalz   s    c         C   s)   t  d ƒ } |  j | t j ƒ  j ƒ d  S(   Ns
   hw.physmem(   R   R)   R#   t   virtual_memoryR4   (   R*   t   num(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_virtual_memory_total   s    c         C   s¦   xŸ t  j ƒ  j ƒ  D]‹ \ } } y t d | ƒ } Wn t k
 rF q X|  j | j d | k d | ƒd | k r |  j | j t t	 j
 d | ƒ d ƒ ƒ q q Wd  S(   Ns   ifconfig %st   RUNNINGt   msgt   mtus	   mtu (\d+)i    (   R#   t   net_if_statst   itemsR	   t   RuntimeErrorR)   t   isupRM   R   t   ret   findall(   R*   t   namet   statsR   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_net_if_stats„   s    (   t   __name__t
   __module__t   __doc__t   classmethodR   R   R
   t   skipIfR   R.   RB   R   RG   RJ   RV   (    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR   J   s   		""s   FREEBSD onlyt   FreeBSDSpecificTestCasec           B   s™  e  Z e d  „  ƒ Z e d „  ƒ Z e d „  ƒ Z e ƒ  d „  ƒ Z d „  Z	 d „  Z
 d „  Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z d	 „  Z e ƒ  d
 „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e ƒ  d „  ƒ Z e j e d ƒ d „  ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ e ƒ  d „  ƒ ƒ Z e j e d ƒ e ƒ  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) e j e' d# ƒ d$ „  ƒ Z* d% „  Z+ RS(&   c         C   s   t  ƒ  j |  _ d  S(   N(   R   R   (   R   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR   ™   s    c         C   s   t  ƒ  d  S(   N(   R   (   R   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR      s    c          C   sn   t  d ƒ j ƒ  d }  t j d |  ƒ } | sA t d |  ƒ ‚ n  d „  | d d !Dƒ \ } } } | | | f S(   Ns   swapinfo -kiÿÿÿÿs   \s+s   Can't parse swapinfo: %sc         s   s   |  ] } t  | ƒ d  Vq d S(   i   N(   R   (   t   .0t   p(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pys	   <genexpr>«   s    i   i   (   R	   t
   splitlinesRR   R   R   (   R+   t   partsR4   R5   R6   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   parse_swapinfo¡   s     c         C   sô   t  d |  j ƒ } t j |  j ƒ j d t ƒ } | j d ƒ d } x© | rï | j ƒ  } | j ƒ  } | d  \ } } } }	 }
 | j ƒ  } |  j d | | f | j	 ƒ |  j t
 |
 ƒ | j ƒ | j j d ƒ sG |  j | d | j ƒ qG qG Wd  S(	   Ns   procstat -v %st   groupeds   
i   i   s   %s-%st   [i
   (   R	   R   R#   R$   t   memory_mapsR:   R   R0   R)   t   addrR   t   rssR1   R   (   R*   R   t   mapsR2   R   t   fieldst   _t   startt   stopt   permst   rest   map(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_proc_memory_maps®   s    	c         C   sP   t  d |  j ƒ } |  j t j |  j ƒ j ƒ  | j d ƒ d j ƒ  d ƒ d  S(   Ns   procstat -b %ss   
i   iÿÿÿÿ(   R	   R   R)   R#   R$   t   exeR   (   R*   R   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_proc_exe½   s    c         C   sb   t  d |  j ƒ } |  j d j t j |  j ƒ j ƒ  ƒ d j | j d ƒ d j ƒ  d ƒ ƒ d  S(   Ns   procstat -c %st    s   
i   i   (   R	   R   R)   t   joinR#   R$   R   R   (   R*   R   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_proc_cmdlineÂ   s    $c         C   s	  t  d |  j ƒ } | j d ƒ d j ƒ  d d !\ } } } } } } t j |  j ƒ } | j ƒ  }	 | j ƒ  }
 |  j |	 j t	 | ƒ ƒ |  j |	 j
 t	 | ƒ ƒ |  j |	 j t	 | ƒ ƒ |  j |
 j t	 | ƒ ƒ |  j |
 j
 t	 | ƒ ƒ |  j |
 j t	 | ƒ ƒ d  S(   Ns   procstat -s %ss   
i   i   i   (   R	   R   R   R#   R$   t   uidst   gidsR)   t   realR   t	   effectivet   saved(   R*   R   t   euidt   ruidt   suidt   egidt   rgidt   sgidR^   Ru   Rv   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_proc_uids_gidsÇ   s    2c         C   s  g  } t  d |  j ƒ } t j |  j ƒ } xË | j d ƒ D]º } | j ƒ  j ƒ  } d | k r¤ t | j ƒ  d ƒ } | j ƒ  j	 } |  j
 | | ƒ | j d  ƒ q; d | k r; t | j ƒ  d ƒ } | j ƒ  j } |  j
 | | ƒ | j d  ƒ q; q; Wt | ƒ d k rt d ƒ ‚ n  d  S(   Ns   procstat -r %ss   
s    voluntary contextiÿÿÿÿs    involuntary contexti   s)   couldn't find lines match in procstat out(   R	   R   R#   R$   R   t   lowerR"   R   t   num_ctx_switchest	   voluntaryR)   t   appendt   Nonet   involuntaryt   lenRP   (   R*   t   testedR   R^   R   t   pstat_valuet   psutil_value(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_proc_ctx_switchesÔ   s"    c         C   s@  g  } t  d |  j ƒ } t j |  j ƒ } xí | j d ƒ D]Ü } | j ƒ  j ƒ  } d | k rµ t d | j ƒ  d j d ƒ d ƒ } | j ƒ  j	 } |  j
 | | ƒ | j d  ƒ q; d | k r; t d | j ƒ  d j d ƒ d ƒ } | j ƒ  j } |  j
 | | ƒ | j d  ƒ q; q; Wt | ƒ d k r<t d	 ƒ ‚ n  d  S(
   Ns   procstat -r %ss   
s	   user times   0.iÿÿÿÿt   .s   system timei   s)   couldn't find lines match in procstat out(   R	   R   R#   R$   R   R   R"   t   floatt	   cpu_timest   userR)   R„   R…   t   systemR‡   RP   (   R*   Rˆ   R   R^   R   R‰   RŠ   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_proc_cpu_timesè   s"    ''c         C   s¿   d } t  t | ƒ ƒ } |  j t j ƒ  j | ƒ d } t | ƒ } t  | j ƒ  d j d ƒ d ƒ } t  | j ƒ  d j d ƒ d ƒ } |  j t j ƒ  j | ƒ |  j t j ƒ  j | ƒ d  S(   Ns   dev.cpu.0.freqs   dev.cpu.0.freq_levelsi    t   /iÿÿÿÿ(	   R   R   R)   R#   t   cpu_freqt   currentR   t   maxt   min(   R*   t   sensort   sysctl_resultt   max_freqt   min_freq(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt!   test_cpu_frequency_against_sysctlü   s    ##c         C   s3   t  d ƒ t } |  j t j ƒ  j | d t ƒd  S(   Ns   vm.stats.vm.v_active_countt   delta(   R   t   PAGESIZEt   assertAlmostEqualR#   RH   t   activeR   (   R*   RF   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_active  s    c         C   s3   t  d ƒ t } |  j t j ƒ  j | d t ƒd  S(   Ns   vm.stats.vm.v_inactive_countRœ   (   R   R   Rž   R#   RH   t   inactiveR   (   R*   RF   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_inactive  s    c         C   s3   t  d ƒ t } |  j t j ƒ  j | d t ƒd  S(   Ns   vm.stats.vm.v_wire_countRœ   (   R   R   Rž   R#   RH   t   wiredR   (   R*   RF   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_wired  s    c         C   s3   t  d ƒ t } |  j t j ƒ  j | d t ƒd  S(   Ns   vm.stats.vm.v_cache_countRœ   (   R   R   Rž   R#   RH   t   cachedR   (   R*   RF   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_cached!  s    c         C   s3   t  d ƒ t } |  j t j ƒ  j | d t ƒd  S(   Ns   vm.stats.vm.v_free_countRœ   (   R   R   Rž   R#   RH   R6   R   (   R*   RF   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_free'  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Ns   vfs.bufspaceRœ   (   R   Rž   R#   RH   t   buffersR   (   R*   RF   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_buffers-  s    s   muse not installedc         C   s)   t  d ƒ } |  j t j ƒ  j | ƒ d  S(   Nt   Total(   R   R)   R#   RH   R4   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_total5  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Nt   ActiveRœ   (   R   Rž   R#   RH   RŸ   R   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_active:  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Nt   InactiveRœ   (   R   Rž   R#   RH   R¡   R   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_inactiveA  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Nt   WiredRœ   (   R   Rž   R#   RH   R£   R   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_wiredH  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Nt   CacheRœ   (   R   Rž   R#   RH   R¥   R   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_cachedO  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Nt   FreeRœ   (   R   Rž   R#   RH   R6   R   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_freeV  s    c         C   s/   t  d ƒ } |  j t j ƒ  j | d t ƒd  S(   Nt   BufferRœ   (   R   Rž   R#   RH   R¨   R   (   R*   RI   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_muse_vmem_buffers]  s    c         C   s)   |  j  t j ƒ  j t d ƒ d d ƒd  S(   Ns   vm.stats.sys.v_swtchRœ   iè  (   Rž   R#   t	   cpu_statst   ctx_switchesR   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_cpu_stats_ctx_switchesd  s    c         C   s)   |  j  t j ƒ  j t d ƒ d d ƒd  S(   Ns   vm.stats.sys.v_intrRœ   iè  (   Rž   R#   R¸   t
   interruptsR   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_cpu_stats_interruptsh  s    c         C   s)   |  j  t j ƒ  j t d ƒ d d ƒd  S(   Ns   vm.stats.sys.v_softRœ   iè  (   Rž   R#   R¸   t   soft_interruptsR   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_cpu_stats_soft_interruptsl  s    c         C   s)   |  j  t j ƒ  j t d ƒ d d ƒd  S(   Ns   vm.stats.sys.v_syscallRœ   iè  (   Rž   R#   R¸   t   syscallsR   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_cpu_stats_syscallsp  s    c         C   s8   |  j  ƒ  \ } } } |  j t j ƒ  j | d t ƒd  S(   NRœ   (   Ra   Rž   R#   t   swap_memoryR6   R   (   R*   R4   R5   R6   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_swapmem_freez  s    c         C   s8   |  j  ƒ  \ } } } |  j t j ƒ  j | d t ƒd  S(   NRœ   (   Ra   Rž   R#   RÁ   R5   R   (   R*   R4   R5   R6   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_swapmem_used  s    c         C   s8   |  j  ƒ  \ } } } |  j t j ƒ  j | d t ƒd  S(   NRœ   (   Ra   Rž   R#   RÁ   R4   R   (   R*   R4   R5   R6   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_swapmem_total„  s    c         C   s\   t  d ƒ } | | j d ƒ d } | | j d ƒ  } t | ƒ } |  j | t j ƒ  ƒ d  S(   Ns   sysctl kern.boottimes    sec = i   t   ,(   R   R   R   R)   R#   t	   boot_time(   R*   t   st   btime(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_boot_time‹  s
    s
   no batteryc         C   sä   d „  } t  d ƒ } t g  | j d ƒ D], } | j d ƒ d | j d ƒ d f ^ q( ƒ } t j ƒ  } t | d j d d	 ƒ ƒ } | d
 } |  j | j | ƒ | d k rÇ |  j | j	 t j
 ƒ n |  j | | j	 ƒ | ƒ d  S(   Nc         S   s8   t  |  d ƒ \ } } t  | d ƒ \ } } d | | f S(   Ni<   s   %d:%02d(   t   divmod(   t   secst   mRÇ   t   h(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt
   secs2hours–  s    s   acpiconf -i 0s   
s   	i    iÿÿÿÿs   Remaining capacity:t   %R    s   Remaining time:t   unknown(   R	   t   dictR   R#   t   sensors_batteryR   R!   R)   t   percentt   secsleftt   POWER_TIME_UNLIMITED(   R*   RÎ   R   t   xRh   t   metricsRÓ   t   remaining_time(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_sensors_battery”  s    	B
c         C   s–   |  j  t j ƒ  j t d ƒ ƒ |  j  t j ƒ  j t d ƒ d k ƒ t j ƒ  j } | d k  rx |  j  t d ƒ d ƒ n |  j  | t d ƒ d ƒ d  S(   Ns   hw.acpi.battery.lifes   hw.acpi.aclinei   i    s   hw.acpi.battery.timeiÿÿÿÿi<   (   R)   R#   RÒ   RÓ   R   t   power_pluggedRÔ   (   R*   RÔ   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt#   test_sensors_battery_against_sysctl§  s    s   has batteryc         C   sK   |  j  t ƒ # t d ƒ t d ƒ t d ƒ Wd  QX|  j t j ƒ  ƒ d  S(   Ns   hw.acpi.battery.lifes   hw.acpi.battery.times   hw.acpi.acline(   t   assertRaisesRP   R   t   assertIsNoneR#   RÒ   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_sensors_battery_no_battery³  s
    

c         C   s¾   t  j t ƒ } x¨ t | ƒ D]š } d | } t t t | ƒ d  ƒ ƒ } |  j t  j ƒ  d | j	 | d d ƒd | } t t t | ƒ d  ƒ ƒ } |  j
 t  j ƒ  d | j | ƒ q Wd  S(   Ns   dev.cpu.%s.temperatureiÿÿÿÿt   coretempRœ   i
   s   dev.cpu.%s.coretemp.tjmax(   R#   RD   RE   t   rangeR   R   R   Rž   t   sensors_temperaturesR”   R)   t   high(   R*   t   num_cpust   cpuR—   R˜   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt(   test_sensors_temperatures_against_sysctlÀ  s    

(,   RW   RX   RZ   R   R   t   staticmethodRa   R   Ro   Rq   Rt   R€   R‹   R‘   R›   R    R¢   R¤   R¦   R§   R©   R
   R[   t   MUSE_AVAILABLER«   R­   R¯   R±   R³   Rµ   R·   Rº   R¼   R¾   RÀ   RÂ   RÃ   RÄ   RÉ   R   RÙ   RÛ   RÞ   Rå   (    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR\   –   sR   								
					s   OPENBSD onlyt   OpenBSDSpecificTestCasec           B   s   e  Z d  „  Z RS(   c         C   sM   t  d ƒ } t j j | d ƒ } t j j t j ƒ  ƒ } |  j | | ƒ d  S(   Ns   kern.boottimes   %a %b %d %H:%M:%S %Y(   R   t   datetimet   strptimet   fromtimestampR#   RÆ   R)   (   R*   RÇ   t   sys_btt	   psutil_bt(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRÉ   Ø  s    (   RW   RX   RÉ   (    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRè   Õ  s   s   NETBSD onlyt   NetBSDSpecificTestCasec           B   sh   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z d	 „  Z RS(
   c         C   sd   t  d d ƒ ? } x5 | D]- } | j |  ƒ r t | j ƒ  d ƒ d Sq WWd  QXt d |  ƒ ‚ d  S(   Ns   /proc/meminfot   rbi   i   s   can't find %s(   t   openR   R   R   R   (   t   look_fort   fR   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   parse_meminfoç  s
    "c         C   s&   |  j  t j ƒ  j |  j d ƒ ƒ d  S(   Ns	   MemTotal:(   R)   R#   RH   R4   Ró   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_totalï  s    c         C   s,   |  j  t j ƒ  j |  j d ƒ d t ƒd  S(   Ns   MemFree:Rœ   (   Rž   R#   RH   R6   Ró   R   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR§   ó  s    c         C   s,   |  j  t j ƒ  j |  j d ƒ d t ƒd  S(   Ns   Buffers:Rœ   (   Rž   R#   RH   R¨   Ró   R   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR©   ø  s    c         C   s,   |  j  t j ƒ  j |  j d ƒ d t ƒd  S(   Ns
   MemShared:Rœ   (   Rž   R#   RH   t   sharedRó   R   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   test_vmem_sharedý  s    c         C   s,   |  j  t j ƒ  j |  j d ƒ d t ƒd  S(   Ns
   SwapTotal:Rœ   (   Rž   R#   RÁ   R4   Ró   R   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRÄ     s    c         C   s,   |  j  t j ƒ  j |  j d ƒ d t ƒd  S(   Ns	   SwapFree:Rœ   (   Rž   R#   RÁ   R6   Ró   R   (   R*   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRÂ     s    c         C   s-   t  j ƒ  } |  j | j | j | j ƒ d  S(   N(   R#   RÁ   R)   R5   R4   R6   (   R*   t   smem(    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRÃ     s    c         C   s   t  d d ƒ M } xC | D]/ } | j d ƒ r t | j ƒ  d ƒ } Pq q Wt d ƒ ‚ Wd  QX|  j t j ƒ  j | d d ƒd  S(   Ns
   /proc/statRï   t   intri   s   couldn't find lineRœ   iè  (	   Rð   R   R   R   R   Rž   R#   R¸   R»   (   R*   Rò   R   R»   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyR¼     s    c         C   s   t  d d ƒ M } xC | D]/ } | j d ƒ r t | j ƒ  d ƒ } Pq q Wt d ƒ ‚ Wd  QX|  j t j ƒ  j | d d ƒd  S(   Ns
   /proc/statRï   t   ctxti   s   couldn't find lineRœ   iè  (	   Rð   R   R   R   R   Rž   R#   R¸   R¹   (   R*   Rò   R   R¹   (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRº     s    (   RW   RX   Ræ   Ró   Rô   R§   R©   Rö   RÄ   RÂ   RÃ   R¼   Rº   (    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyRî   ä  s   								t   __main__(   t   run($   RY   Ré   t   osRR   R&   R#   R    R   R   R   t   psutil.testsR   R   R   R   R   R	   R
   R   t   sysconfR   t   getuidRç   R:   R   R   R[   t   TestCaseR   R\   Rè   Rî   RW   t   psutil.tests.runnerRû   t   __file__(    (    (    s4   lib/python2.7/site-packages/psutil/tests/test_bsd.pyt   <module>
   sJ   			Kÿ ?B