ó
ßüÚ\c           @` sE  d  d l  m Z m Z m Z d  d l m Z d  d l Z d  d l m 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 m Z d  d l Z d  d l Z d  d l m Z d  d l Z d  d l m Z m Z m Z d  d l Z d  d	 l m Z d  d
 l m Z d  d l m Z m Z m  Z  m! Z! m" Z" m# Z# d  d l$ m% Z% 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. m/ Z/ m0 Z0 d  d l1 m2 Z2 m3 Z3 d  d l4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< m= Z= d  d l4 m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD d „  ZE e7 ƒ  d „  ƒ ZF d „  ZG e7 d eH ƒ d „  ƒ ZI e: e7 ƒ  d „  ƒ ƒ ZJ e7 d eH ƒ d „  ƒ ZK e jL jM d d ƒ e7 d eH d dŽ g ƒ d! „  ƒ ƒ ZN e7 d eH ƒ d" „  ƒ ZO e7 d eH ƒ d# „  ƒ ZP e jL jQ d d$ ƒ e7 d eH ƒ d% „  ƒ ƒ ZR e7 ƒ  d& „  ƒ ZS e< ƒ  d' „  ƒ ZT e: d( „  ƒ ZU e7 d eH d d g ƒ d) „  ƒ ZV d* „  ZW e7 ƒ  d+ „  ƒ ZX d, „  ZY e7 d eH d g  ƒ d- „  ƒ ZZ e7 d eH ƒ d. „  ƒ Z[ e7 d eH ƒ d/ „  ƒ Z\ e7 d eH ƒ d0 „  ƒ Z] e7 d eH d g  ƒ d1 „  ƒ Z^ e jL jM d d2 ƒ e7 d eH d d g d3 d4 d5 i d6 d7 6ƒ d8 „  ƒ ƒ Z_ e7 d d‘ g d5 i e` d9 6ƒ d: „  ƒ Za d; „  Zb e7 d eH ƒ d< „  ƒ Zc e7 d eH ƒ d= „  ƒ Zd e jL je e jf d>  d’ k d dA ƒe7 d eH ƒ dB „  ƒ ƒ Zg e7 d eH ƒ dC „  ƒ Zh e7 ƒ  dD „  ƒ Zi e7 d eH d d d> i i d  dE 6dF 6f d“ g ƒ dG „  ƒ Zj e jL jQ e7 d eH ƒ dH „  ƒ ƒ Zk e7 d eH d d” g dI ƒ dJ „  ƒ Zl e7 d eH d d• g d? ƒ dK „  ƒ Zm e7 d eH d d– g d? ƒ dL „  ƒ Zn e7 d eH ƒ dM „  ƒ Zo e jL jp e7 d eH ƒ dN „  ƒ ƒ Zq e7 d eH ƒ dO „  ƒ Zr e7 d eH ƒ dP „  ƒ Zs e: e7 d e` d g  ƒ dQ „  ƒ ƒ Zt e7 d eH ƒ dR „  ƒ Zu e7 d eH d d— g ƒ dS „  ƒ Zv e7 d eH ƒ dT „  ƒ Zw e jL jx dU e. e g ƒ dV „  ƒ Zy e7 d eH ƒ dW „  ƒ Zz e7 d eH ƒ dX „  ƒ Z{ e jL jM d dY ƒ e7 d d˜ g d eH d5 i dZ d7 6ƒ d[ „  ƒ ƒ Z| e7 ƒ  d\ „  ƒ Z} e7 d eH ƒ d] „  ƒ Z~ d^ „  Z e7 d eH ƒ d_ „  ƒ Z€ d` „  Z e7 ƒ  da „  ƒ Z‚ e jL je e% d db ƒe7 d g  ƒ dc „  ƒ ƒ Zƒ e7 d g  ƒ dd „  ƒ Z„ e7 d g  ƒ de „  ƒ Z… e< ƒ  df „  ƒ Z† e7 d eH ƒ dg „  ƒ Z‡ e7 d eH ƒ dh „  ƒ Zˆ e@ e7 d eH ƒ di „  ƒ ƒ Z‰ e7 d d™ g d eH d5 i dj dk 6ƒ dl „  ƒ ZŠ e jL j: e7 d dš g d eH d5 i dj dk 6e` dm 6e` dn 6do dp 6d3 dI ƒ dq „  ƒ ƒ Z‹ e7 d eH d5 i dr ds 6ƒ dt „  ƒ ZŒ e7 d eH ƒ du „  ƒ Z e7 d eH d d› g d> ƒ dv „  ƒ ZŽ dw „  Z e7 d g  d eH ƒ dx „  ƒ Z e7 d dœ g dy i e` dz 6e` d{ 6ƒ d| „  ƒ Z‘ d} „  Z’ e7 d d g d5 i d~ d7 6ƒ d „  ƒ Z“ e7 d g  d eH ƒ d€ „  ƒ Z” e: e7 d eH ƒ d „  ƒ ƒ Z• e jL je e j– j— d‚ ƒ d dƒ ƒe7 d dž dŸ d  g d eH ƒ d… „  ƒ ƒ Z˜ e7 d eH d d¡ g dI d3 d4 dy i d  d† 6ƒ d‡ „  ƒ Z™ e7 d eH d5 i i dˆ „  d‰ 6dŠ 6ƒ d‹ „  ƒ Zš e7 d eH ƒ dŒ „  ƒ Z› e7 d g  ƒ d „  ƒ Zœ d S(¢   i    (   t   print_functiont   divisiont   absolute_import(   t   ThreadPoolExecutorN(   t   Number(   t   add(   t   sleep(   t   delayed(   t   pluckt   sliding_windowt   first(   t   gen(   t   TimeoutError(   t   Nannyt
   get_clientt   waitt   default_clientt
   get_workert
   Reschedule(   t   WINDOWSt   cache_from_source(   t   rpc(   R   (   t	   Scheduler(   t   time(   t   Workert   error_messaget   logger(   t   tmpfilet   format_bytes(	   t   inct   mult   gen_clustert   divt   dect   slowt   slowinct   gen_testt   captured_logger(   t   clientt   loopt   nodebugt   cluster_fixturet   st   at   bc          C` sS   d d l  m }  t d d ƒ } z | j j |  k s: t ‚ Wd  t j | j ƒ Xd  S(   Ni    (   t   _ncoress	   127.0.0.1iS  (	   t   distributed.workerR-   R   t   executort   _max_workerst   AssertionErrort   shutilt   rmtreet	   local_dir(   R-   t   w(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_ncores4   s
    c         C` s£   | j  t | ƒ k s t ‚ | j  t | ƒ k s6 t ‚ t | j ƒ t | ƒ k sW t ‚ t | j ƒ t | ƒ k sx t ‚ t t | j ƒ ƒ t | ƒ k sŸ t ‚ d  S(   N(   t   addresst   strR1   t   reprt   ncorest   lent	   executing(   R*   R+   R,   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_str>   s
    !!c          C` s€   t  d d ƒ }  |  j d  ƒ } d | d k s4 t ‚ | d d k sJ t ‚ t | d t ƒ sc t ‚ t | d t ƒ s| t ‚ d  S(	   Ns	   127.0.0.1iS  R   t   typet	   schedulers   tcp://127.0.0.1:8019R:   t   memory_limit(   R   t   identityt   NoneR1   t
   isinstancet   intR   (   R5   t   ident(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_identityG   s    R&   c         c` sþ  d t  f d „  ƒ  Y} |  j | d | j ƒ} t | ƒ V| j sI t ‚ | j sX t ‚ d „  } d t j f d „  ƒ  Y} | ƒ  } t	 j
 }	 t	 j t j ƒ t	 j | ƒ |  j | | d | d | j ƒ}
 t |
 ƒ V| j så t ‚ |
 j d k sú t ‚ t j t ƒ 
 |
 VWd  QXt j d	 d
 k rf|
 j ƒ  V} t d „  t d
 t j | ƒ ƒ Dƒ ƒ sft ‚ n  d | j d d	 k sƒt ‚ t	 j |	 ƒ |  j t d d d | j ƒ} |  j t d
 d d | j ƒ} |  j | | g ƒ V} t | ƒ d k sút ‚ d  S(   Nt	   NoReprObjc           B` s    e  Z d  Z d „  Z d „  Z RS(   s9    This object cannot be properly represented as a string. c         S` s   t  d ƒ ‚ d  S(   Ns   I have no str representation.(   t
   ValueError(   t   self(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   __str__U   s    c         S` s   t  d ƒ ‚ d  S(   Ns   I have no repr representation.(   RH   (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   __repr__X   s    (   t   __name__t
   __module__t   __doc__RJ   RK   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRG   R   s   	t   workersc          _` s   d d d  S(   Ni   i    (    (   t   argst   kwargs(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   bad_func`   s    t   MockLoggingHandlerc           B` s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s0   Mock logging handler to check for expected logs.c         _` s$   |  j  ƒ  t j j |  | | Ž d  S(   N(   t   resett   loggingt   Handlert   __init__(   RI   RP   RQ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRW   f   s    
c         S` s'   |  j  | j j ƒ  j | j ƒ  ƒ d  S(   N(   t   messagest	   levelnamet   lowert   appendt
   getMessage(   RI   t   record(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   emitj   s    c         S` s0   i g  d 6g  d 6g  d 6g  d 6g  d 6|  _  d  S(   Nt   debugt   infot   warningt   errort   critical(   RX   (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRT   m   s    (   RL   RM   RN   RW   R^   RT   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRS   c   s   		t   kRb   i    i   c         s` s!   |  ] } | r d  | k Vq d S(   s   1 / 0N(    (   t   .0t   line(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>‡   s    s   Compute FailedRa   i   i   i   i   (   i   i   (   t   objectt   submitR7   R   R<   R1   t   dataRU   RV   R   t   levelt   setLevelt   DEBUGt
   addHandlert   statust   pytestt   raisest   ZeroDivisionErrort   syst   version_infot
   _tracebackt   anyR   t	   tracebackt
   extract_tbRX   R   t   _gathert   tuple(   t   cR*   R+   R,   RG   t   xRR   RS   t   hdlrt	   old_levelt   yt   tbt   xxt   yyt   results(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_bad_argsP   s6    				!.c         c` sú   d } |  j  d j | ƒ |  j  d j | j ƒ |  j | j d ƒ |  j | j j d ƒ d | j d <t d |  j d |  j ƒ } | j d d g ƒ Vd | j k s­ t	 ‚ |  j  d sÁ t	 ‚ |  j | sÕ t	 ‚ |  j | j sì t	 ‚ | j
 ƒ  d  S(   Ns   127.0.0.1:9001t   zi   t   ipt   portt   keys(   t   who_hasR   R7   t   has_whatRi   R   R…   R†   t   delete_dataR1   t	   close_rpc(   Rz   R+   R,   t   badt   cc(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt)   dont_test_delete_data_with_missing_worker–   s    c   	      c` s¦  t  j j t  j j | j d ƒ ƒ s+ t ‚ t  j j t  j j | j d ƒ ƒ sV t ‚ | j | j k sn t ‚ t | j ƒ N } t | j ƒ 6 } | j d d d d ƒ | j d d d d ƒ g VWd  QXWd  QXt  j j t  j j | j d ƒ ƒ s÷ t ‚ t  j j t  j j | j d ƒ ƒ s!t ‚ d „  } |  j	 | d | j ƒ} | V} | d k s[t ‚ |  j
 ƒ  V| j
 d t ƒ Vt  j j t  j j | j d ƒ ƒ s¢t ‚ d  S(	   Ns	   foobar.pyt   filenameRi   s   x = 123c          S` s   d d  l  }  |  j S(   Ni    (   t   foobarR{   (   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   gº   s    RO   i{   t   close_workers(   t   ost   patht   existst   joinR4   R1   R   R7   t   upload_fileRh   t   closet   True(	   Rz   R*   R+   R,   t   aat   bbR‘   t   futuret   result(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_upload_file«   s     ++ &**	t   reasons%   don't yet support uploading pyc filesR:   s	   127.0.0.1i   c   
   
   c` s  t  ƒ  	} t j | ƒ t t j j | d ƒ d d ƒ } | j d ƒ Wd  QXt j j | ƒ zš d d  l	 } | j
 ƒ  d k s‡ t ‚ t t j j | d ƒ ƒ } t j j | ƒ sº t ‚ |  j | ƒ Vd „  } |  j | ƒ } | V}	 |	 d k sù t ‚ Wd  t j j | ƒ XWd  QXd  S(   Ns   foo.pyt   modeR5   s   def f():
    return 123i    i{   c          S` s   d d  l  }  |  j S(   Ni    (   t   fooR{   (   R¡   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR‘   Ù   s    (   R   R“   t   mkdirt   openR”   R–   t   writeRr   R[   R¡   t   fR1   R   R•   R—   Rh   t   remove(
   Rz   R*   R5   t   dirnameR¥   R¡   t   pycR‘   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_upload_file_pycÈ   s     $	c   	      c` sƒ  d } t  j d | ƒ } t j j t j j | j | ƒ ƒ sC t ‚ t j j t j j | j | ƒ ƒ sn t ‚ | j | j k s† t ‚ |  j d | ƒ Vt j j t j j | j | ƒ ƒ sÁ t ‚ t j j t j j | j | ƒ ƒ së t ‚ d „  } |  j	 | d d | j
 ƒ} | V} | d k s(t ‚ |  j ƒ  V| j ƒ  V| j ƒ  V| j ƒ  Vt j j t j j | j | ƒ ƒ st ‚ d  S(	   Ns   testegg-1.0.0-py3.4.eggs   test_worker.pyR   c         S` s   d d  l  } | j |  ƒ S(   Ni    (   t   testeggR   (   R{   Rª   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR‘   ò   s    i
   RO   i   i   (   t   __file__t   replaceR“   R”   R•   R–   R4   R1   R—   Rh   R7   R˜   (	   Rz   R*   R+   R,   t   eggnamet
   local_fileR‘   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_upload_eggå   s"    ++**	c   	      c` sƒ  d } t  j d | ƒ } t j j t j j | j | ƒ ƒ sC t ‚ t j j t j j | j | ƒ ƒ sn t ‚ | j | j k s† t ‚ |  j d | ƒ Vt j j t j j | j | ƒ ƒ sÁ t ‚ t j j t j j | j | ƒ ƒ së t ‚ d „  } |  j	 | d d | j
 ƒ} | V} | d k s(t ‚ |  j ƒ  V| j ƒ  V| j ƒ  V| j ƒ  Vt j j t j j | j | ƒ ƒ st ‚ d  S(	   Ns
   mytest.pyzs   test_worker.pyR   c         S` s   d d l  m  } | j |  ƒ S(   Ni    (   t   mytest(   R°   R   (   R{   R°   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR‘     s    i
   RO   i   i   (   R«   R¬   R“   R”   R•   R–   R4   R1   R—   Rh   R7   R˜   (	   Rz   R*   R+   R,   t   pyznameR®   R‘   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_upload_pyz  s"    ++**	s   Still lose time to network I/Oc      
   c` s†   t  j d ƒ t j d ƒ Vt | j ƒ V } | j d d d d d ƒ Vt j d ƒ V| j d j d	 j	 ƒ  d k  s| t
 ‚ Wd  QXd  S(
   Nt   crickgš™™™™™©?R   s
   myfile.datRi   t   0i áõs   tick-durationi    (   Ro   t   importorskipR   R   R   R7   R—   t   digestst
   componentst   maxR1   (   Rz   R*   R+   R,   Rš   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_upload_large_file  s    c      	   c` s\   t  |  j ƒ G } | j d i d d 6ƒ V} | i d | j 6d | j 6k sR t ‚ Wd  QXd  S(   Nt   msgt   pingt   opt   pong(   R   R7   t	   broadcastR1   (   R*   R+   R,   R   R‚   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_broadcast*  s    c          c` sb   t  ƒ  }  |  j d ƒ t |  j ƒ V} t | j t ƒ s> t ‚ | j d k sS t ‚ | j ƒ  Vd  S(   NiG  i   (	   R   t   startR   R7   RC   R†   RD   R1   R˜   (   R*   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_with_port_zero1  s    	c         C` sA   t  j d „  ƒ } y |  j | d d ƒWn t k
 r< n Xd  S(   Nc          s` s   t  d d ƒ V}  d  S(   Ns	   127.0.0.1iG  (   R   (   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   >  s    t   timeouti   (   R   t	   coroutinet   run_syncR   (   R'   R¥   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt'   test_worker_waits_for_center_to_come_up<  s
    c         c` sF   t  d ƒ } |  j | ƒ } t | ƒ V| j | j d k sB t ‚ d  S(   Ni   (   R   t   persistR   Ri   t   keyR1   (   Rz   R*   R5   R{   R€   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_task_dataH  s    c          C` sK   d t  f d „  ƒ  Y}  t |  d d ƒ ƒ } d t | d ƒ k sG t ‚ d  S(   Nt   MyExceptionc           B` s   e  Z d  „  Z d „  Z RS(   c         S` s   | | f |  _  d  S(   N(   RP   (   RI   R+   R,   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRW   R  s    c         S` s   d |  j  S(   Ns   MyException(%s)(   RP   (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRJ   U  s    (   RL   RM   RW   RJ   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRÉ   Q  s   	t   Hellos   World!t	   exception(   t	   ExceptionR   R8   R1   (   RÉ   Rº   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_error_messageP  s    c      	   c` s¹   d | j  d <d | j  d <t | j ƒ Š } | j d i | j g d 6| j g d 6ƒ V} | d d k so t ‚ | j  d | j  d k s t ‚ | j  d | j  d k s¯ t ‚ Wd  QXd  S(   Ni   R{   i   R~   Rˆ   Rn   t   OK(   Ri   R   R7   t   gatherR1   (   R*   R+   R,   Rš   t   resp(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_gather\  s    - c         C` s_   t  d |  ƒ } | j d ƒ | j |  k s1 t ‚ t | j d |  ƒ} | j |  k s[ t ‚ d  S(   NR'   i    (   R   t   listent   io_loopR1   R   R7   (   R'   R*   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_io_looph  s
    c      
   c` sX  t  j d ƒ } t | j d | j d d d d  d d  ƒV} |  j | j j d d	 d
 d d d d d ƒ} t	 | ƒ V|  j | j j d d	 d
 d d d d d ƒ} t	 | ƒ Vt
 | j ƒ | j | j h k sÑ t ‚ t
 | j j ƒ | j | j h k sû t ‚ |  j | j j d d	 d
 d d d d d ƒ} t	 | ƒ Vt
 | j ƒ | j | j | j h k s`t ‚ t
 | j j ƒ | j | j h k sŠt ‚ t
 | j j ƒ | j h k sÒt
 | j j ƒ | j | j h k sÒt ‚ | Vt
 | j j ƒ | j | j h k st ‚ t
 | j j ƒ | j h k sIt
 | j j ƒ | j | j h k sIt ‚ | j ƒ  Vd  S(   Nt   numpyR'   R@   i°  g333333ã?t   memory_pause_fractiont   memory_spill_fractioni    iÿ   t   sizeiô  t   dtypet   u1RÇ   R{   R~   R„   g     @Ÿ@(   Ro   Rµ   R   R7   R'   RB   Rh   t   randomt   randintR   t   setRi   RÇ   R1   t   fastR"   R˜   (   Rz   R*   t   npR5   R{   R~   R„   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_spill_to_diskp  s,    		
--'*--*H*Hc         c` s‡   d „  } g  t  d ƒ D]" } |  j | | d d | ƒ^ q } |  j | ƒ V} t | ƒ g  t  d ƒ D] } d | ^ qd k sƒ t ‚ d  S(   Nc         S` s   d d l  m } | j S(   Ni    (   t   thread_state(   R.   Rá   RÇ   (   t   iRá   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   ‘  s    i   RÇ   s   x-%d(   t   rangeRh   Rx   t   listR1   (   Rz   R*   R+   R,   R¥   Râ   t   futuresR‚   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_access_key  s    	5c         c` sL   d  d „ } |  j | ƒ V} | i | j | j 6| j | j 6k sH t ‚ d  S(   Nc         S` s   |  j  S(   N(   t   id(   t   dask_worker(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥     s    (   RB   t   _runRç   R7   R1   (   Rz   R*   R+   R,   R¥   t   response(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_run_dask_worker›  s    c         c` sƒ   t  j d k  r. t j d k  r. t j d ƒ n  t j d  d „ ƒ } |  j | ƒ V} | i | j	 | j
 6| j	 | j
 6k s t ‚ d  S(   Ni   i   i   s%   test needs Tornado 4.5+ on Python 2.7c         s` s$   t  j d ƒ Vt  j |  j ƒ ‚ d  S(   Ngü©ñÒMbP?(   R   R   t   ReturnRç   (   Rè   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   ©  s    (   i   (   i   i   (   Rr   Rs   t   tornadoRo   t   skipR   RÃ   RB   t   runRç   R7   R1   (   Rz   R*   R+   R,   R¥   Rê   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_run_coroutine_dask_worker¤  s    c      	   c` s•   t  d ƒ ƒ } t | j | j d | ƒ} | j | k s? t ‚ | V} |  j t d ƒ } | V} | d k sq t ‚ | j s€ t ‚ | j	 ƒ  VWd  QXd  S(   Ni   R/   i   (
   R   R   R…   R†   R/   R1   Rh   R   t   _threadsR˜   (   Rz   R*   t   eR5   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_Executor²  s    sC   Other tests leak memory, so process-level checkstrigger immediatelyRÂ   i   t   worker_kwargsg    ÐcAR@   c         c` sl   t  j d ƒ } | j t d ƒ d d d d ƒ} |  j | ƒ } t | ƒ Vt | j j ƒ sb t	 ‚ ~ ~ d  S(	   Ns
   dask.arrayg    ÐcAgffffffæ?t   chunksg    €„.ARÙ   RÚ   g    ð³ZA(
   Ro   Rµ   t   onesRD   RÆ   R   R;   Ri   R"   R1   (   Rz   R*   R5   t   daR{   R~   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_spill_by_defaultÂ  s    
!t	   reconnectc         c` sU   |  j  ƒ  Vt ƒ  } x: | j d k rP t j d ƒ Vt ƒ  | d k  s t ‚ q Wd  S(   Nt   closedg{®Gáz„?i   (   R˜   R   Rn   R   R   R1   (   R*   R5   RÀ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_close_on_disconnectÔ  s
    	c          C` s¸   t  d d d d ƒ}  t  d d d d ƒ} t  d d d d ƒ} t  d d d d ƒ} t |  j t ƒ sl t ‚ t | j t ƒ s„ t ‚ |  j | j k  sœ t ‚ | j | j k s´ t ‚ d  S(   Ns	   127.0.0.1i£  R:   i   i   id   iÈ   (   R   RC   R@   R   R1   (   R+   R,   Rz   t   d(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_memory_limit_autoÞ  s    c         c` s`   |  j  d d g d | j ƒV\ } } |  j t | | d | j ƒ} | V} | d k s\ t ‚ d  S(   Ni   i   RO   i   (   t   _scatterR7   Rh   R   R1   (   Rz   R*   R+   R,   R{   R~   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_inter_worker_communicationì  s    %c      	   c` sñ   |  j  t d d | j ƒ} |  j  t | d | j ƒ} | V| j | j | j | j | j | j | j	 | j
 | j g	 } x | D] }  |  s~ t ‚ q~ W| j ƒ  | j ƒ  x$ | j | j k rÎ t j d ƒ Vq« Wx | D] }  |  sÖ t ‚ qÖ Wd  S(   Ni   RO   g{®Gáz„?(   Rh   R   R7   t   taskst
   task_statet
   startstopsRi   t   nbytest	   durationst
   prioritiest   typest   threadsR1   t   releaseRÇ   R   R   (   Rz   R*   R+   R,   R{   R~   t   collections(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt
   test_cleanõ  s(    

i   i   i   s   mul bytes failsc         #` s"  d } d | ˆ  _  d | ˆ _  g  t d ƒ D]( } |  j t d | | d ˆ  j ƒ^ q- } |  j d „  | d ˆ j ƒ} | Vd t ˆ j ƒ k ož d k n s© t ‚ d t ˆ  j ƒ k oÉ d k n sÔ t ‚ t	 ‡ f d	 †  ˆ  j Dƒ ƒ sù t ‚ t	 ‡  f d
 †  ˆ  j Dƒ ƒ st ‚ d  S(   Ni † i
   i   s   %dRO   c          W` s   d  S(   N(   RB   (   RP   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   <lambda>  t    i   i   c         3` s"   |  ] } | d  ˆ  j  k Vq d S(   t   whoN(   R7   (   Re   Rº   (   R,   (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>!  s    c         3` s"   |  ] } | d  ˆ  j  k Vq d S(   R  N(   R7   (   Re   Rº   (   R+   (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>"  s    (
   t   target_message_sizeRã   Rh   R   R7   R;   t   incoming_transfer_logR1   t   outgoing_transfer_logt   all(   Rz   R*   R+   R,   t   nRâ   t   xsR~   (    (   R+   R,   s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_message_breakup  s    ;++%c         c` s$  | j  s t ‚ | j  s  t ‚ |  j t d d | j ƒ} t | ƒ V| j  | j t k sb t ‚ |  j t | d | j ƒ} t | ƒ V| j  i t | j 6t | j 6k s± t ‚ |  j | ƒ Vt	 ƒ  } x= | j | j
 k rt j d ƒ Vt	 ƒ  | d k  sË t ‚ qË W| j | j  k s t ‚ d  S(   Ni   RO   g{®Gáz„?i   (   R  R1   Rh   R   R7   R   RÇ   RD   t   _cancelR   Ri   R   R   (   Rz   R*   R+   R,   R{   R~   RÀ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt
   test_types%  s    )	c         C` s    | j  s t ‚ | j  j ƒ  d  S(   N(   t   monitorR1   t   update(   R*   R+   R,   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_system_monitor;  s    t   At	   resourcesc         c` s˜   |  j  t d d i d d 6ƒ} | V| j i i d d 6| j 6k sJ t ‚ |  j | ƒ Vx$ | j | j k r~ t j d ƒ Vq[ W| j i  k s” t ‚ d  S(   Ni   R  R  g{®Gáz„?(	   Rh   R   t   resource_restrictionsRÇ   R1   R  R  R   R   (   Rz   R*   R+   R,   R{   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_restrictionsA  s    &c   
      c` sß   g  t  d ƒ D] } t t ƒ | ƒ ^ q } xK t  d ƒ D]= } g  t d | ƒ D]! \ } } t t ƒ | | ƒ ^ qN } q8 Wt t ƒ | ƒ } |  j | ƒ }	 t |	 ƒ Vt j	 d ƒ Vt
 | j ƒ t
 | j ƒ d k sÛ t ‚ d  S(   Ni
   i   i   i   (   Rã   R   R   R	   R   t   sumt   computeR   R   R   R;   R  R1   (
   Rz   R*   R+   R,   Râ   t   LR{   R~   t   totalRœ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_clean_nbytesQ  s    +;i   c         g` s!  d | _  |  j t t d ƒ ƒ ƒ V} t d „  | Dƒ ƒ sA t ‚ d „  } |  j | d | j | Œ} t | ƒ Vt t	 d | j
 ƒ ƒ } g  t | ƒ D] \ } }	 |	 d k r• | ^ q• }
 g  t | ƒ D] \ } }	 |	 d k rÆ | ^ qÆ } t | ƒ t |
 ƒ k st ‚ | j d k st ‚ d  S(	   Ni   id   c         s` s   |  ] } | j  Vq d  S(   N(   Ri   (   Re   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>e  s    c          W` s   d S(   Ni
   (    (   RP   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   g  s    RO   i    s   request-deps   receive-dep(   t   total_out_connectionsRþ   Rä   Rã   R  R1   Rh   R7   R   R   t   logt	   enumeratet   minR¸   t   comm_nbytes(   Rz   R*   R+   RO   Rå   R¥   Rœ   R  Râ   t   tt   reqt   recv(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_gather_many_small`  s    		11c         c` s´   |  j  t d d | j ƒ} |  j  t d d | j ƒ} |  j  t | | d | j ƒ} t | ƒ V| j | j } g  | D] }	 |	 d d k rv |	 ^ qv }
 t |
 ƒ d k s° t ‚ d  S(   Ni   RO   i   i    t   transfer(	   Rh   R   R7   R   R   R  RÇ   R;   R1   (   Rz   R*   t   w1t   w2t   w3R{   R~   R„   t   rR(  t	   transfers(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_multiple_transfersu  s    )c         c` só   |  j  t d t | j d ƒ d | j ƒ} |  j  t d t | j d ƒ d | j ƒ} t | | g ƒ V|  j | | g d | j | j g ƒV|  j  t | | d | j ƒ} t | ƒ Vt | j	 ƒ d k sÑ t
 ‚ | j sà t
 ‚ | j sï t
 ‚ d  S(   Nt   1i   RO   t   2i   (   Rh   R   RD   R  R7   R   t
   _replicateR   R;   R  R1   R  (   Rz   R*   R-  R.  R/  R{   R~   R„   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_share_communication‚  s    ++&c   	      c` sØ   |  j  t d t | j d ƒ d | j ƒ} |  j  t d t | j d ƒ d | j ƒ} t | | g ƒ V|  j  t | | d | j ƒ} t | ƒ Vt | j ƒ d k s« t	 ‚ | j \ } } | d | d k  sÔ t	 ‚ d  S(   NR3  i   RO   R4  i   t   stopRÀ   (
   Rh   R   RD   R  R7   R   R   R;   R  R1   (	   Rz   R*   R+   R,   R{   R~   R„   t   l1t   l2(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt/   test_dont_overlap_communications_to_same_worker  s    ++c   
   	   c` sÔ   t  ƒ  Å } t j | ƒ } zž d d l m } | j | ƒ |  j t d d ƒ } t | ƒ Vt	 j
 d ƒ V| j ƒ  t | ƒ  } | j ƒ  }	 Wd  QXd |	 k s¦ t ‚ d |	 k s¸ t ‚ Wd  | j | ƒ XWd  QXd  S(   Ni    (   R   i   gš™™™™™¹?Rq   RÌ   (   R   RU   t   FileHandlerR.   R   Rm   Rh   R    R   R   R   t   flushR£   t   readR1   t   removeHandler(
   Rz   R*   R+   R,   t   fnt   fhR   Rœ   R¥   t   text(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt!   test_log_exception_on_failed_taskœ  s    
c         c` s  t  t ƒ d ƒ } t  t ƒ d ƒ } t  t ƒ | ƒ } t  t ƒ | ƒ } t  t ƒ | | ƒ } |  j | ƒ }	 t |	 ƒ Vt ƒ  }
 xM t | j ƒ t | j ƒ d k rÏ t j	 d ƒ Vt ƒ  |
 d k  sƒ t
 ‚ qƒ Wt | j ƒ t | j ƒ B|	 j h k sþ t
 ‚ d  S(   Ni   i   g{®Gáz„?(   R   R   R   RÆ   R   R   R;   Ri   R   R   R1   RÝ   RÇ   (   Rz   R*   R+   R,   R{   R~   R€   R   R„   t   zzRÀ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_clean_up_dependencies´  s    	%c         c` s‘   |  j  t d d | j ƒ} |  j  t | d | j ƒ} t | ƒ V| j | j k sY t ‚ |  j | ƒ Vt j	 d ƒ V| j | j k s t ‚ d  S(   Ni   RO   gš™™™™™¹?(
   Rh   R   R7   R   RÇ   Ri   R1   R  R   R   (   Rz   R*   R+   R,   R{   R~   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_hold_onto_dependentsÇ  s    c         c` sh   t  j j i d d 6ƒ & |  j ƒ  Vt |  j d d ƒV} Wd  QXt j d ƒ V| j d k sd t	 ‚ d  S(   Nt   1ss!   distributed.comm.timeouts.connectt   death_timeouti   i   Rú   (
   t   daskt   configRÝ   R˜   R   R7   R   R   Rn   R1   (   R*   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_death_timeoutÕ  s
    c         c` ss   |  j  t t d ƒ d d ƒ} t j d ƒ V~ t ƒ  } x4 | j rn t j d ƒ Vt ƒ  | d k  s; t ‚ q; Wd  S(   Niè  t   delayg{®Gáz„?gš™™™™™¹?g      à?(   t   mapR#   Rã   R   R   R   R<   R1   (   Rz   R*   R+   R,   Rå   RÀ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt    test_stop_doing_unnecessary_workà  s    	c         c` sI  g  } x¤ t  d ƒ D]– } t t ƒ | d d | d d ƒ} t t ƒ | d d | ƒ} t t ƒ | d d | ƒ} t t ƒ | d d | ƒ} | j | ƒ | j | ƒ q W|  j | ƒ }	 t |	 ƒ Vg  | j D]D }
 |
 d	 d
 k rÑ |
 d d k rÑ |
 d j	 d ƒ rÑ |
 d ^ qÑ } t
 d „  | t | ƒ d  Dƒ ƒ sEt ‚ d  S(   Ni
   t   dask_key_names   a-%dRK  g{®Gáz„?s   a1-%ds   a2-%ds   b1-%di   R<   i   t   memoryi    t   finalizec         s` s   |  ] } | j  d  ƒ Vq d S(   t   b1N(   t
   startswith(   Re   RÇ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>  s    (   Rã   R   R#   R   R!   R[   R  R   R$  RR  Ru   R;   R1   (   Rz   R*   R5   t   valuesRâ   R+   t   a1t   a2RQ  Rå   R(  R$  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_prioritiesí  s    "Dc         c` s£   | j  | j j } t ƒ  } t j | j d j d d ƒ VxD | j  | j j | k r‚ t j d ƒ Vt ƒ  | d k  s? t ‚ q? W| j d j d k  sŸ t ‚ d  S(   Nt	   heartbeatiè  gš™™™™™¹?g{®Gáz„?i   (	   RO   R7   t	   last_seenR   R   R   t   periodic_callbackst   callback_timeR1   (   Rz   R*   R+   R,   R{   RÀ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_heartbeats  s    	 t   workerc         ` sH   t  ƒ  9 ‰  t d t d i ˆ  d 6ƒ ‡  f d †  ƒ } | ƒ  Wd  QXd  S(   NR&   Rô   R4   c         ` si   g  | j  j ƒ  D] } | j ^ q } t ‡  f d †  | Dƒ ƒ sG t ‚ t t | ƒ ƒ d k se t ‚ d  S(   Nc         3` s   |  ] } | j  ˆ  ƒ Vq d  S(   N(   RR  (   Re   Rü   (   R?  (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>  s    i   (   RO   RS  t   local_directoryR  R1   R;   RÝ   (   Rz   R*   R+   R,   R5   t   directories(   R?  (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_dir  s    %"(   R   R   R™   (   R\  R_  (    (   R?  s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR_    s    +c         c` sH   d t  f d „  ƒ  Y} |  j | d ƒ } | V} | j d k sD t ‚ d  S(   Nt   BadSizec           B` s   e  Z d  „  Z d „  Z RS(   c         S` s   | |  _  d  S(   N(   Ri   (   RI   Ri   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRW      s    c         S` s   t  d ƒ ‚ d  S(   NRÊ   (   t	   TypeError(   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt
   __sizeof__#  s    (   RL   RM   RW   Rb  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR`    s   	i{   (   Rg   Rh   Ri   R1   (   Rz   R*   R+   R,   R`  Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_dataframe_attribute_error  s    c         c` s³   d t  f d „  ƒ  Y} |  j | ƒ } t | ƒ V| j d k sE t ‚ t j t ƒ 
 | VWd  QX|  j t	 t
 d ƒ ƒ } |  j | ƒ V} | t t t	 t
 d ƒ ƒ ƒ k s¯ t ‚ d  S(   Nt   Badc           B` s   e  Z d  „  Z d „  Z RS(   c         S` s   t  ƒ  ‚ d  S(   N(   Ra  (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   __getstate__.  s    c         S` s
   t  d ƒ S(   Ng   èvH7B(   RD   (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRb  1  s    (   RL   RM   Re  Rb  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRd  -  s   	Rb   i
   (   Rg   Rh   R   Rn   R1   Ro   Rp   Ra  RL  R   Rã   Rx   Rä   (   Rz   R*   R+   R,   Rd  Rœ   Rå   R‚   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_fail_write_to_disk+  s    s   Our logic here is faultyg    _ Bc         c` sÄ   t  | _ t j d ƒ V| j s' t ‚ d t f d „  ƒ  Y} |  j | t d ƒ ƒ } |  j	 d „  | Œ } t
 | ƒ Vt j t ƒ  } | VWd  QX|  j	 t d d | j ƒV} | d k sÀ t ‚ d  S(	   Ngš™™™™™¹?Rd  c           B` s#   e  Z d  „  Z d „  Z d „  Z RS(   c         S` s   d  S(   N(    (   RI   R{   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRW   K  s    c         S` s   t  ƒ  ‚ d  S(   N(   Ra  (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRe  N  s    c         S` s
   t  d ƒ S(   Ng    eÍÝA(   RD   (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRb  Q  s    (   RL   RM   RW   Re  Rb  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRd  J  s   		i   c          W` s   d S(   Ni{   (    (   RP   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR  U  R  i   RO   i   (   t   Falset   validateR   R   t   pausedR1   Rg   RL  Rã   Rh   R   Ro   Rp   RÌ   R   R7   (   Rz   R*   R+   Rd  Rå   Rœ   R`   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_fail_write_many_to_diskA  s    	
c         C` s)   |  j  | j j t j ƒ  k s% t ‚ d  S(   N(   RO   R7   t   pidR“   t   getpidR1   (   R*   R+   R,   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_pida  s    c   	      c` së   d „  } t  ƒ  |  k s t ‚ |  j | d d | j ƒ} | V} | d k sR t ‚ | j sa t ‚ | j sq t ‚ | j |  k s† t ‚ t  ƒ  |  k s› t ‚ | j } x+ t d ƒ D] } t |  j | | ƒ ƒ Vq± W| j | k sç t ‚ d  S(   Nc         S` s%   t  ƒ  } | j t |  ƒ } | j ƒ  S(   N(   R   Rh   R   R   (   R{   R   Rœ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   h  s    	i
   RO   i   (   R   R1   Rh   R7   t   _clientRã   R   (	   Rz   R*   R+   R,   R¥   Rœ   R   t   a_clientRâ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_get_clientf  s    		c         C` s7   d „  } |  j  | d ƒ } | j ƒ  d k s3 t ‚ d  S(   Nc         S` s%   t  ƒ  } | j t |  ƒ } | j ƒ  S(   N(   R   Rh   R   R   (   R{   R   Rœ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   ‚  s    	i
   i   (   Rh   R   R1   (   R&   R¥   Rœ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_get_client_sync  s    	c         c` sL   t  j d „  ƒ } |  j | ƒ V} | i d | j 6d | j 6k sH t ‚ d  S(   Nc          s` s6   t  ƒ  V}  |  j t d ƒ } | V} t j | ƒ ‚ d  S(   Ni
   (   R   Rh   R   R   Rì   (   R&   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥     s    
i   (   R   RÃ   Rï   R7   R1   (   Rz   R*   R+   R,   R¥   R‚   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_get_client_coroutine‹  s    c         C` sM   t  j d „  ƒ } |  j | ƒ } | i d | d 6d | d 6k sI t ‚ d  S(   Nc          s` s6   t  ƒ  V}  |  j t d ƒ } | V} t j | ƒ ‚ d  S(   Ni
   (   R   Rh   R   R   Rì   (   R&   Rœ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   ™  s    
i   R7   (   R   RÃ   Rï   R1   (   R&   R*   R+   R,   R¥   R‚   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_get_client_coroutine_sync˜  s    c         c` s}   d d l  m } t | ƒ } | d ƒ  } | | k sG | | k sG t ‚ | j ƒ  V| j ƒ  Vt | ƒ | d k sy t ‚ d  S(   Ni    (   t   _global_workersiÿÿÿÿi   (   R.   Rt  R;   R1   R˜   (   R*   R+   R,   Rt  R  R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_global_workers¤  s    s   file descriptorsc         c` s	  t  j d ƒ } t j d ƒ V| j ƒ  j ƒ  } t |  j d |  j ƒV} t j d ƒ V| j ƒ  j ƒ  } t	 ƒ  } x7 | | k rª t j d ƒ Vt	 ƒ  | d k  st t
 ‚ qt W| j ƒ  Vt	 ƒ  } xC | j ƒ  j ƒ  | k rt j d ƒ Vt	 ƒ  | d k  sÂ t
 ‚ qÂ Wd  S(   Nt   psutilgš™™™™™©?R'   gš™™™™™¹?g{®Gáz„?i   g      à?(   Ro   Rµ   R   R   t   Processt   num_fdsR   R7   R'   R   R1   R˜   (   R*   Rv  RÀ   R\  t   middle(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_worker_fds°  s    		c         c` s‡  t  j d ƒ d d l m } i | d 6} t |  j d i | d 6ƒ} | j d ƒ Vt | j d j	 j
 j j ƒ  ƒ } | j ƒ  d d k s’ t ‚ | j ƒ  Vt |  j d i | d 6ƒ} | j d	 ƒ Vt | j d j	 j
 j j ƒ  ƒ } | j ƒ  d d k st ‚ | j ƒ  Vt |  j d i | d 6ƒ} | j d	 ƒ Vt | j d j	 j
 j j ƒ  ƒ } | j ƒ  d d
 k sxt ‚ | j ƒ  Vd  S(   Nt   bokehi    (   t   BokehWorkers   :0t   servicess   tcp://0.0.0.0s   ::s   0.0.0.0s   tcp://127.0.0.1s	   127.0.0.1(   R{  s   :0(   R{  s   :0(   s   ::s   0.0.0.0(   R{  s   :0(   s   ::s   0.0.0.0(   R{  i    (   Ro   Rµ   t   distributed.bokeh.workerR|  R   R7   t   _startR
   R}  t   servert   _httpt   _socketsRS  t   getsocknameR1   R˜   (   R*   R|  R}  R5   t   sock(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_service_hosts_match_workerÇ  s$    """c         c` sx   t  j d ƒ d d l m } i | d 6} t |  j d | ƒ} | j ƒ  V| j d j j	 d k si t
 ‚ | j ƒ  Vd  S(   NR{  i    (   R|  s   :1234R}  iÒ  (   R{  s   :1234(   Ro   Rµ   R~  R|  R   R7   R  R}  R€  R†   R1   R˜   (   R*   R|  R}  R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_start_servicesá  s    c          c` sx   t  ƒ  i }  t d |  ƒ } | j d ƒ t d |  ƒ V} t | j ƒ | j h k sY t ‚ | j ƒ  V| j	 ƒ  Wd  QXd  S(   Nt   scheduler_fileiI  (
   R   R   RÀ   R   RÝ   RO   R7   R1   R˜   R7  (   R?  R*   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_scheduler_fileï  s    !c         c` sx   | j  } t | j  ƒ d k  s$ t ‚ t | j  ƒ d k  s? t ‚ t j | j d j d d ƒ V| j  | k st t ‚ d  S(   Ng333333Ó?RW  iè  (   t   scheduler_delayt   absR1   R   R   RY  RZ  (   Rz   R*   R+   R,   t   old(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_scheduler_delayú  s
    	 c         c` sJ   |  j  t t d ƒ d d ƒ} t | ƒ V| j d } | d sF t ‚ d  S(   Ni
   RK  gš™™™™™¹?R#   t   count(   RL  R#   Rã   R   t   profile_keysR1   (   Rz   R*   R+   R,   Rå   t   profile(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_statistical_profiling  s    c   	      c` s±   t  j d ƒ } xU t d ƒ D]G } | j j d d d
 ƒ} | | d | j ƒ  j ƒ  } t | ƒ Vq W| j ƒ  } | d sƒ t ‚ d t	 | ƒ k s­ d	 t	 | ƒ k s­ t ‚ d  S(   Ns
   dask.arrayi   i@B Rõ   i'  i   R  R  RÛ   (   i'  (
   Ro   Rµ   Rã   RÛ   R  RÆ   R   t   get_profileR1   R8   (	   Rz   R*   R+   R,   R÷   Râ   R{   R~   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_statistical_profiling_2  s    i
   t   memory_monitor_intervalc         #` sÃ   t  j d ƒ ‰ t j ƒ  j ƒ  j } | d d | _ d t f d „  ƒ  Y‰  ‡  ‡ f d †  } |  j | d g d d	 t	 ƒ} t
 ƒ  } x7 | j j s¾ t j d
 ƒ Vt
 ƒ  | d k  sˆ t ‚ qˆ Wd  S(   NRÕ   gffffffæ?g    „×·At   BadAccountingc           B` s   e  Z d  „  Z d „  Z RS(   c         S` s   | |  _  d  S(   N(   Ri   (   RI   Ri   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRW   $  s    c         S` s   d S(   Ni
   (    (   RI   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRb  '  s    (   RL   RM   RW   Rb  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR”  #  s   	c         ` s+   ˆ j  t |  ƒ d d ƒ} ˆ  | ƒ } | S(   NRÙ   RÚ   (   Rö   RD   (   R  R{   R   (   R”  Rß   (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   *  s    g    „×—Ai   t   puregš™™™™™¹?i   (   Ro   Rµ   Rv  Rw  t   memory_infot   rssR@   Rg   RL  Rg  R   Ri   R"   R   R   R1   (   Rz   R*   R+   RO  R¥   Rå   RÀ   (    (   R”  Rß   s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt#   test_robust_to_bad_sizeof_estimates  s    	R×   t   memory_target_fractiong      à?RÖ   c   
   	   #` sr  t  j ƒ  j ƒ  j } | d d | _ t j d ƒ ‰  ‡  f d †  } t t j	 d ƒ ƒ æ } |  j
 | ƒ } |  j t t d ƒ d d ƒ} t ƒ  } xj | j sþ t j d	 ƒ Vt ƒ  | d
 k  s• t t t  j ƒ  j ƒ  j ƒ t | j ƒ t | j ƒ f ƒ ‚ q• W| j ƒ  }	 d |	 j ƒ  k s#t ‚ d |	 j ƒ  k s;t ‚ Wd  QXt d „  | Dƒ ƒ d
 k  sct ‚ t | ƒ Vd  S(   Ng      à?g    „×§ARÕ   c          ` s)   ˆ  j  t d ƒ d d ƒ}  t d ƒ d  S(   Ng    „×·ARÙ   RÚ   i   (   Rö   RD   R   (   R{   (   Rß   (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   H  s    s   distributed.workeri   RK  gš™™™™™¹?g{®Gáz„?i   RO  t   pausingc         s` s   |  ] } | j  d  k Vq d S(   t   finishedN(   Rn   (   Re   R¥   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>\  s    (   Rv  Rw  R–  R—  R@   Ro   Rµ   R%   RU   t	   getLoggerRh   RL  R#   Rã   R   Ri  R   R   R1   R   R;   Ri   t   getvalueRZ   R  R   (
   Rz   R*   R+   RO  R¥   R   Rœ   Rå   RÀ   t   out(    (   Rß   s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_pause_executor7  s&    	"s   50 mst   profile_cycle_intervalc   
      c` sc  |  j  t t d ƒ d d ƒ} t | ƒ Vt j d ƒ Vt ƒ  } t | j ƒ d k s[ t	 ‚ | j
 d t ƒ  d d t ƒ  d ƒ } | d	 s’ t	 ‚ | j
 d d
 d t ƒ  ƒ } t d „  | j Dƒ ƒ | j d	 } | j
 d d
 d t ƒ  ƒ } | d	 | k o| d	 k n st	 ‚ | j
 d | d d t ƒ  ƒ }	 d
 |	 d	 k  oT| d	 k n s_t	 ‚ d  S(   Ni   RK  gš™™™™™©?g{®Gáz„?i   RÀ   i
   R7  R  i    c         s` s   |  ] \ } } | d  Vq d S(   R  N(    (   Re   t   _t   p(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>m  s    g333333Ó?(   RL  R#   Rã   R   R   R   R   R;   t   profile_historyR1   R‘  R  t   profile_recent(
   Rz   R*   R+   R,   Rå   t   endR{   t   actualt   x2R~   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt    test_statistical_profiling_cyclea  s    	&$*c         c` s2   d „  } |  j  | ƒ V} | j d ƒ s. t ‚ d  S(   Nc           S` s   t  ƒ  j ƒ  S(   N(   R   t   get_current_task(    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt	   some_namew  s    Rª  (   Rh   RR  R1   (   Rz   R*   R+   R,   Rª  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_get_current_tasku  s    	c         #` sœ   | j  d j j ƒ  | j ‰  ‡  f d †  } |  j | t d ƒ ƒ } |  j t t d ƒ d d d | j ƒ} t | ƒ Vt ‡ f d †  | Dƒ ƒ s˜ t	 ‚ d  S(	   Nt   stealingc         ` s,   t  d ƒ t ƒ  j ˆ  k r( t ƒ  ‚ n  d  S(   Ngš™™™™™¹?(   R   R   R7   R   (   R{   (   t	   a_address(    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   ƒ  s    
i   i
   RK  gš™™™™™¹?RO   c         3` s!   |  ] } | j  ˆ  j k Vq d  S(   N(   RÇ   Ri   (   Re   R¥   (   R,   (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>Œ  s    (
   t
   extensionst   _pcR7  R7   RL  Rã   R#   R   R  R1   (   Rz   R*   R+   R,   R¥   Rå   t   futures2(    (   R­  R,   s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_reschedule~  s    	'c          C` s   d d l  m }  t d d ƒ } | j } |  j d ƒ | j sD t ‚ | j d } d | j | ƒ k sl t ‚ t d „  | j Dƒ ƒ s‹ t ‚ d  S(	   Ni    (   R   s	   127.0.0.1iS  t   foo456iÿÿÿÿs   distributed.workerc         s` s   |  ] } | j  d  k Vq d S(   R²  N(   Rº   (   Re   Rº   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>˜  s    (	   R.   R   R   t   _deque_handlerR`   t   dequeR1   t   formatRu   (   R   R5   t   deque_handlerRº   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_deque_handler  s    	c         c` s¯   t  | j d | j d d d d ƒV} t | j ƒ t k s@ t ‚ d | j k sU t ‚ |  j t	 d ƒ } | Vd k sz t ‚ t
 j | j d	 ƒ V|  j t	 d ƒ V| j ƒ  Vd  S(
   NR'   R@   i    R“  i
   RO  i   i   iè  (   R   R7   R'   R>   Ri   t   dictR1   RY  Rh   R   R   R   R“  R˜   (   Rz   R*   R\  Rœ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt'   test_avoid_memory_monitor_if_zero_limit›  s    "RI  s   distributed.worker.memory.spills    distributed.worker.memory.targetc         C` s   t  | j ƒ t k s t ‚ d  S(   N(   R>   Ri   R¸  R1   (   R*   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt"   test_dict_data_if_no_spill_to_disk¬  s    c         C` su   d „  } |  j  | ƒ d „  } t ƒ  } xF t d „  |  j | ƒ Dƒ ƒ sp t d ƒ t ƒ  | d k  s+ t ‚ q+ Wd  S(   Nc           S` s   t  ƒ  j t d ƒ j ƒ  d  S(   Ni   (   R   Rh   R   R   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR¥   ¸  s    c         S` s   t  |  j ƒ S(   N(   Rä   t   clients(   t   dask_scheduler(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   func½  s    c         s` s   |  ] } d  | k Vq d S(   R\  N(    (   Re   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>Á  s    gš™™™™™¹?i
   (   Rï   R   Ru   t   run_on_schedulerR   R1   (   R&   R¥   R½  RÀ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_get_worker_name·  s    			"
s   2e3 MBc         C` s   | j  d k s t ‚ d  S(   Ng    eÍÝA(   R@   R1   (   R*   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_parse_memory_limitÆ  s    c         c` s`   t  j j i | j d 6ƒ 3 t d | j ƒ V} | j j | j k sK t ‚ Wd  QX| j ƒ  Vd  S(   Ns   scheduler-addressR'   (	   RH  RI  RÝ   R7   R   R'   R?   R1   R˜   (   Rz   R*   R\  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_scheduler_address_configË  s    !c         c` sæ   t  j d ƒ } | j j d ƒ } |  j | d | j ƒV} |  j t | d | j ƒ} t | ƒ Vt | j	 ƒ t | j
 ƒ k o‰ d k n s” t ‚ | j	 d d } | j
 d d }	 |	 | }
 d |
 k  o× d k  n sâ t ‚ d  S(	   NRÕ   i€–˜ RO   i   i    t   durationi   gUUUUUUÕ?(   Ro   Rµ   RÛ   t   scatterR7   Rh   R   R   R;   R  R  R1   (   Rz   R*   R+   R,   Rß   R{   Rœ   R~   R›   Rš   t   ratio(    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_wait_for_outgoingÓ  s    4
t   linuxs    Need 127.0.0.2 to mean localhosts	   127.0.0.2c         #` s    |  j  d d | j | j g d t ƒV} |  j t | d ˆ  j g ƒ} t | ƒ Vt ‡  f d †  | j Dƒ ƒ sv t ‚ t ‡  f d †  | j Dƒ ƒ sœ t ‚ d  S(   Ni{   RO   R¾   c         3` s"   |  ] } | d  ˆ  j  k Vq d S(   R  N(   R7   (   Re   Rü   (   R.  (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>ï  s    c         3` s"   |  ] } | d  ˆ  j  k Vq d S(   R  N(   R7   (   Re   Rü   (   R.  (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pys	   <genexpr>ð  s    (	   RÃ  R7   R™   Rh   R   R   Ru   R  R1   (   Rz   R*   R-  R.  R/  R{   R~   (    (   R.  s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt%   test_prefer_gather_from_local_addresså  s
    (%s'   distributed.worker.connections.incomingc      	   g` sõ   t  j d ƒ } |  j | j j d d | d j g ƒ} t | ƒ Vg  | d D]* } |  j t | d t d | j g ƒ^ qM } t | ƒ Vt | d j ƒ t | ƒ d k  s± t	 ‚ t g  | D]! } t | j ƒ d k r» | ^ q» ƒ d k sñ t	 ‚ d  S(	   NRÕ   i@B RO   i    i   R•  i   i   (
   Ro   Rµ   Rh   RÛ   R7   R   R;   Rg  R  R1   (   Rz   R*   RO   Rß   R{   R5   Rå   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_avoid_oversubscriptionó  s    (;)c         C` s   |  j  S(   N(   R†   (   R5   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR  	  R  t   my_portt   metricsc         C` sP   | j  | j j d | j k s& t ‚ | j  | j j d | j k sL t ‚ d  S(   NRÉ  (   RO   R7   RÊ  R†   R1   (   Rz   R*   R+   R,   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_custom_metrics	  s    &c         c` s-  d „  } d „  } d „  } d „  } t  | j ƒ d k s? t ‚ |  j | ƒ V} t | j ƒ  ƒ t g d k st t ‚ |  j | ƒ V} t | j ƒ  ƒ t g d k s© t ‚ t | j d | j	 ƒV}	 |  j | d |	 j g ƒV} t | j ƒ  ƒ t g k sÿ t ‚ |	 j
 ƒ  V|  j d	 | ƒ V}
 t  |
 ƒ d k s5t ‚ t  | j ƒ d
 k sPt ‚ |  j | ƒ V} t | j ƒ  ƒ t g d k s…t ‚ t | j d | j	 ƒV}	 |  j | d |	 j g ƒV} t | j ƒ  ƒ t g k sÛt ‚ |	 j
 ƒ  V|  j d	 | ƒ V}
 t  |
 ƒ d k st ‚ t  | j ƒ d k s,t ‚ |  j | ƒ V} t | j ƒ  ƒ t g d k sat ‚ t | j d | j	 ƒV}	 |  j | d |	 j g ƒV} t | j ƒ  ƒ t g k s·t ‚ |  j | d |	 j g ƒV} t | j ƒ  ƒ t g k sôt ‚ |	 j
 ƒ  Vt j t ƒ  |  j d	 d „  ƒ VWd  QXd  S(   Nc         S` s   d |  _  d  S(   Ni   (   t   init_variable(   Rè   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt	   mystartup  s    c          S` s   d d  l  }  d |  j d <d S(   Ni    t   WORKER_ENV_VALUEt   MY_ENV_VALUEs   Env set.(   R“   t   environ(   R“   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt
   mystartup2  s    c         S` s   t  |  d ƒ S(   NRÌ  (   t   hasattr(   Rè   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_import  s    c          S` s"   d d  l  }  |  j d d  ƒ d k S(   Ni    RÏ  RÎ  (   R“   t   getenvRB   (   R“   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_startup2   s    i    i   R'   RO   t   setupi   c           S` s   d d S(   Ni   i    (    (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyR  T  R  (   R;   t   worker_setupsR1   Rï   Rä   RS  Rg  R   R7   R'   R˜   t   register_worker_callbacksR™   Ro   Rp   Rq   (   Rz   R*   R+   R,   RÍ  RÑ  RÓ  RÕ  R   R\  Rê   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_register_worker_callbacks  sF    				%%!%!%!!c         c` s÷   t  |  j d t ƒV} t | j t ƒ s. t ‚ | j ƒ  Vt ƒ  } t  |  j d | ƒV} | j | k sm t ‚ | j ƒ  Vd t f d „  ƒ  Y} t  |  j d | i d d 6d d 6f ƒV} | j j d k sÐ t ‚ | j j d k sè t ‚ | j ƒ  Vd  S(   NRi   t   Datac           B` s   e  Z d  „  Z RS(   c         S` s   | |  _  | |  _ d  S(   N(   R{   R~   (   RI   R{   R~   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRW   c  s    	(   RL   RM   RW   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyRÚ  b  s   i{   R{   iÈ  R~   (	   R   R7   R¸  RC   Ri   R1   R˜   R{   R~   (   R*   R5   Ri   RÚ  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   test_data_typesW  s    	*(   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   i   i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.2i   (   s	   127.0.0.1i   (   t
   __future__R    R   R   t   concurrent.futuresR   RU   t   numbersR   t   operatorR   R“   Rv  R2   Rr   R   R   Rv   RH  R   Ro   t   toolzR   R	   R
   Rí   R   t   tornado.ioloopR   t   distributedR   R   R   R   R   R   t   distributed.compatibilityR   R   t   distributed.coreR   t   distributed.clientt   distributed.schedulerR   t   distributed.metricsR.   R   R   R   t   distributed.utilsR   R   t   distributed.utils_testR   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R6   R=   RF   R™   Rƒ   RŽ   Rž   t   markRî   R©   R¯   R²   t   xfailR¹   R¿   RÁ   RÅ   RÈ   RÍ   RÑ   RÔ   Rà   Ræ   Rë   Rð   Ró   Rø   Rg  Rû   Rý   Rÿ   R
  t   skipifRs   R  R  R  R  R"  R+  R2  R6  R:  t   avoid_travisRB  RD  RE  RJ  RM  RV  R[  t   parametrizeR_  Rc  Rf  Rj  Rm  Rp  Rq  Rr  Rs  Ru  Rz  R…  R†  Rˆ  RŒ  R  R’  R˜  RŸ  R¨  R«  R±  R·  R¹  Rº  R¿  RÀ  RÁ  RÅ  t   platformRR  RÇ  RÈ  RË  RÙ  RÛ  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_worker.pyt   <module>   s"  .@4	
			F$
!				(
		"5	%%%	!
!$+	
						
 %	%			(	*/H