
\c           @` s/%  d  d l  m Z m Z m Z d  d l m 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 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 Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" d  d	 l# m$ Z$ d  d
 l% m& Z& d  d l' Z' d  d l' m( Z( d  d l) m* Z* d  d l+ j, Z- d  d l. m/ Z/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 d  d l9 m: Z: d  d l; m< Z< m= Z= m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD d  d lE mF ZF mG ZG d  d lH m Z d  d lI mJ ZJ mK ZK d  d lL mM ZM d  d lN mO ZO mP ZP mQ ZQ mR ZR mS ZS mT ZT d  d lU mV ZV mW ZW mX ZX mY ZY mZ ZZ m[ Z[ m\ Z\ m] Z] m^ Z^ m_ Z_ m` Z` ma Za mb Zb mc Zc md Zd me Ze mf Zf mg Zg mh Zh mi Zi mj Zj mk Zk d  d lU ml Zm mn Zo mp Zp mq Zq mr Zr ms Zs mt Zt mu Zu mv Zv eb d ew d d  d    Zy eb d ew  d    Zz eb d ew  d    Z{ eb d ew  d    Z| eb d ew  d    Z} eb d ew  d    Z~ d   Z eb d ew  d     Z eb d ew  d!    Z eb d ew  d"    Z eb d ew  d#    Z eb d ew  d$    Z eb d ew  d%    Z d&   Z eb d ew  d'    Z d(   Z d)   Z eb d ew  d*    Z eb d ew  d+    Z eb d ew  d,    Z eb   d-    Z d.   Z d/   Z eb d ew  d0    Z eb d ew  d1    Z d2   Z eb d ew  d3    Z eb d ew d4 dg  d7    Z eb d ew  d8    Z eb d ew d d  d9    Z d:   Z d;   Z d<   Z eb d ew  d=    Z eb d ew  d>    Z eb d ew  d?    Z eb d ew d d@  dA    Z dB   Z dC   Z eb d ew  dD    Z eb d ew  dE    Z eb d dF d ew  dG    Z eW eb d ew  dH     Z e j j eb d ew  dI     Z e j j eb d ew  dJ     Z e j j eb d ew  dK     Z eb d ew  dL    Z e j j e j j dM  dN dO eb ddg d ew dQ     Z eb d ew  dR    Z e j j e j j dM  dN dO eb ddg d ew dS     Z e j j e j j dM  dN dO eb ddg d ew dT     Z eb d ew  dU    Z eb d ew d d  dV    Z eb d4 dg d ew  dW    Z eb d ew  dX    Z eb d ew  dY    Z eb   dZ    Z eb d ew  d[    Z eb d ew  d\    Z eb d ew  d]    Z eb d ew  d^    Z eb d ew  d_    Z eb d ew  d`    Z eb d ew  da    Z eb d ew  db    Z eb d ew  dc    Z eb d ew  dd    Z eb d ew  de    Z eb d ew  df    Z dg   Z dh   Z eb d ew  di    Z eb d ew  dj    Z e j j e j j dM  dN dO eb ddg d ew dk     Z eb d ew  dl    Z eb d ew  dm    Z eb d ew  dn    Z eb d ew  do    Z dp   Z eb d ew  dq    Z dr   Z ds   Z dt   Z du   Z dv   Z e j j dN dw  dx    Z eb d ew  dy    Z eb d ew  dz    Z eb d ew  d{    Z eb d ew d4 dg d|  d}    Z eb d ew d4 dg d|  d~    Z eb d ew d4 g   d    Z eb d ew d d d4 dg d  d    Z e j j d ew e g  e j j d ew e g  d     Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Z d   Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Z d   Z eb d ew  d    Z d   Z e j j eb   d     Z eb d ew  d    Z eb d ew  d    Z d   Z eb d ew  d    Z eb d dF d ew  d    Z d   Z eb d ew  d    Z e j j e j j dM  dN dO eb ddg d ew d     Z e j j d dN d d    Z eb d ew  d    Z eb d ew  d    Z d e f d     YZ d e f d     YZ eb d ew  d    Z e j j d dN d d    Z d   Z eb d ew  d    Z ec   d    Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Z eb d ew  d    Zd   Zeb d ew  d    Zeb   d    Zd   Zeb   d    Zeb   d    Zeb d ew  d    Zeb d ew d4 dg d|  d    Z	eb d ew  d    Z
d   Zeb d ew  d    Zeb d ew  d    Zeb d ew  d    Zeb   d    Zeb d ew  d    Zd   Zeb d ew  d    Zeb d ew  d    Zeb d ew  d    Ze j j e jdk dN d eb d ew  d     Zeb d ew  d    Zeb d ew  d    Zd   Zeb d ew  d    Zd   Zeb d d d ew  d    Zeb d ew  d    Zd   Zeb d d d ew  d    Zeb d ew  d    Z eb d ew  d    Z!d   Z"eb d ew  d    Z#e j j eb d4 dg d ew  d     Z$eb d4 g  d ew  d    Z%e j j dN d  eb d ew  d     Z&eb d ew  d    Z'eb d ew  d    Z(d   Z)eb d ew  d    Z*d   Z+d   Z,d   Z-d   Z.eb d ew  d    Z/ec   d    Z0d   Z1eb d ew  d    Z2e j j e j j d  dN d d    Z3eb   d    Z4d   Z5eb d ew  d    Z6eb d ew  d    Z7eb d4 dg d| d ew  d    Z8eb d ew  d    Z9d   Z:eb d ew  d    Z;eb d ew  d    Z<e j j e j j dM  dN dO eb ddg d ew d     Z=eb d ew d4 g   d    Z>e j j e j j dM  dN dO eb ddg d ew d     Z?eb d ew  d    Z@eb d ew d4 dg d  d    ZAeb d ew  d    ZBeb d ew d4 dg d  d    ZCd e f d     YZDeb d ew d4 dg d  d    ZEeb d ew d4 dg d  d    ZFe j j e j j dM  dN dO eb d ew d4 dddg d d  d     ZGd   ZHe j j e j j d  dN d eb d ew d4 dg d6  d     ZIeb d ew d4 dg d@  d    ZJeb d ew d4 dg d@  d    ZKe j j eb d ew d4 dg d@  d    ZLeb d ew d4 dg d|  d   ZMeb d ew d4 dg d|  d   ZNeb d ew d4 dg d@  d   ZOeb d ew d4 dg d@  d   ZPeb d ew d4 dg d|  d   ZQd  ZReb d ew  d	   ZSeb d ew  d
   ZTd  ZUeb d ew d4 dg d  d   ZVeW eb d ew de0 de  d    ZWd  ZXd  ZYes d   ZZeW eb de0 d ew  d    Z[d  Z\d  Z]d  Z^e j j dew e g  d   Z_d  Z`ec   d   Zaeb d ew  d   Zbeb d ew d4 g   d   ZceW d   Zdeb d ew d4 g  di dd 6 d    ZeeW e j j e j j d  dN d e j j e jd  d@ k dN d!e j jfdN d" e j j d#e/ d$d f e0 d df g  d%       Zgeb d e d d  d&   Zhd'  Zid(  Zjd)  Zkd*  Zleb d ew  d+   Zmeb d ew d4 dg d  d,   Zneb d ew  d-   Zoeb d ew  d.   Zpeb d ew  d/   Zqeb d e  d0   Zreb d e  d1   Zses eb d4 dg d d ew  d2    Zteb d4 dg d d ew  d3   Zueb d ew  d4   Zvd5  Zweb d ew  d6   Zxeb d ew  d7   Zyeb d ew d4 dg d  d8   Zzeb d ew d4 dg d@  d9   Z{eb d ew d4 ddg  d:   Z|eb d ew de  d;   Z}eb d ew  d<   Z~eb d ew  d=   ZeW d>   Zeb d ew  d?   Zd@  ZdA  Zeb d ew d d  dB   Ze j j dN dC eb d ew d d  dD    Zeb d ew  dE   ZeW ec   dF    Zeb d ew  dG   Zeb d ew  dH   Zeb d ew  dI   Zeb d ew  dJ   Zeb d ew  dK   Zeb d ew  dL   Zeb d ew  dM   Zeb d ew  dN   Zeb d ew  dO   ZdP  ZdQ  Zeb d ew  dR   ZdSef dT    YZeb d ew  dU   Zeb d ew  dV   Zeb d ew  dW   Zeb d ew  dX   Zeb d ew  dY   ZdZ  ZeW d[   Zeb   d\   Zd]  ZeW d^   ZeW d_   Zeb d ew  d`   Zeb d ew d4 dg d@  da   Zdb  Zeb d ew  dc   Zeb d ew d4 dg d6 d d$ dd   ZeW eb d ew d4 dg d@ d d  de    Zeb d ew  df   Zdg  Zeb d ew  dh   Zdi  Zdjdk Zdl  Zdm  ZeW dn   Zeb d ew  do   Zeb d ew  dp   Zeb d ew  dq   Zdr  Zds  Zdt  Zeb dg d@ d ew du   Zeb dg d@ d ew dv   Zeb dg d@ d ew dw   Zeb dg d@ d ew dx   Zeb d ew dyi d$dz6 d{   Zeb d ew dyi d$dz6 d|   Zeb   d}   Zeb d ew  d~   Zeb d ew  d   Zd  ZeW eb d ew deF r!e0 n e/ d d d4 dg d@  d    Zeb d ew  d   Zeb d ew  d   Zeb d ew  d   Zeb   d   Zeb d ew  d   Zeb   d   Z e j j e jd  d k  dN deb d ew  d    Zeb   d   Zd  Zeb d ew d4 g   d   Ze j j de jk dN dd   Zec   d   Zec   d   Ze j j d ew e g  d   Zeb   d   Zeb   d   Zeb   d   Zd  Zeb d ew d4 dg  d   Zeb d ew  d   Zd  Zeb   d   Zd  Zeb   d   Zeb d ew  d   Zeb d ew  d   Zeb d ew  d   Zeb d ew  d   Zeb d ew  d   Zeb d ew de  d   Zeb d ew  d   Zeb d ew  d   Zd  Ze jdk r+%d  dlTn  d S(  i    (   t   print_functiont   divisiont   absolute_import(   t   add(   t   deque(   t   CancelledErrorN(   t	   Semaphore(   t   sleep(   t   identityt
   isdistinctt   concatt   pluckt   valmapt   partialt   firstt   merge(   t   gen(   t   IOLoop(   t   delayed(   t   SubgraphCallable(
   t   Workert   Nannyt   fire_and_forgett   LocalClustert
   get_clientt   secedet
   get_workert   Executort   profilet   TimeoutError(   t   CommClosedError(	   t   Clientt   Futuret   waitt   as_completedt   tokenizet   _get_global_clientt   default_clientt
   futures_oft   temp_default_client(   t   PY3t   Iterator(   t   time(   t	   Schedulert   KilledWorker(   t   sizeof(   t   ignoringt
   mp_contextt   synct   tmp_textt   tokeyt   tmpfile(   t   clustert   slowt   slowinct   slowaddt   slowdect	   randominct   inct   dect   divt   throwst   geninct   asyncinct   gen_clustert   gen_testt   doublet   popent   captured_loggert   varyingt   map_varyingt   wait_fort   async_wait_fort   pristine_loop(	   t   clientt   client_secondaryt   cluster_fixturet   loopt   loop_in_threadt   nodebugt   st   at   bRJ   t   timeoutc         c` s   |  j  t d  } | j   s% t  t | t  s: t  | j |  k sO t  | V} | d k sh t  | j   sz t  |  j  t d  } |  j  t | |  } | V} | d k s t  | j   d  S(   Ni
   i   i   i   i    (	   t   submitR:   t   donet   AssertionErrort
   isinstanceR    RJ   R   t   validate_state(   t   cRP   RQ   RR   t   xt   resultt   yt   z(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_submitb   s    c         c` s  |  j  t t d   } t |  d k s0 t  t d   | D  sL t  t d   | D  sh t  | d V} | t d  k s t  t | j  d k s t  |  j  t |  } | d V} | t t d   k s t  t | j  d k s t  |  j t	 |  } | V} | t	 t  t t  t t d     k sEt  |  j  t
 | |  } | d V} | t d  t t d   k st  |  j  t
 t d  t d   }	 |  j |	  V}
 t j d d k r|
 t t  t
 t d  t d    k st  n  d d	  } |  j  | t d  d
 d } |  j |  V}
 |
 t t d d   k s_t  |  j | d  } |  j  | t d  d
 | } |  j |  V}
 |
 t t d d   k st  | j   d  S(   Ni   c         s` s   |  ] } | j  Vq d  S(   N(   t   key(   t   .0RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>z   s    c         s` s   |  ] } t  | t  Vq d  S(   N(   RW   R    (   R`   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>{   s    i    i   i
   i   i   c         S` s   |  | S(   N(    (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   f   s    R\   i   i   (   t   mapR:   t   ranget   lenRV   R	   t   allt   tasksRT   t   sumR   t   gathert   syst   version_infot   listRX   (   RY   RP   RQ   RR   t   L1R[   t   L2t   totalt   L3t   L4t   resultsRa   t   L5R\   t   L6(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_mapv   s<    0(!3!!c         c` sV   |  j  t g  d t } t |  d k s0 t  |  j |  V} | g  k sR t  d  S(   Nt   purei    (   Rb   R:   t   FalseRd   RV   Rh   (   RY   RP   RQ   RR   Rl   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_empty   s    c         C` s  |  j  t t d  d d } t d   | D  s: t  t d   | D  sV t  |  j  t d d d d	 g d d } g  | D] } | j ^ q g  | D] } | j ^ q k s t  d
 d d d g } |  j  t t d  d | } g  | D] } | j ^ q | k st  d  S(   Ni   R_   t   INCc         s` s!   |  ] } | j  j d   Vq d S(   Rx   N(   R_   t
   startswith(   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>   s    c         s` s   |  ] } | j  Vq d  S(   N(   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>   s    i   i   i   i   s   inc-1s   inc-2s   inc-3s   inc-4(   Rb   R:   Rc   Re   RV   R	   R_   (   RY   RP   RQ   RR   t   futurest   futures2Ra   t   keys(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_keynames   s    $>c   	      c` s  t  d  d d g d d d g t  d  t  d  d	 g g } |  j d
 d t |   \ } } } | Vd k ss t  | Vd k s t  | Vd	 k s t  |  j d
 d d t t |   \ } } } | Vd k s t  | Vd k s t  t j t    } | VWd  QX| j d  |  j d
 d d t t |   \ } } } t j t    } | VWd  QX| j d  | Vd k szt  t j t    } | VWd  QX| j d  d  S(   Nt   onei   i   i   i   i   t   sevent   eighti	   t   retriesi   Ru   i    (   t   ZeroDivisionErrorRb   RF   RV   Rv   t   pytestt   raisest   match(	   RY   RP   RQ   RR   t   argsRZ   R\   R]   t   exc_info(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_retries   s*    $**c      
   c` s  t  d  t  d  d g } |  j t t |      } t j t    } | VWd  QX| j d  |  j t t |     d d } t j t    } | VWd  QX| j d  |  j t t |     d d } | Vd k s t  | j d  |  j t t |     d d } | Vd k s,t  t  d  t  d  d d	 g } t  d
  t  d  d g } d d d g }	 g  | | f D] } t t |     ^ q\ } }
 |  j | |
 g d i d | 6\ } }
 t	 j
   | Vd k st  t j t    } |
 VWd  QX| j d
  g  | | |	 f D] } t t |     ^ q'\ } }
 } |  j | |
 | g d i d |
 | f 6\ } }
 } t j t    } | VWd  QX| j d  |
 Vd k st  | Vd k st  d  S(   NR~   t   twoi   R   i   i   i   i   i(   t   fivet   sixiF   iP   iZ   id   (   R   t   computeR   RE   R   R   R   RV   t   appendt   gct   collect(   RY   RP   RQ   RR   R   RZ   R   t   xargst   yargst   zargsR\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_compute_retries   s>    $$$4(
:4c         C` s   t  d  t  d  d g } t t |     } | j d d  d k sN t  t  d  t  d  d g } t t |     } t j t    | j   Wd  QXd  S(   NR~   R   i   R   i   (   R   R   RE   R   RV   R   R   (   RY   R   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_retries_get  s    c         c` sl  t  d  t  d  d g } |  j t t |      } |  j |  } t j t    } | VWd  QX| j d  |  j t t |      } |  j | d d } t j t    } | VWd  QX| j d  |  j t t |      } |  j | d d } | Vd k st  | j	 d  |  j t t |      } |  j | d d } | Vd k sht  d  S(   NR~   R   i   R   i   i   i   (
   R   t   persistR   RE   R   R   R   R   RV   R   (   RY   RP   RQ   RR   R   RZ   t   futR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_compute_persisted_retries  s$    c         c` s  t  d  t  d  d g } |  j t t |     d d } |  j |  } t j t    } | VWd  QX| j d  |  j t t |     d d } |  j |  } | Vd k s t  t  d  t  d  d d g } t  d	  t  d
  d g } d d d g }	 g  | | |	 f D] } t t |     ^ q\ } }
 } |  j | |
 | g d i d |
 | f 6\ } }
 } |  j | |
 | g  \ } }
 } t j t    } | VWd  QX| j d  |
 Vd k st  | Vd k st  d  S(   NR~   R   i   R   i   i   i   i(   R   R   iF   iP   iZ   id   (	   R   R   R   RE   R   R   R   R   RV   (   RY   RP   RQ   RR   R   RZ   R   R   R   R   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_persist_retries,  s(    $$:4!c         c` s\   t  j d  } | j d d d	 } |  j | j   d d } | V} | d k sX t  d  S(
   Ns
   dask.arrayi
   t   chunksi   R   i   id   (   i
   i
   (   i   i   (   R   t   importorskipt   onesR   Rg   RV   (   RY   RP   RQ   RR   t   daRZ   t   futureR\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_retries_dask_arrayK  s
    c         C` s   |  j  t d  } x t d   g D]s } t | j  | |  k sI t  t | j  | |  k sj t  t | j  t |  j | j  k s" t  q" Wd  S(   Ni
   c         S` s
   |  j    S(   N(   t   _repr_html_(   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   <lambda>W  t    (   RT   R:   t   reprt   strR_   RV   t   statusRz   (   RY   RP   RQ   RR   RZ   t   func(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_future_reprT  s
    !!c   	      C` s   t  j d  } | j d d d j   } t |  d } xI t d   g D]8 } x/ | j D]$ } t |  | |  k sZ t  qZ WqJ Wd  S(   Ns
   dask.arrayi
   R   i   i    c         S` s
   |  j    S(   N(   R   (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   b  R   (   i   (	   R   R   t   arangeR   R&   R   R_   R   RV   (	   RY   RP   RQ   RR   R   R\   Ra   R   t   k(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_future_tuple_repr]  s    c         c` so   |  j  t d d  } | j   V} t | t  s7 t  |  j  t d d  } | j   V} | d  k sk t  d  S(   Ni   i    (   RT   R<   t	   exceptionRW   R   RV   t   None(   RY   RP   RQ   RR   RZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_Future_exceptiong  s    c         C` sa   |  j  t d d  } t | j   t  s0 t  |  j  t d d  } | j   d  k s] t  d  S(   Ni   i    (   RT   R<   RW   R   R   RV   R   (   RY   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_Future_exception_syncr  s    c         c` s   |  j  t d d  } | V| j   t j V|  j s< t  |  j  t d d d } | j   t j V|  j sv t  |  j  t d d  } | j   V| j   t j V|  j s t  d  S(   Ni   t   delayg      ?i    (	   RT   R<   t   releaseR   t   momentRz   RV   R6   R   (   RY   RP   RQ   RR   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_Future_releasez  s    


c         ` s     j  t d d  } | j   | j   t   f d   d d   j  t d d d } | j   t   f d   d d   j  t d d  } | j   | j   t   f d	   d d d  S(
   Ni   c           ` s     j  S(   N(   Rz   (    (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   RS   g333333?R   g?c           ` s     j  S(   N(   Rz   (    (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i    c           ` s     j  S(   N(   Rz   (    (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   (   RT   R<   R[   R   RG   R6   R   (   RY   RZ   (    (   RY   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_Future_release_sync  s    




c         C` s   t  j d  } | j t d d  } y | j   Wn& t k
 rZ t j   \ } } } n X| j |  j	   } d } x$ | d  k	 r | d 7} | d } qy W| d k  s t  d  S(   Nt   tblibi   i    t   tb_nexti   (   R   R   RT   R<   R[   t	   ExceptionRi   R   t	   Tracebackt   to_dictR   RV   (   RM   RY   R   R   t   _t   tbt   n(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_short_tracebacks  s    
c   	      C` s   |  j  t t d   } |  j  t t d   } g  | D] } | j ^ q7 g  | D] } | j ^ qP k sn t  |  j  t d d d d g  } t d   | D  d k s t  |  j  t d d d d g d t } t d   | D  d k s t  d  S(   Ni   i   c         S` s   h  |  ] } | j   q S(    (   t   _state(   R`   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 Ru   c         S` s   h  |  ] } | j   q S(    (   R   (   R`   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 i   (   Rb   R:   Rc   R_   RV   Rd   Rv   (	   RY   RP   RQ   RR   Rl   Rm   RZ   Ro   Rp   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_naming  s    >"$c         C` sp   |  j  t d  } |  j  t d  } | j | j k s< t  |  j  t d d t }  |  j | j k sl t  d  S(   Ni   Ru   (   RT   R:   R   RV   Rv   R_   (   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_submit_naming  s
    c         c` s   |  j  t d d  } | V} | d k s. t  |  j  t d d  } t j t   | V} Wd  QX|  j  t d d  } | V} | d k s t  d  S(   Ni   i   i    i
   g      ?g      @(   RT   R<   RV   R   R   R   (   RY   RP   RQ   RR   RZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_exceptions  s    c         #` s   t    j   j f d t V} | j t d    V  j  j j sO t	   j
   t    f d   d d V| j   Vd  S(   Nt   asynchronousi
   c           ` s$    j    j k p#   j  j  j S(   N(   R_   Rf   t   who_has(    (   RP   RZ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   RS   g333333?(   R   t   ipt   portt   TrueRT   R:   Rf   R_   R   RV   t   __del__RH   t   close(   RP   RQ   RR   RY   (    (   RP   RZ   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gc  s    
c         C` s   |  j  t d  } | j   d k s* t  |  j  t d d d } t j t j   | j d d  Wd  QX| j   d k s t  d  S(   Ni   i   R   g333333?RS   g{Gz?(	   RT   R:   R[   RV   R6   R   R   R   R   (   RY   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_thread  s    c         C` s   |  j  t d d  } | j   d k s- t  |  j  t d d  } y | j   t s[ t  Wn t k
 ro n X|  j  t d d  } | j   d k s t  d  S(   Ni
   i   i   i    (   RT   R<   R[   RV   Rv   R   (   RY   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_sync_exceptions  s    
c         c` s   |  j  t d  } |  j  t |  } |  j |  V} | d k sF t  |  j | g  V} | d g k sn t  |  j i | d 6| g d 6 V} | i d d 6d g d 6k s t  d  S(   Ni
   i   RZ   R\   i   (   RT   R:   Rh   RV   (   RY   RP   RQ   RR   RZ   R\   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather  s    !c         c` su   |  j  d g d | j V\ } |  j t d d | j } | j   Vt j t   |  j | | g  V} Wd  QXd  S(   Ni   t   workers(	   t   scattert   addressRT   R:   R   R   R   R   Rh   (   RY   RP   RQ   RR   RZ   R\   t   res(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_lost  s
    c         C` s   |  j  t d  } |  j |  d k s- t  |  j  t d d  } t j t   |  j | | g  Wd  QX|  j | | g d d \ } | d k s t  d  S(   Ni   i   i    t   errorst   skip(   RT   R:   Rh   RV   R<   R   R   R   (   RY   RZ   R\   t   xx(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_sync  s    c         c` s   |  j  t d d  } |  j  t d d  } t j t   |  j | | g  VWd  QX|  j | | g d d V\ } | d k s t  d  S(   Ni   i   i    R   R   (   RT   R<   R   R   R   Rh   RV   (   RY   RP   RQ   RR   RZ   R\   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_strict&  s    t   ncoress	   127.0.0.1i   c         c` s   |  j  t d d d d } |  j  t d d d } t t j d   V } t t j d   8 } |  j | | g d	 d
 V} | d g k s t  Wd  QXWd  QX| j   s t  | j   s t  d  S(   Ni   i    t   priorityi
   R   g      ?s   distributed.schedulers   distributed.clientR   R   i   (	   RT   R<   R6   RD   t   loggingt	   getLoggerRh   RV   t   getvalue(   RY   RP   RQ   RZ   R\   t   schedRJ   t   L(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_skip2  s    !c         c` sK   |  j  t t d   } | V} t | j  t | j  d k  sG t  d  S(   Nid   (   Rb   R:   Rc   Rd   t   outgoing_transfer_logRV   (   RY   RP   RQ   RR   Rz   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_limit_concurrent_gathering@  s    c         c` s$  |  j  i t d f d 6d d t } t | t  s: t  | V} | d k sS t  |  j  i t d f d 6d g d t } t | d t  s t  | V} | d g k s t  |  j  i  g  d t V} | g  k s t  |  j  i t d f d 6t d f d	 6d
 d t V} | d k s t  d  S(   Ni   RZ   R0   i   i    i   (   RZ   i   (   RZ   i   (   RZ   i   (   RZ   i   (   t   getR:   Rv   RW   R    RV   (   RY   RP   RQ   RR   R   R[   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_getG  s    %(-c         C` s/   |  j  i t d f d 6d  d k s+ t  d  S(   Ni   RZ   i   (   R   R:   RV   (   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_sync\  s    c         C` s   d d l  m } |   } |  j t t d   } | j |  ~ d d  l } | j   t   } x3 t	 |  r t
 d  t   | d k  sc t  qc Wd  S(   Ni    (   t   WeakSeti
   g{Gz?i   (   t   weakrefR   Rb   R:   Rc   t   updateR   R   R*   Rk   R   RV   (   RY   R   t   wsRz   R   t   start(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_no_future_references`  s    	
	
c         C` s;   t  j d d d j t  } t j | j   d t d  S(   Ni
   t   npartitionsi   t   optimize_graph(   t   dbRc   Rb   R:   t   daskR   Rg   Rv   (   RY   t   bag(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt+   test_get_sync_optimize_graph_passes_throughp  s    c         c` s   d   } d   } |  j  | d d  } |  j  | d d  } t j t   |  j |  VWd  QXt j t   |  j |  VWd  QX| j   Vd  S(   Nc         S` s
   t   d  S(   N(   t	   TypeError(   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   w  s    c         S` s
   t   d  S(   N(   t   AttributeError(   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   gz  s    i   i   (   RT   R   R   R   Rh   R   R   (   RY   RP   RQ   RR   Ra   R   t   future_ft   future_g(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_errorsu  s    		c   	      c` s   |  j  t d  } |  j  t d  } |  j  t d  } t | | | g  V\ } } | | | | h k sm t  | t   k s t  | j | j k o d k n s t  d  S(   Ni   i   t   finished(   RT   R:   R!   RV   t   setR   (	   RY   RP   RQ   RR   RZ   R\   R]   RU   t   not_done(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt	   test_wait  s    c   	      c` s   |  j  t d  } |  j  t d  } |  j  t d  } t | | | g d d V\ } } | | h k sm t  | | | h k s t  | j d k s t  | j d k s t  | j d k s t  d  S(   Ni   i   t   return_whent   FIRST_COMPLETEDR   t   pending(   RT   R6   R:   R!   RV   R   (	   RY   RP   RQ   RR   RZ   R\   R]   RU   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_wait_first_completed  s    "i   c         c` s@   |  j  t d  } t j t j   t | d d VWd  QXd  S(   Ng333333?RS   g{Gz?(   RT   R   R   R   R   R   R!   (   RY   RP   RQ   RR   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_wait_timeout  s    c         C` s   |  j  t d  } |  j  t d  } t | | g  \ } } | | | h k sT t  | t   k si t  | j | j k o d k n s t  |  j  t d  } t j t	 j
   t | d d Wd  QXd  S(   Ni   i   R   g333333?RS   g{Gz?(   RT   R:   R!   RV   R   R   R   R   R   R   R   (   RY   RZ   R\   RU   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_wait_sync  s    (c         C` s   |  j  t d  } |  j  t d  } y t | |  WnC t k
 rz } d t |  k s_ t  d t |  k s{ t  n Xd  S(   Ni   i   RS   Rk   (   RT   R:   R!   R   R   RV   (   RY   RZ   R\   t   e(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt(   test_wait_informative_error_for_timeouts  s    c   	      c` s   |  j  t d  } |  j  t d  } |  j | j d k s@ t  | j   t j V|  j | j d k sn t  |  j  t |  } | j   t j V| V} | d k s t  | j } | j   t j V| |  j k s t  d  S(   Ni   i   i   (	   RT   R:   t   refcountR_   RV   R   R   R   Rz   (	   RY   RP   RQ   RR   RZ   R\   R]   R[   t   ykey(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_garbage_collection  s    

	
c         c` s  |  j  d g  V\ } | j |  j k s. t  | j d k sC t  | j | j |  j h k se t  | j } |  j | d k s t  | j   t	 j
 V|  j | d k s t  t   } xU t r| | j k s | j | j r Pq t   | d k  st  t	 j d  Vq Wd  S(   Ni   R   i    i   g?(   R   R_   Rz   RV   R   t	   who_wantst   idR   R   R   R   R*   R   Rf   R   R   (   RY   RP   RQ   RR   R   R_   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_garbage_collection_with_scatter  s    "	
		 i  c   	      c` s   |  j  t d  } | V} | j } ~ d d  l } | j   t j V|  j | d k s\ t  xO | | j	 k r~ | j	 | j
 s | | j k s | | j k r t j d  Vq_ W|  j  t d  } | j |  j k s t  | V} | | k s t  d  S(   Nid   i    g?(   RT   R:   R_   R   R   R   R   R   RV   Rf   R   t   dataR   Rz   (	   RY   RP   RQ   RR   RZ   t   result1t   xkeyR   t   result2(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recompute_released_key  s    	
@c         c` s+   d d l  m } |  j | d  } | Vd  S(   Ni    (   R   i   (   R*   R   RT   (   RY   RP   RQ   RR   R   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_long_tasks_dont_trigger_timeout  s    c   	      c` s   t  | _ t  | _ |  j t d  } |  j t |  } |  j t |  } t | | | g  V| j | j k r | j | j =| j | j  n  | j | j k r | j | j =| j | j  n  t j	 V|  j t
 | |  } | V} | d k s t  d  S(   Ni   i   i   i   (   Rv   t   validateRT   R:   R!   R_   R  t   release_keyR   R   R   RV   (	   RY   RP   RQ   RR   RZ   R\   R]   t   wR[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_missing_data_heals  s     		c         c` s   t  | _ t  | _ |  j t t d   \ } } } t | | | g  Vxe | | g D]W } xN | | g D]@ } | j | j k rg | j | j =t j	 V| j
 | j  qg qg WqT W|  j | | | g  V\ }	 }
 } |	 |
 | f d k s t  d  S(   Ni   i   i   (   i   i   i   (   Rv   R  Rb   R:   Rc   R!   R_   R  R   R   R  Rh   RV   (   RY   RP   RQ   RR   RZ   R\   R]   Ra   R  R   t   yyt   zz(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt"   test_gather_robust_to_missing_data)  s    		!"c         c` s  t  | _ t  | _ |  j t d  } |  j t |  } |  j t |  } |  j t |  } t | g  Vxe | | g D]W } xN | | g D]@ }	 |	 j | j k r | j |	 j =t j V| j	 |	 j  q q Wqu W|  j
 | g  V}
 |
 t t t t d     g k st  d  S(   Ni   (   Rv   R  RT   R:   R!   R_   R  R   R   R  Rh   RV   (   RY   RP   RQ   RR   R  RZ   R\   R]   t   workert   datumR[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt)   test_gather_robust_to_nested_missing_data<  s    		c         C` s   |  j  t d  } |  j  t d  } t |  } t |  t |  k sN t  t |  t |  k sl t  |  j | j j   | t |  k s t  d  S(   Ni   (   RT   R:   R#   RV   Rz   R_   t   finish(   RY   RP   RQ   RR   RZ   R\   t   tok(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_tokenize_on_futuresT  s    t   linuxt   reasons    Need 127.0.0.2 to mean localhosts	   127.0.0.2c         c` s   |  j  t d d | j h } |  j  t | d | j h } t | | g  V| j | j | j h k so t  | j | j k s t  | j | j | j h k s t  | j | j k s t  d  S(   Ni   R   (   RT   R:   R   R!   t   host_restrictionsR_   RV   R  (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_restrictions_submita  s    ""c         c` s   |  j  t d d | j h } |  j  t | d | j h } t | | g  V| j | j | j h k so t  | j | j k s t  | j | j | j h k s t  | j | j k s t  d  S(   Ni   R   (   RT   R:   R   R!   t   worker_restrictionsR_   RV   R  (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_restrictions_ip_portq  s    ""c      	   c` s  |  j  t t d  d | j h } t |  Vt | j  d   | D k sT t  | j sd t  x0 | D]( } | j | j	 | j h k sk t  qk W|  j  t d d d g d | j h | j | j h | j h g } t |  V| j | d j	 | j h k s
t  | j | d j	 | j | j h k s6t  | j | d	 j	 | j h k s\t  t
 j t  - |  j  t d d d g d | j h g Wd  QXd  S(
   Ni   R   c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 i
   i   i   i    i   i   (   Rb   R:   Rc   R   R!   R   R  RV   R  R_   R   R   t
   ValueError(   RY   RP   RQ   RR   R   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_restrictions_map~  s    $%&B&,&c         c` s   i d d 6t  d f d 6t  d f d 6} i | j h d 6| j h d 6} |  j | d d g | d t } | V} | d d g k s t  d | j k s t  d | j k s t  d  S(   Ni   RZ   R\   R]   R0   i   i   (   R:   R   R   Rv   RV   R  (   RY   RP   RQ   RR   t   dskt   restrictionsRz   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_restrictions_get  s    ' !c         c` s}   |  j  t d d d h } y | Vt s/ t  WnF t k
 rx } d t |  k sZ t  | j t |  k sy t  n Xd  S(   Ni   R   s   bad-address(   RT   R:   Rv   RV   R  R   R_   (   RY   RP   RQ   RR   R]   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt*   dont_test_bad_restrictions_raise_exception  s    c         c` s   |  j  t t d   } t |  V| j   V| j | j k sF t  |  j |  V} | t	 t  t t d    k s} t  d  S(   Ni   (
   Rb   R:   Rc   R!   R   R   R   RV   Rh   Rk   (   RY   RP   RQ   RR   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_remove_worker  s    c         c` s   |  j  t d  |  j  t d  |  j  t d  |  j  t d  g } t   } xU | d j | d j k os d k n s t   | d k  s t  t j d  VqN W|  j | d | d g  V} | d d g k s t  d  S(   Ni   i   i    R   i   g{Gz?i   (	   RT   R:   R=   R*   R   RV   R   R   Rh   (   RY   RP   R  R   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_errors_dont_block  s    B	-c   	      c` s   g  d  } |  j  | d d d g  } | V} | s: t  |  j  | d d d g d d d d g } | V} | sw t  |  j  t d  } |  j  t d  } |  j  | | | g  } | V} | s t  d  S(	   Nc         S` s   t  |  t  o t  | t  S(   N(   RW   Rk   (   RZ   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   assert_list  s    i   i   i   R]   i   i   i   (   RT   RV   R:   (	   RY   RP   RQ   RR   R'  RZ   R[   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_submit_quotes  s    *c         c` s   g  d  } |  j  | d d d g d g g  } |  j |  V} t |  sR t  |  j  | d d d g d g g d d g } |  j |  V} t |  s t  |  j  | d d d g d g g g  g d  } |  j |  V} t |  s t  d  S(   Nc         S` s   t  |  t  o t  | t  S(   N(   RW   Rk   (   RZ   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR'    s    i   i   i   i   R]   i
   (   Rb   Rh   Re   RV   (   RY   RP   RQ   RR   R'  R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_quotes  s    $-.c   	      c` s   t  |  j |  j f d t V} | j t j d d d t } | V} t  |  j |  j f d t V} | j t j d d d t } | V} | | k s t  | j   V| j   Vd  S(   NR   i    i  Ru   (	   R   R   R   R   RT   t   randomt   randintRV   R   (	   RP   RQ   RR   RY   RZ   R   Ra   R\   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt*   test_two_consecutive_clients_share_results  s    c         c` sT   |  j  t d  } i t | f d 6} |  j | d d t V} | d k sP t  d  S(   Ni   R\   R0   i   (   RT   R6   R:   R   Rv   RV   (   RY   RP   RQ   RR   RZ   R!  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt    test_submit_then_get_with_Future  s    c         c` sN   |  j  t d  } i | d 6} |  j | d d t V} | d k sJ t  d  S(   Ni   R\   R0   i   (   RT   R:   R   Rv   RV   (   RY   RP   RQ   RR   RZ   R!  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_aliases  s    c         c` s   i t  d f d 6d d 6d d 6t d d f d 6d d g f i d d 6d d 6d g f i d d 6d d 6d d 6t  d f d 6d g f g } x_ | D]W \ } } |  j | | d t V} t |  t t j | |   k s t  t j Vq Wd  S(   Ni   RZ   R\   R]   R  R0   (	   R:   R   R   Rv   Rk   R   RV   R   R   (   RY   RP   RQ   RR   t   dsk_keysR!  R|   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_aliases_2  s    :4*c         c` s  |  j  i d d 6 V} t | d t  s0 t  | j j d  d k sf | j j d  d k sf t  | j d d g  d } | j | k s | j | k s t  | j d t	  i t
 d  d 6k s t  |  j | d g  V} | d g k s t  |  j  d g  V\ } t | t  s%t  | j j | j  d k sa| j j | j  d k sat  |  j | g  V} | j d | j g  | j }	 | j | j j st  | j | j | j | j j k s| j | j | j | j j k st  | j d t	  i t
 d  d 6t
 d  | j 6k s3t  | d g k sHt  |  j t | | d  }
 |
 V} | d k szt  |  j |
 | g  V} | d d g k st  d  S(   Ni   R\   R|   t   summaryi
   i   i   (   R   RW   R    RV   R  R   t   get_who_hasR   t
   get_nbytesRv   R-   Rh   R_   Rf   R   R   RT   R   (   RY   RP   RQ   RR   t   dt	   y_who_hasR  RZ   R   t	   x_who_hasR]   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__scatter!  s.    6$+<#);c         c` s  |  j  i d d 6 V} t | t  s, t  t |  d g k sG t  xv d g d d h t d g  g D]S } |  j  |  V} t | t |   s t  t |  d k s t  | j   qi W|  j  t	 d   V} t | t  s t  t |  d k st  | j   d  S(   Ni   RZ   i   (   i   (
   R   RW   t   dictRV   Rk   t	   frozensett   typeRd   RX   Rc   (   RY   RP   RQ   RR   R4  t   seqR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__scatter_types@  s    (c         c` sB   |  j  d  V} t | t  s% t  | V} | d k s> t  d  S(   Ni   (   R   RW   R    RV   (   RY   RP   RQ   RR   RZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__scatter_non_listR  s    c         c` sR   |  j  d g  V\ } |  j  d g  V\ } | j | j k sD t  | j   d  S(   Ni   (   R   R_   RV   RX   (   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_hashZ  s    c   	      #` s   d d l  m } d t f d     Y} g    | j |    f d    } |   } |  j |  V}   ry   d | k s t  d  S(   Ni    (   t   normalize_tokent   MyObjc           B` s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR@  g  s   c         ` s     j  |   d S(   NRZ   (   R   (   RZ   (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   l  s    (   t	   dask.baseR?  t   objectt   registerR   RV   (	   RY   RP   RQ   RR   R?  R@  Ra   t   objR   (    (   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_tokenize_localc  s    	c   	      c` s   t  j d  } t  j d  } xn d | j d  | j i d d d g d 6 g D]; } |  j |  V} | V} t |  t |  k sP t  qP Wd  S(   Nt   numpyt   pandasi   i   i   i   RZ   (   R   R   R   t	   DataFrameR   R   RV   (	   RY   RP   RQ   RR   t   npt   pdRZ   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_singletonsw  s    8c         c` s,   |  j  d  V} | j j d  s( t  d  S(   Ni{   t   int(   R   R_   Ry   RV   (   RY   RP   RQ   RR   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_typename  s    c         c` sj   |  j  d  V} |  j  d  V} | j | j k s8 t  |  j  d d t V} | j | j k sf t  d  S(   Ni{   t   hash(   R   R_   RV   Rv   (   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR>    s
    c         c` s   |  j  i t d f d 6d g d t V\ } d d  l } | j   t   } x8 |  j d r t j d  Vt   | d k  sN t	  qN Wd  S(   Ni   RZ   R0   i    g{Gz?i   (
   R   R:   Rv   R   R   R*   R   R   R   RV   (   RY   RP   RQ   RR   RZ   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_releases_data  s    ,
	c         C` s   t  |  d   } t  j   | k s+ t  Wd  QXt j t   t  j   Wd  QXt  |  d   } t  j   | k s| t  Wd  QXd  S(   NR   (   R   t   currentRV   R   R   R  (   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_Current  s    c         C` s+  t    d  k s t  t j t   t   Wd  QXt    \ } \ } } t | d d |   } t    | k sx t  t   | k s t  t | d d |  a } t    | k s t  t   | k s t  t |  | k s t  t |  | k s t  Wd  QXWd  QXWd  QXt    d  k s't  d  S(   NR   RM   (	   R$   R   RV   R   R   R  R%   R4   R   (   RM   RP   RQ   RR   RY   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_global_clients  s    *c         c` sp   |  j  d    } |  j  t |  } t j t  
 | VWd  QX|  j  t |  } t j t  
 | VWd  QXd  S(   Nc           S` s   d d S(   Ni   i    (    (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   (   RT   R:   R   R   R   (   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_exception_on_exception  s    c         c` s   |  j  d g  V\ } | j d t  i t d  | j 6k sD t  |  j t |  } | V| j d t  i t d  | j 6t d  | j 6k s t  d  S(   Ni   R1  i   (   R   R3  Rv   R-   R_   RV   RT   R:   (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_nbytes  s
    .c         c` s   |  j  t d d | j g } |  j  t t t d   d | j g } |  j | | g  V|  j  d   | |  } | V| j | j j | j	 | j
 h k s t  d  S(   Ni   R   id   c         S` s   d  S(   N(   R   (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   (   RT   R   R   t   tupleRc   Rh   Rf   R_   R   R   R   RV   (   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_nbytes_determines_worker  s    *c         c` s   t  t d t d d  } t  t d t d d  } t  t d t | |  } |  j |  } t j t  
 | VWd  QX| j   t	 d   | j
 j   D  s t  d  S(   NRu   i   i    i   c         s` s   |  ] } | j  Vq d  S(   N(   R   (   R`   t   ts(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   R   R<   R   R   R   R   R   R   RX   t   anyRf   t   valuesRV   (   RY   RP   RQ   RR   RZ   R\   R]   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_if_intermediates_clear_on_error  s    
c   
      #` s   t  j d  } |  j | j d g d d t } |  j | j |  } |  j t |  } d   } d   j d <|  j | | | g d  }	 t | g  Vt |	  Vt   f d   t	 | |	  D  d	 k s t
  d  S(
   NRH  i'  i
   Ru   c         S` s   d  S(   N(   R   (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    gMbP?Ra   c         3` s>   |  ]4 \ } }   j  | j j j   j  | j j  Vq d  S(   N(   Rf   R_   R   t   issubset(   R`   t   lt   r(   RP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s   i	   (   R   R   Rb   R   Rv   Rg   RT   t   task_durationR!   t   zipRV   (
   RY   RP   RQ   RR   RK  t   listst   sumsRn   Ra   Rq   (    (   RP   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt,   test_pragmatic_move_small_data_to_large_data  s    "	c         c` sz   i t  d f d 6t  d f d 6} |  j | d	 d t V} |  j | d d t V} | d k sd t  | d k sv t  d  S(
   Ni   RZ   i    i   i   R0   i   (   RZ   i    (   RZ   i    (   R:   R   Rv   RV   (   RY   RP   RQ   RR   R!  RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_with_non_list_key  s
     c      	   c` sT   i t  d d f d 6t d f d 6} t j t   |  j | d d t VWd  QXd  S(   Ni   i    RZ   R\   R0   (   R<   R:   R   R   R   R   Rv   (   RY   RP   RQ   RR   R!  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_with_error  s    #c         C` sM   i t  d d f d 6t d f d 6} t j t   |  j | d  Wd  QXd  S(   Ni   i    RZ   R\   (   R<   R:   R   R   R   R   (   RY   R!  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_with_error_sync  s    #c         c` s   |  j  d d d g d | j g Vt | j  d k s> t  | j sN t  |  j  d d g d | j g Vt | j  d k s t  d  S(   Ni   i   i   R   i   i   (   R   R   Rd   R  RV   t   name(   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_directed_scatter  s
    # c         C` s   |  j  d d d g d | d g } t | |  j j  } t | | d  t |  k s` t  t | | d  d k s t  d  S(   Ni   i   i   R   R   i    (   R   R0   t	   schedulert   has_whatRd   RV   (   RY   RP   RQ   RR   RM   Rz   Rk  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_directed_scatter_sync&  s    %&c      
   C` s   |  j  d d d g  } d d d g |  j |  k s< t  d   t d  D } |  j  |  } t | t  sv t  t |  } |  j |  d k s t  t |  } t |  d k s t  |  j |  d d d d d	 d
 d d d g	 k s t  d  S(   Ni   i   i   c         s` s   |  ] } | Vq d  S(   N(    (   R`   t   i(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>1  s    i
   i    i	   i   i   i   i   i   (	   R   Rh   RV   Rc   RW   R)   t   nextRk   Rd   (   RY   t   aaR   Rz   RQ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_iterator_scatter-  s    $c         C` s   d d l  m } |   } x! t d  D] } | j |  q& W|  j |  } t | |  sa t  | j   } |  j |  d k s t  d  S(   Ni    (   t   Queuei
   (	   t   distributed.compatibilityRq  Rc   t   putR   RW   RV   R   Rh   (   RY   Rq  t   qR4  Rz   RQ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_queue_scatter=  s    	c         C` s   d d l  m } | d d  } |  j | d d } | j d k sI t  |  j |  } | j sh t  |   } |  j |  } | j s t  |  j | d d } | j d k s t  | d d  } |  j |  } | j s t  d  S(   Ni    (   Rq  t   maxsizei   i
   (   Rr  Rq  R   Rv  RV   Rh   (   RY   Rq  Rt  t   outt   local(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt!   test_queue_scatter_gather_maxsizeJ  s    	c   	      C` s   d d l  m } |   } t t d   } x | D] } | j |  q2 W|  j |  } t | |  sm t  |  j |  } t | |  s t  g  } x' t d  D] } | j	 | j
    q W| | k s t  d  S(   Ni    (   Rq  i
   (   Rr  Rq  Rk   Rc   Rs  R   RW   RV   Rh   R   R   (	   RY   Rq  Rt  t   qinR4  Rz   t   fft   qoutRa   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_queue_gather^  s    	s   intermittent blocking failuresc         C` sT  t  t d   } d   | D } |  j |  } t | t  sF t  |  j |  } t | t  sj t  t  |  } | | k s t  d d d t d  t d d g } d   | D } |  j |  } |  j |  } t  |  } | d	  | d	  k s t  t | d	 t  st  | d	 j | d	 j k s6t  | d
 | d
 k sPt  d  S(   Ni
   c         s` s   |  ] } | Vq d  S(   N(    (   R`   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>w  s    RQ   RR   RY   Ra   R4  c         s` s   |  ] } | Vq d  S(   N(    (   R`   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    i   i   (	   Rk   Rc   R   RW   R)   RV   Rh   t   StopIterationR   (   RY   t   c2t   i_inR   Rz   R{  t   i_out(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_iterator_gathers  s"    ! c         c` s   |  j  d d t V} | j | j k s@ | j | j k s@ t  | j | j j sY t  | j d k sn t  | V} | d k s t  | j d j	 d d s t  | V} | j d j	 d d s t  |  j
 |  V} | j d j	 d d s t  d  S(   Ni{   t   directR   t   opi    R   Rh   (   R   R   R_   R  RV   Rf   R   R   t   counterst
   componentsRh   (   RY   RP   RQ   RR   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_direct  s    *c         c` sv   t  j d  } | j d  } |  j | d t V} | V} | j | |  sS t  | j d j d d sr t  d  S(   NRH  i   R  R  i    R   (	   R   R   R   R   R   t   allcloseRV   R  R  (   RY   RP   RQ   RR   RK  RZ   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_direct_numpy  s    c         c` s   |  j  d d t d t V} | j | j k s4 t  | j | j k sL t  | j | j j | j | j | j | j h k s t  | V} | d k s t  | j	 d j
 d d s t  d  S(   Ni  R  t	   broadcastR  i    R   (   R   R   R_   R  RV   Rf   R   R   R   R  R  (   RY   RP   RQ   RR   t   future2R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_direct_broadcast  s    9i   c         g` sc   |  j  d d d g d t V} t g  | D] } t | j  ^ q)  d d d d g k s_ t  d  S(   Ni   i   i   R  i    (   R   R   t   sortedRd   R  RV   (   RY   RP   R   Rz   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_direct_balanced  s    c      
   '` s   |  j  d d g d t d  d j V} | d j  d j k sI t  | d j  d j k si t  |  j  d d g d t d t d g   d  D] } | j ^ q V}    f d	   | D s t  d  S(
   Ni{   i  R  R   i    i   R  i   c         3` sN   |  ]D }  d   D]3 } | j  | j k oB | j   j | j  j k Vq q d S(   i   N(   R_   R  R   Rf   R   (   R`   Ra   R  (   RP   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s   (   R   R   R   R_   R  RV   (   RY   RP   R   Rz   R  (    (   RP   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_scatter_direct_broadcast_target  s    )  $c      
   c` s=   t  j t t j f   |  j d d t d d VWd  QXd  S(   Ni{   R  RS   g?(   R   R   R  R   R   R   R   (   RY   RP   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_direct_empty  s    i   c         g` s`   g  } x7 t  d  D]) } |  j | d t V} | j |  q Wt d   | D  s\ t  d  S(   Ni
   R  c         s` s   |  ] } | j  Vq d  S(   N(   R  (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   Rc   R   R   R   Re   RV   (   RY   RP   R   Rz   Rm  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt!   test_scatter_direct_spread_evenly  s
    R  R  c         C` st   |  j  d d d g d | d | } |  j | d | } | d d d g k sT t  t t  d  j d |  d  S(   Ni   i   i   R  R  (   R   Rh   RV   R   R:   R   (   RY   R  R  Rz   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_gather_sync  s    $c         c` sN   |  j  d d d g  V} |  j | d t V} | d d d g k sJ t  d  S(   Ni   i   i   R  (   R   Rh   R   RV   (   RY   RP   RQ   RR   Rz   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_direct  s    c         c` sR   g  t  d  D] } |  j t |  ^ q } t |  V| j rH | j sN t  d  S(   Ni
   (   Rc   RT   R:   R!   R  RV   (   RY   RP   RQ   RR   Rm  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_many_submits_spread_evenly  s    +c         c` sj   |  j  t d d  } | j   V} t j d d k rf t d   t d t j |   D  sf t  n  d  S(   Ni   i    i   c         s` s   |  ] } d  | k Vq d S(   s   x / yN(    (   R`   t   line(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (	   RT   R<   t	   tracebackRi   Rj   RZ  R   t
   extract_tbRV   (   RY   RP   RQ   RR   RZ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_traceback  s    c         c` s   y+ |  j  i t d d f d 6d d t VWnQ t k
 r~ t j   \ } } } t j |  } t d   | D  s t	  n Xd  S(   Ni   i    RZ   R0   c         s` s   |  ] } d  | k Vq d S(   s   x / yN(    (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (
   R   R<   Rv   R   Ri   R   R  t	   format_tbRZ  RV   (   RY   RP   RQ   RR   t   exc_typet	   exc_valuet   exc_tracebackR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_traceback  s    +c   	      c` s   |  j  t d d  } y |  j |  VWnQ t k
 rz t j   \ } } } t j |  } t d   | D  s{ t	  n Xd  S(   Ni   i    c         s` s   |  ] } d  | k Vq d S(   s   x / yN(    (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (
   RT   R<   Rh   R   Ri   R   R  R  RZ  RV   (	   RY   RP   RQ   RR   RZ   R  R  R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_gather_traceback  s    c         C` s   |  j  t d d  } | j   } t j d d k rb t d   t t j |   D  sb t  n  |  j  t	 |  } | j   } t
 t d t j |    j t
 t d t j |     s t  |  j  t d d  } | j   } | d  k s t  d  S(   Ni   i    i   c         s` s*   |  ]  } t  | t  r d  | k Vq d S(   s   x / yN(   RW   R   (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s   i   (   RT   R<   R  Ri   Rj   RZ  R
   R  RV   R:   R   R   t
   issupersetR   (   RY   RZ   R   R\   t   tb2R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_traceback_sync  s    %'c   	      c` s   d   } zx xq d d g D]c } t  d d j |    } |  j |  VWd  QX|  j | d t } | V} | | k s t  q WWd  d t j k r t j d =n  Xd  S(   Nc          S` s   d d  l  }  |  j   S(   Ni    (   t   myfileRa   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   .  s    i{   i  s	   myfile.pys   def f():
    return {}Ru   R  (   R1   t   formatt   upload_fileRT   Rv   RV   Ri   t   modules(	   RY   RP   RQ   RR   R   t   valuet   fnRZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_file,  s    	c         c` s*   t  d d   } |  j |  VWd  QXd  S(   NR  R   (   R1   R  (   RY   RP   RQ   RR   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_file_no_extensionA  s    c         c` sA  d   } z x d d g D] } t  d d j |   } } t j d d  & } | j | d t j j |  Wd  QX|  j d  V|  j	 | d	 t
 } | V}	 |	 | k s t  Wd  QXq WWd  t j j d  r t j d  n  d
 t j k r t j d
 =n  x= t j D]2 }
 t j j |
  d k rt j j |
  PqqWXd  S(   Nc          S` s   d d  l  }  |  j   S(   Ni    (   R  Ra   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   I  s    i{   i  s	   myfile.pys   def f():
    return {}s
   myfile.zipR  t   arcnameRu   R  (   R1   R  t   zipfilet   ZipFilet   writet   ost   patht   basenameR  RT   Rv   RV   t   existst   removeRi   R  (   RY   RP   RQ   RR   R   R  t
   fn_my_fileR]   RZ   R[   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_file_zipG  s(    	% c         c` s]  | j  s t  | j  s t  t d d  *} t d d  } |  j | d d V|  j |  Vx | | g D] } t j j t j j | j  d   s t  t j j t j j | j  d   s t  t t j j | j  d    } | j	   d k st  Wd  QXt t j j | j  d    } | j	   d k sCt  Wd  QXqq WWd  QXWd  QXd  S(   NR  t   abct   myfile2t   deft   remote_filenameRZ   (
   t	   local_dirRV   R1   t   _upload_large_fileR  R  R  t   joint   opent   read(   RY   RP   RQ   RR   R  t   fn2R  Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_large_filef  s    **!!c         C` sY   d   } t  d d  ; } |  j |  |  j |  } | j   d k sO t  Wd  QXd  S(   Nc          S` s   d d  l  }  |  j S(   Ni    (   R  RZ   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   y  s    s	   myfile.pys   x = 123i{   (   R1   R  RT   R[   RV   (   RY   R   R  RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_file_syncx  s
    	c      
   c` s@   t  d d  + } t j t   |  j |  VWd  QXWd  QXd  S(   Ns	   myfile.pys   syntax-error!(   R1   R   R   t   SyntaxErrorR  (   RY   RP   RQ   RR   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_file_exception  s    c      
   C` s?   t  d d  * } t j t   |  j |  Wd  QXWd  QXd  S(   Ns	   myfile.pys   syntax-error!(   R1   R   R   R  R  (   RY   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_upload_file_exception_sync  s    c   	      c` s  t  |  j |  j f d t V} t  |  j |  j f d t V} | j t d  } | j t d  } | j | k sw t  | j | k s t  | V} | V} | d k s t  | d k s t  | j t | |  } | j | k s t  | V} | d k st  | j	   V| j	   Vd  S(   NR   i   i   i   i   (
   R   R   R   R   RT   R:   RJ   RV   R   R   (	   RP   RQ   RR   RZ   R\   R   R  R]   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_multiple_clients  s     c         c` s  d d l  m } | d  } | t  |  } | t  |  } |  j | | d g d t \ } }	 }
 t | t  s| t  t |	 t  s t  |
 d k s t  |  j	 | |	 g  V} | d d g k s t  t |  j |  t  s t  t |  j | g  t
 t f  st  d  S(   Ni    (   R   i   i   R0   i   (   t   dask.delayedR   R:   R;   R   Rv   RW   R    RV   Rh   RW  Rk   (   RY   RP   RQ   RR   R   RZ   R\   R]   R  R  Ro  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_async_compute  s    'c         c` s   |  j  i d d 6d d	 6 V} | d
 | d } } d d l m } | t  | t  |  | t  |   } |  j |  }	 |  j |	 g  V\ }
 |
 d k s t  d  S(   Ni   RZ   i   R\   i    (   R   i   (   RZ   i   (   R\   i   (   RZ   i   (   R\   i   i   (   R   R  R   R   R:   R   Rh   RV   (   RY   RP   RQ   RR   R4  RZ   R\   R   R]   R  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_async_compute_with_scatter  s    -c         C` sm   t  d  } t  t  |  } t  t  |  } |  j | | g d t \ } } | | f d k si t  d  S(   Ni   R0   i   i    (   i   i    (   R   R:   R;   R   R   RV   (   RY   RZ   R\   R]   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_sync_compute  s
    !c   
      c` s   |  j  d d d g  V\ } } } | j | j k sL | j | j k sL t  | j | j k sv | j | j k sv t  | j | j k s | j | j k s t  |  j | | | g  V\ } } }	 | | |	 f d k s t  d  S(   Ni   i   i   (   i   i   i   (   R   R_   R  RV   Rh   (
   RY   RP   RQ   RR   RZ   R\   R]   R   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_remote_scatter_gather  s    "***"c         c` sG   |  j  d   d  } |  j  d   |  } | V} | d k sC t  d  S(   Nc         S` s   |  d S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i   c         S` s   |  d S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i   (   RT   RV   (   RY   RP   RQ   RR   RZ   R\   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_remote_submit_on_Future  s    c         C` sL   |  j    |  j    |  j    |  j t d  } | j   d k sH t  d  S(   Ni   i   (   R   RT   R:   R[   RV   (   RY   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_start_is_idempotent  s
    


c         c` sE  | j  i | j  | j 6| j  | j 6k s/ t  |  j t d  } |  j t d  } |  j t | |  } | V} | d	 k s t  | V} | d k s t  |  j d d d g  V\ } }	 }
 |  j | |	 | g  V\ } } } | | | f d k s t  |  j i t d f d 6t d d f d 6d d t	 V} | d k sAt  d  S(   Ni   i   i   RZ   i
   R\   R0   i   i   i   i   i   (   i   i   i   (
   R   R   RV   RT   R:   R   R   Rh   R   Rv   (   RY   RP   RQ   RR   RZ   R\   R]   R[   t   At   Bt   Ct   AAt   BBR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_with_scheduler  s    /""6c         #` s   j  | j    j  | j } |  j t d d | j } | V j | j j   h k sb t   j	 sr t  |  j t d d | j d t
 } | V j | j j   h k s t  | j  j	 k s t  |  j t t d d  d | j d t
 } t |  Vt    f d   | D  s,t  d   | D j  j	  sNt  |  j t d	 d d
 d t
 } | V j | j j st  | j  j	 k st  |  j t t d	 d  d d
 d t
 } t |  Vt  f d   | D  st  d   | D j  j	  st  t j t   |  j t d d t
 Wd  QXt j t   |  j t d g d t
 Wd  QXt j t  ! |  j t d d d d d Wd  QXt j t  $ |  j t d g d d d d Wd  QXd  S(   Ni   R   i   t   allow_other_workersi   i   c         3` s+   |  ]! }  j  | j j   h k Vq d  S(   N(   Rf   R_   R   (   R`   Ra   (   t   awsRP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 i   s	   127.0.0.3i   c         3` s"   |  ] }   j  | j j Vq d  S(   N(   Rf   R_   R   (   R`   Ra   (   RP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>#  s    c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>$  s   	 i   s	   127.0.0.1s   Hello!(   R   R   RT   R:   R   Rf   R_   R   RV   t   loose_restrictionsR   Rb   Rc   R!   Re   R]  R   R   R  R   (   RY   RP   RQ   RR   t   bwsRZ   R   (    (   R  RP   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_allow_restrictions  s<    "!"*%"'"""R   t   becausec          C` s   y t  d d d Wn: t t j f k
 rP }  d t |   j   k sQ t  n Xy t  d d d Wn: t t j f k
 r }  d t |   j   k s t  n Xd  S(   Ns   123.123.123.123:1234RS   g?t   connects   127.0.0.1:1234(   R   t   IOErrorR   R   R   t   lowerRV   (   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_bad_address3  s    "c         c` s   d   } |  j  | d  } y	 | VWn1 t k
 rW } t t |   d k  sX t  n X| j   V} t d   t t j |   D  s t  d  S(   Nc         S` s   t  d d   d  S(   NRQ   i (   R  (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   badB  s    i
   i c         s` s0   |  ]& } t  | t  r t |  d  k  Vq d S(   i N(   RW   R   Rd   (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>N  s   (	   RT   R  Rd   R   RV   R  Re   R
   R  (   RY   RP   RQ   RR   R  RZ   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_long_error@  s    		"c         c` s   d d  } |  j  t t d   } |  j  | | d d } |  j |  V} | g  t d  D] } | d d ^ q\ k s t  |  j t d  }	 |  j | |	 d d }
 |
 V} | d	 k s t  d  S(
   Ni
   c         S` s   |  | S(   N(    (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   V  s    R\   i   i   id   i   ie   i-  (   Rb   R:   Rc   Rh   RV   RT   (   RY   RP   RQ   RR   Ra   Rz   R{   Rq   Rm  R   R  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_on_futures_with_kwargsT  s    3t   BadlySerializedObjectc           B` s   e  Z d    Z d   Z RS(   c         C` s   d S(   Ni   (    (   t   self(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   __getstate__e  s    c         C` s   t  d   d  S(   Ns   hello!(   R   (   R  t   state(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   __setstate__h  s    (   RA  RB  R  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  d  s   	t   FatallySerializedObjectc           B` s   e  Z d    Z d   Z RS(   c         C` s   d S(   Ni   (    (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  m  s    c         C` s'   t  d  d d  l } | j d  d  S(   Ns1   This should never have been deserialized, closingi    (   t   printRi   t   exit(   R  R  Ri   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  p  s    
(   RA  RB  R  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  l  s   	c         c` s   t    } |  j t |  } |  j t t d   } |  j |  V} t |  t t t t d    k sp t  | j d k s t  d  S(   Ni
   t   error(	   R  RT   R:   Rb   Rc   Rh   Rk   RV   R   (   RY   RP   RQ   RR   t   oR   Rz   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_badly_serialized_inputw  s    	-R   c         C` s   t    } | j t |  } t   } xO t ru t d  |  j   \ } } d | k rY Pn  t   | d k  s' t  q' W| j d k s t  d  S(   Ng{Gz?s   hello!i   R  (	   R  RT   R:   R*   R   R   t
   readouterrRV   R   (   t   capsysRY   R  R   R   Rw  t   err(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt"   test_badly_serialized_input_stderr  s    			
c         C` s   t  t d   g } t d d   \ } \ } } } t | d d |  N } xD | D]< } | |  } | j j | k s} t  d | k sS t  qS WWd  QXx, | D]$ } | |  } d | k s t  q WWd  QXd  S(   Nc         S` s
   |  j    S(   N(   R   (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   t   nworkersi   R   RM   t   3s   not connected(   R   R   R4   R   Rj  R   RV   (   RM   t   funcsRP   RQ   RR   RY   R   t   text(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt	   test_repr  s    !c         C` s   |  j    d  S(   N(   R   (   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_repr_async  s    c          c` su   t  d t d d  d t  V}  t |  d t V} z( | j   } |  j j | k sV t  Wd  | j	   V|  j	   VXd  S(   Nt	   processest   dashboard_addressR   (
   R   Rv   R   R   R   R   Rj  R   RV   R   (   R4   RJ   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_repr_localcluster  s    c         c` s  |  j  t d d d } |  j  t d  } |  j  t | | d | j g d t } t | | | g  V| j j | j  s t	  | j j | j  s t	  t
 | j  | j | j | j h k s t	  | j d | j g d |  j  | j | j k st	  | j d | j g d |  j  | j | j k s8t	  | j | j k sPt	  | j | j j sjt	  | j d | j g d |  j  | j st	  d  S(   Ni   R   i   R   R  R|   RJ   (   RT   R:   R   R   R   R!   t   waiting_dataR   R_   RV   R   Rf   t   client_releases_keysR  t
   dependents(   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_forget_simple  s    '-c      
   c` s  |  j  t t d    V\ } } } } |  j t | |  } |  j t | |  }	 |  j t | |  }
 |  j t |
 |  } t | | | | | |
 |	 | g  Vt | j  d   | |
 |	 | | | | | g D k s t  | j	 d | j
 g d |  j  t | j  d   | |
 |	 | | | | | g D k s8t  | j	 d | j
 g d |  j  t | j  d   |
 |	 | | | | g D k st  | j	 d | j
 g d |  j  t | j  d   |
 |	 | | | g D k st  | j
 | j k st  t   } xO | j
 | j k s)| j
 | j k rSt j d  Vt   | d	 k  st  qW| j	 d |
 j
 g d |  j  t | j  d
   |	 | | | g D k st  d  S(   Ni   c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 R|   RJ   c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 g{Gz?i
   c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 (   R   Rk   Rc   RT   R   R!   R   Rf   RV   R  R_   R  R*   R  R   R   (   R   RP   R  R  RQ   RR   RY   R4  t   abt   cdt   act   acabR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_forget_complex  s(    (#==74	'c         c` sn  t  t d t } g  t d  D] } | t  |  ^ q \ } } } }	 | t  | | d d }
 | t  | |	 d d } | t  | | d d } | t  | |
 d d } |  j | | g  \ } } | j   x, t d  D] } t j	 d	  V| j   q W| j
 d
 | j g d |  j  | j   x5 | j |
 j | j g D] } | | j k sKt  qKWd  S(   NRu   i   t   dask_key_nameR  R  R  R  i   g{Gz?R|   RJ   (   R   R   R   Rc   R6   R7   R   RX   R   R   R  R_   R  Rf   RV   (   R   RP   R  R  t   delayed2Rm  RQ   RR   RY   R4  R  R  R  R  RZ   R\   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_forget_in_flight  s    7

c         c` s(  |  j  t d d  } |  j  t |  } |  j  t |  } t | g  V| j | j k s_ t  | j | j k sw t  | j | j k s t  | j | j k s t  | j d | j g d |  j	  | j | j k s t  | j | j k s t  | j | j k st  | j | j k s&t  | j d | j g d |  j	  | j | j k s]t  | j | j k sut  | j | j k st  | j | j k st  | j d | j g d |  j	  | j | j k st  | j | j k st  | j | j k st  | j | j k s$t  d  S(   Ni   i    R|   RJ   (
   RT   R<   R:   R!   R_   t
   exceptionsRV   t   exceptions_blameR  R  (   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_forget_errors  s.    c         C` sv   t  |   } t |   } |  j j | k s0 t  |  j j | k sH t  t  d  | k s` t  d | k sr t  d  S(   Ni   t   cores(   R   R   Rj  R   RV   (   RY   RP   R_  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_repr_sync#  s    c         c` s   |  j  t d  } |  j  t d  } |  j  t | | d | j g d t } t | | | g  V| j j | j  s{ t	  | j j | j  s t	  d  S(   Ni   i   R   R  (
   RT   R:   R   R   R   R!   R  R   R_   RV   (   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_waiting_data,  s    'c   	      c` s?  t  |  j |  j f d t V} t  |  j |  j f d t V} t |  j  | j | j h k se t  | j t	 d  } | j t	 d  } | j t	 d  } | j
 | j
 k s t  t | | g  V|  j i | j
 | j
 h | j 6| j
 h | j 6t   d 6k s	t  |  j i | j h | j
 6| j | j h | j
 6k sD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  | j |  j | j
 k st  | j
 |  j k st  | j   Vt   } x= |  j r:t j d  Vt   | d k  st |  j   qWd  S(   NR   i   i   s   fire-and-forgetg{Gz?i   (   R   R   R   R   R   t   client_commsR  RV   RT   R:   R_   R!   t
   wants_whatR  R   R*   R   R   Rf   (	   RP   RQ   RR   RY   Ra   RZ   R\   t   y2R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_multi_client8  s4    '	;		c         C` sI   t    : t |   } | j d   d  } | j   t d  Wd  QXd  S(   Nc         S` s   |  d S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   d  R   i
   id   (   RI   R   RT   R[   R   (   R   RY   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   long_running_client_connectiona  s
    

c         c` s   t  j d t d |  j f  } t | _ | j   t   } x4 |  j sp t	 j
 d  Vt   | d k  s= t  q= W| j   t   } x4 |  j r t	 j
 d  Vt   | d k  s t  q Wd  S(   Nt   targetR   g{Gz?i   (   R/   t   ProcessR  R   R   t   daemonR   R*   Rf   R   R   RV   t	   terminate(   RP   RQ   RR   t   procR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt+   test_cleanup_after_broken_client_connectioni  s    	
	
	c   	      c` s  t  |  j |  j f d t V} t  |  j |  j f d t V} | j t d  } | j t d  } | j t d  } | j | j k s t  t | | g  V| j	   t
   } xO | j | j k s | j | j k rt j d  Vt
   | d k  s t  q W|  j i | j h | j 6| j h | j 6t   d 6k sAt  |  j i | j | j h | j 6k slt  | j	   t
   } xD | j |  j | j k rt j d  Vt
   | d k  st  qWt j d  V| j | j k s| j | j k st  |  j i | j h | j 6t   | j 6t   d 6k s:t  |  j i | j h | j 6k s_t  | j	   t
   } xO | j | j k s| j | j k rt j d  Vt
   | d k  sut  quWt d   |  j j   D  st  |  j st  | j   V| j   Vd  S(	   NR   i   i   g{Gz?i   s   fire-and-forgetg?c         s` s   |  ] } | Vq d  S(   N(    (   R`   t   v(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   R   R   R   R   RT   R:   R_   RV   R!   R   R*   R  R   R   R
  R  R   R  RZ  R[  R   (	   RP   RQ   RR   RY   Ra   RZ   R\   R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_multi_garbage_collection|  s@    
	'?+
	*<%
	'&c         c` sb   |  j  d d g d t V\ } } | j | j k oS i d | j 6d | j 6k n s^ t  d  S(   Ni   i   R  (   R   R   R  R_   RV   (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__broadcast  s    "c         g` sp   |  j  d d g d d V\ } } t | j | j j  d k sG t  t | j | j j  d k sl t  d  S(   Ni   i   R  (   R   Rd   Rf   R_   R   RV   (   RY   RP   R   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__broadcast_integer  s    "%c         c` sP   |  j  i d d 6d t V} | j | j k oA i d d 6k n sL t  d  S(   Ni   RZ   R  (   R   R   R  RV   (   RY   RP   RQ   RR   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__broadcast_dict  s    c         C` s#  |  j  d d g d t \ } } t |  j |  j j  } d   | j   D i | j | j h | d 6| j | j h | d 6k s t  |  j  d g d t d | d g \ } t |  j |  j j  } d   | j   D i | j | j | j h | d 6| j | j h | d 6k st  d  S(	   Ni   i   R  c         S` s%   i  |  ] \ } } t  |  |  q S(    (   R   (   R`   R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>  s   	 R   i   R   c         S` s%   i  |  ] \ } } t  |  |  q S(    (   R   (   R`   R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>  s   	 (	   R   R   R0   RM   Rj  Rk  t   itemsR_   RV   (   RY   RP   RQ   RR   RZ   R\   Rk  R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_broadcast  s    !#(c         c` sJ   |  j  j d i d d 6d | j  V} | d | j   d k sF t  d  S(   Nt   msgR   R  R  R  (   Rj  t   proxyR   R   RV   (   RY   RP   RQ   RR   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt
   test_proxy  s    &c         c` s   |  j  t d  } |  j  t |  } x$ | j | j k rJ t j d  Vq' W|  j | g  V| j   sn t  d t	 |  k s t  | j
   t   } x7 | j   s t j d  Vt   | d k  s t  q W| j s t  | j
   d  S(   Ni   g{Gz?t   canceli   (   RT   R6   R_   Rf   R   R   R  t	   cancelledRV   R   RX   R*   (   RY   RP   RQ   RR   RZ   R\   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__cancel  s    
	c         c` sL   |  j  t d d d } | V} |  j |  Vt j t  
 | VWd  QXd  S(   Ni   R_   RZ   i    (   RZ   i    i   (   RT   R:   R  R   R   R   (   RY   RP   RQ   RR   RZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__cancel_tuple_key  s
    c   	      c` sG  t  |  j |  j f d t V} t  |  j |  j f d t V} | j t d  } | j t d  } | j | j k sz t  | j | g  V| j	   s t  | j	   s t  t
   } x= | j |  j k r t j d  Vt
   | d k  s t  q W| V} | d k st  t j t  
 | VWd  QX| j   V| j   Vd  S(   NR   i   g{Gz?i   i   (   R   R   R   R   RT   R6   R_   RV   R  R  R*   Rf   R   R   R   R   R   R   (	   RP   RQ   RR   RY   Ra   RZ   R\   R   Rw  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__cancel_multi_client  s$    	c         c` s   |  j  t d g d g d g g  } t j d   t |  D d d  } |  j |  V|  j | g  Vt d   | D  s t  | j s t  d  S(   Ni   i   i   c         S` s%   i  |  ] \ } } | d  | f  q S(   RR   (    (   R`   Rm  Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>	  s   	 RR   c         s` s   |  ] } | j    Vq d  S(   N(   R  (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>	  s    (	   Rb   RB   R   t   Bagt	   enumerateR  Re   RV   Rf   (   RY   RP   RQ   RR   R   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__cancel_collection	  s    $%c         C` s   |  j  t d d d } |  j  t | d d } |  j  t | d d } |  j | g  t   } x3 | j   s t d  t   | d k  sd t  qd W| j   d k s t  | j   | j   s t  d  S(	   Ni   R_   RZ   R\   R]   g{Gz?i   i   (   RT   R6   R  R*   R  R   RV   R[   (   RY   RZ   R\   R]   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_cancel!	  s    	

c         c` sQ   |  j  t d  } t | g  V| j t k s5 t  d t |  k sM t  d  S(   Ni   RN  (   RT   R:   R!   R:  RN  RV   R   (   RY   RP   RQ   RR   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_future_type3	  s    c   
      c` s   |  j  t d d  } y	 | VWnz t k
 r } | } t j   \ } } }	 xM |	 r d |	 j j j k so t  d |	 j j j k s t  |	 j	 }	 qN Wn Xd  S(   Ni   i    Rj  R  (
   RT   R<   R   Ri   R   t   tb_framet   f_codet   co_filenameRV   R   (
   RY   RP   RQ   RR   RZ   R   Ra   R  R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_traceback_clean;	  s    		c         c` s  d d l  m } m } | d d  } |  j t |  } | |  sI t  | j sY t  |  j t | d d } | |  s t  | j d k s t  |  j |  V}	 | |	  s t  | j	 d  |	 j
   }
 t |
 t  s t  |
 V} | d k st  d  S(	   Ni    (   Rq  t   isqueueRv  i   i   i   i   i   (   Rr  Rq  R,  Rb   R:   RV   Rv  RB   t   _gatherRs  R   RW   R    (   RY   RP   RQ   RR   Rq  R,  t   q_1t   q_2t   q_3t   q_4Ra   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_queueI	  s    i   i   s!   replace StopIteration with returnc         c` s  d   } |  j  d   |    } t | t  s6 t  t   } x4 | j su t j d  Vt   | d k  sB t  qB W|   } y< x5 t r t	 |  } | V}	 |	 t	 |  k s t  q WWnP t
 k
 r}
 t j t
   } t	 |  Wd  QX|
 j | j j k st  n Xd  S(   Nc           s` s   d Vd Vt  d   d  S(   Ni   i   i   (   R~  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   d	  s    c         S` s   |  S(   N(    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   i	  R   g{Gz?i   (   Rb   RW   R)   RV   R*   Rf   R   R   R   Rn  R~  R   R   R   R  (   RY   RP   RQ   RR   R   t   f1R   t   g1Ra   R   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_iterator_with_return_	  s"    				 c         c` s  t  d d d g  } t  d d d g  } |  j t | |  } t | t  sT t  t   } x4 | j s t j	 d  Vt   | d k  s` t  q` W|  j t
 |  } t | t  s t  t |  }	 |	 V}
 |
 d k s t  t |  } g  } x" | D] } | V} | j |  q W| d d g k s/t  t t d   } |  j d	   |  } t | t  skt  t |  V}
 |
 d k st  t |  } g  } x" | D] } | V} | j |  qW| g  t d d  D] } | | f ^ qk st  d  S(   Ni   i   i   i
   i   i   g{Gz?i   c         S` s   |  S(   N(    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   	  R   i    i   i   i   i,   i!   iB   (   i    i    (   t   iterRb   R   RW   R)   RV   R*   Rf   R   R   RB   Rn  Rk   R   R$  Rc   (   RY   RP   RQ   RR   RZ   R\   R3  R   t   f2R   R[   Rz   Rq   Ra   R_  R  t	   futures_lRm  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_iterator}	  s<    	c         C` s@   |  j  t d d g t j d   } t |  d k s< t  d  S(   Ni   i   i
   (   Rb   R   t	   itertoolst   repeatRd   RV   (   RY   RP   RQ   RR   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_infinite_iterators	  s    $c         C` sA   t  t d   } |  j d   |  } t |  j   d k d  S(   Ni
   c         S` s   |  S(   N(    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   	  R   i    (   i    i    (   R$  Rc   Rb   Rn  R[   (   RY   R  Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_iterator_sync	  s    c         C` s:   t  |  j t d d g d d d g   d k s6 t  d  S(   Ni   i   i   (   Rd   Rb   R   RV   (   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_differnet_lengths	  s    c      
   C` s   t    P \ } \ } } t | d d |  % } t j j   | j k sO t  Wd  QXWd  QX| j   \ } } t | j	   j
 d   d k s t  t j j   | j k s t  d  S(   NR   RM   s   
i   (   R4   R   R   t   baset   get_schedulerR   RV   R  Rd   t   stript   split(   RM   R  RP   RQ   RR   RY   Rw  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_Future_exception_sync_2	  s    *'i<   c         c` s{  d d l  m } m } | d  } | t  |  } | t  |  } | t  | |  }	 |  j | |	 g  \ }
 } t |
  t |  k s t  t |  t |	  k s t  t	 |
 j
  d k s t  t	 | j
  d k s t  t	 |	 j
  d k st  | j   |
 j   k s!t  |	 j   | j   k s?t  x6 | j | j k rw|	 j | j k rwt j d  VqBW| j | j |  j h k st  | j |	 j |  j h k st  |  j |
 | g  \ } } |  j | | g  V\ } } | t d  k st  | t t d  t d   k s2t  t |  j |  |  sPt  t |  j | g  t t f  swt  d  S(   Ni    (   R   t   Delayedi   g{Gz?(   R  R   RD  R:   R;   R   R   R:  RV   Rd   R   t   __dask_keys__R_   Rf   R   R   R  R  R   Rh   RW   Rk   RW  (   RY   RP   RQ   RR   R   RD  RZ   R\   R]   R  R  t   wwt   yyft   wwft   yyyt   www(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_async_persist	  s.    '""'c         c` s5  t  j d  d d  l j } | j d
 d d } d | d } t | j  d k sZ t  |  j |  } t | j  d k s t  t | j  d k s t  t	 d	   | j j
   D  s t  | j   | j   k s t  |  j | | g  \ } }	 |  j | |	 g  V\ }
 } |
 | k j	   s1t  d  S(   Ns
   dask.arrayi    i
   R   i   i   i   i   c         s` s   |  ] } t  | t  Vq d  S(   N(   RW   R    (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>	  s    (   i
   i
   (   i   i
   (   R   R   t
   dask.arrayt   arrayR   Rd   R   RV   R   Re   R[  RE  R   Rh   (   RY   RP   RQ   RR   R   RZ   R\   R  R   t   ht   ggt   hh(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test__persist	  s    %c         C` s  t  j d  d d  l j } | j d
 d d } d | d } t | j  d k sZ t  |  j |  } t | j  d k s t  t | j  d k s t  t	 d	   | j j
   D  s t  | j   | j   k s t  | j   } | j   } | | k j	   st  d  S(   Ns
   dask.arrayi    i
   R   i   i   i   i   c         s` s   |  ] } t  | t  Vq d  S(   N(   RW   R    (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr> 
  s    (   i
   i
   (   i   i
   (   R   R   RL  RM  R   Rd   R   RV   R   Re   R[  RE  R   (   RY   R   RZ   R\   R  R  R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_persist	  s    %c         #` s   d d l  m }   f d     |  j   d  } t | g  Vt | |  j | j j   d k  sj t  t	 |  j | j j
 t  s t  d  S(   Ni    (   t   dumpsc         ` s)   |  d k r d d n   |  d  Sd  S(   Ni    i   (    (   R   (   t   deep(    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRT  
  s    i   i'  (   t   distributed.protocol.pickleRS  RT   R!   Rd   Rz   R_   R  RV   RW   R   R   (   RY   RP   RQ   RR   RS  RZ   (    (   RT  s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_long_traceback
  s    +c         #` s}   |  j  t d g d g d g g  } t j d   t |  D d d  } t |  Vt    f d   | D  sy t  d  S(   Ni   i   i   c         S` s%   i  |  ] \ } } | d  | f  q S(   RR   (    (   R`   Rm  Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>
  s   	 RR   c         3` s3   |  ]) } | j    j k p* | j   j k Vq d  S(   N(   R_   R  (   R`   Ra   (   RQ   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>
  s    (   Rb   RB   R   R#  R$  R!   Re   RV   (   RY   RP   RQ   RR   R   RZ   (    (   RQ   RR   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_wait_on_collections
  s    $%c         C` s  |  j  t d d d g  \ } } } t t d   t   k sE t  t t |   | h k sf t  t t | | | g   | | | h k s t  t t | | g | g g g   | | | h k s t  t t i | d 6| g d 6  | | h k st  t j d   t | | | g  D d d  } t t |   | | | h k sYt  t i | d 6| d 6| d	 6t	 t	 t	 | | f | f d
 f d 6d d  } t t |   | | | h k st  d  S(   Ni   i   i   i    RZ   R\   c         S` s%   i  |  ] \ } } | d  | f  q S(   RR   (    (   R`   Rm  Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>+
  s   	 RR   R]   t   inRw  (   RX  (
   Rb   R:   R   R&   RV   R   R#  R$  R   R   (   RY   RP   RQ   RR   RZ   R\   R]   t   sg(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_futures_of_get!
  s    $!!095.':	c          C` s1   t  j d  }  t |  j g  g  k s- t  d  S(   Ns
   dask.array(   R   R   R&   t   ArrayRV   (   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_futures_of_class6
  s    c         c` s%  |  j  t d  } |  j | g  Vt j t  
 | VWd  QXt j t  < |  j i t | f d 6t d f d 6d d g d t VWd  QXt j t   |  j  t |  Wd  QXt j t   |  j  t d d | Wd  QXt j t   |  j	 t d g d | Wd  QXd | j
 k s!t  d  S(   Ni   RZ   i   R\   R0   (   RT   R:   R  R   R   R   R   Rv   R   Rb   Rf   RV   (   RY   RP   RQ   RR   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt    test_futures_of_cancelled_raises;
  s    =c         c` s   |  j  t d  } t | g  V| j   t j V|  j  t d  } t   } x= | j | j k r t j	 d  Vt   | d k  sP t
  qP WxH t   | | j d d k  r | j | j k s t
  t j	 d  Vq Wd  S(   Ni   g{Gz?id   i  (   RT   R:   R!   R   R   R   R*   R_   R  R   RV   t   delete_interval(   RY   RP   R  RZ   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt#   test_dont_delete_recomputed_resultsR
  s    
	!c         c` s=   t    } |  j t |  } x | j s8 t j d  Vq Wd  S(   Ng{Gz?(   R  RT   R:   Rf   R   R   (   RY   RP   R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_fatally_serialized_inpute
  s    	s   Use fast random selection nowc         c` sr   |  j  t d  } t |  V|  j  t d  } t |  Vt | j  t | j  k oc d k n sn t  d  S(   Ni   i   (   RT   R:   R!   Rd   R  RV   (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_balance_tasks_by_stackso
  s
    c         c` s   |  j  t d  V} | i d | j 6d | j 6k s9 t  |  j  t d d | j g V} | i d | j 6k st t  |  j  t d d g  V} | i  k s t  d  S(   Ni   i   R   (   t   runR:   R   RV   (   RY   RP   RQ   RR   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_run{
  s    &c         #` s   |  j  t t d   } t |  Vd     |  j    V} |     k sQ t  |  j    V} |   f d   | | g D k s t  d  S(   Ni
   c           S` s   i  t    g  d d d d f S(   Ni   t   hellot   100(    (   R   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   
  s    c         ` s   i  |  ] }     | j   q S(    (   R   (   R`   R  (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>
  s   	 (   Rb   R:   Rc   R!   t   run_on_schedulerRV   Rb  (   RY   RP   RQ   RR   Rz   Rq   (    (   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_run_handles_picklable_data
  s    	c         C` s   d d  } |  j  | d d d } | i d | d 6d | d 6k sL t  |  j  | d d d d | d g } | i d | d 6k s t  d  S(	   Ni
   c         S` s   |  | S(   N(    (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   
  s    i   R\   i   i   R   R   (   Rb  RV   (   RY   RP   RQ   RR   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_run_sync
  s
    (%c         c` sA  |  j  t d d d V} | i d | j 6d | j 6k s? t  |  j  t d d d d | j g V} | i d | j 6k s t  |  j  t d d g  V} | i  k s t  t j t   } |  j  t d  VWd  QXd t |  k s t  t	 j
 d
 k r=|  j  t d d d	 V} | i d | j 6d | j 6k s=t  n  d  S(   Ni   R   g?i   R   Rd  i   i   g{Gz?(   i   i   (   Rb  R>   R   RV   R   R   t   RuntimeErrorR=   R   Ri   Rj   R?   (   RY   RP   RQ   RR   Rq   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_run_coroutine
  s    &%c         C` s   |  j  t d d d } | i d | d 6d | d 6k s@ t  |  j  t d d | d g } | i d | d 6k s| t  t   } |  j  t d d d d t } t   } | d  k s t  | | d	 k s t  d  S(
   Ni   R   g{Gz?i   R   R   i
   R!   g      ?(   Rb  R>   RV   R*   Rv   R   (   RY   RP   RQ   RR   R[   t   t1t   t2(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_run_coroutine_sync
  s    (		c      	   C` sj   d   } xZ t  t g D]L } t j |   } |  j | | d  Wd  QXd t | j  k s t  q Wd  S(   Nc         S` s   |  |   d  S(   N(    (   R  t   exc_msg(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   raise_exception
  s    s   informative message(   R  Ri  R   R   Rb  R   R  RV   (   RY   Ro  R  t   excinfo(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_run_exception
  s
    	c         ` s  t    \ } \ } } | d   | d  t | d d |  } | j   } | i d   6d  6k sq t  | j   g  } | i d   6k s t  | j    } | i d   6k s t  | j | d  } | i d   6k s t  | j t d   | j t d   | j t d   t    g  | j   } t |   j	  j	  j	 h k sot  t
    f d   | j   D  st  t
 | j    st  | j   g  } t |   j	  j	 h k st  | j   } t |   j	 h k st  | j   } t |     h k sBt  t
    f d   | j   D  spt  | j   g  } t |    h k st  | j    } t |    h k st  Wd  QXWd  QXd  S(   NR   RM   i   i   i   c         3` s.   |  ]$ } | D] } |    g k Vq q d  S(   N(    (   R`   R  R  (   t   a_addrt   b_addr(    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>
  s    c         3` s:   |  ]0 } | D]# } |   j   j   j  g k Vq q d  S(   N(   R_   (   R`   R  R   (   RZ   R\   R]   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>
  s    (   R4   R   R   RV   RT   R:   R!   R   R   R_   Re   R[  Rk  (   RM   RP   RQ   RR   RY   R4  (    (   Rr  Rs  RZ   R\   R]   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_diagnostic_ui
  s>    

 *+$.c         C` s   |  j  t d d d g  } |  j  t d d d g  } t | |  |  j d t  d   | | D k sp t  |  j d t  i t d  d d 6t d  d d 6k s t  d  S(   Ni   i   i   R1  c         S` s"   i  |  ] } t  d   | j  q S(   i   (   R-   R_   (   R`   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>
  s   	 R:   RB   (	   Rb   R:   RB   R!   t   nbytesRv   RV   R   R-   (   RY   t   incst   doubles(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_diagnostic_nbytes_sync
  s
    ,c         c` s   |  j  t d d d g  } |  j  t d d d g  } t | |  V| j d t  d   | | D k sq t  | j d t  i t d  d d 6t d  d d 6k s t  d  S(   Ni   i   i   R1  c         S` s"   i  |  ] } t  d   | j  q S(   i   (   R-   R_   (   R`   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>  s   	 R:   RB   (	   Rb   R:   RB   R!   R3  Rv   RV   R   R-   (   RY   RP   RQ   RR   Rv  Rw  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_diagnostic_nbytes
  s
    ,c    
      c` s  t  d t  }  |  j d  t |  j |  j d d } t |  j |  j d d } t |  j |  j d d } | | | g Vt |  j |  j f d t V} | j t t	 d  d	 d } | j
 d
 d	 d V} t |  Vt | j  d k s t  t | j  d k st  t | j  i d
 | j 6k s4t  xX t d d g d g  D]> \ } } | j d   | d	 | V}	 |	 | d k sMt  qMW| j   V| j   | j   | j   g V|  j   Vd  S(   NR  i    Rh  t   alicet   bobi   R   i
   R   i{   c         S` s   |  d S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i   (   R+   R   R   R   R   R   R   Rb   R:   Rc   R   R!   Rd   R  RV   R8  R_   R$  RT   R   (
   RP   RQ   RR   R  RY   R   R   Rm  t   aliasR[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_worker_aliases	  s&    %% c   	      C` s   t  t  } t  d  t  d  } } t  t  | |  } t  t  | |  } t  t  | |  } |  j |  } t  t  | d  } | j   d d d k s t  d  S(   Ni   i   i
   i   i   (   R   R   R   R   RV   (	   RY   t   daddRZ   R\   R   R  t   xxyyt   xxyy2t   xxyy3(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_persist_get_sync$  s    c         c` sX  t  t  } t  d  t  d  } } t  t  | |  } t  t  | |  } t  t  | |  }	 |  j |	  }
 t  t  |
 d  } t j d  V|  j | j | j   d t V} | d d d d k s t	  |  j
 |  V} | d	 d
 d k s t	  |  j
 |  V} | d d d k s*t	  |  j
 |  V} | d d d k sTt	  d  S(   Ni   i   i
   g      ?R0   i    i   i   i   i   i   i   i   i   (   R   R   R   R   R   R   R   RE  Rv   RV   R   (   RY   RP   RQ   RR   R~  RZ   R\   R   R  R  R  R  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_persist_get1  s     "t   wins    num_fds not supported on windowsc   
      C` s   t  j d  } t    \ } \ } } | j   } t | d d |   } | j   } x1 t d  D]# } t | d d |   Wd  QXqe Wt   }	 x9 | j   | k r t d  t   |	 d k  s t	  q WWd  QXWd  QXd  S(   Nt   psutilR   RM   i   g{Gz?(
   R   R   R4   R  R   t   num_fdsRc   R*   R   RV   (
   RM   R  RP   RQ   RR   R  RY   t   beforeRm  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_num_fdsJ  s    
	
c         c` sX   t  |  j |  j f d t V} | j   Vt  |  j |  j f d t V} | j   Vd  S(   NR   (   R   R   R   R   R   (   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_startup_close_startup\  s    c         C` s   t     \ } \ } } t | d d |   } t d  Wd  QXt | d   } Wd  QXt | d   } Wd  QXt d  t | d   } Wd  QXWd  QXd  S(   NR   RM   g?(   R4   R   R   (   RM   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_startup_close_startup_synce  s    
c         c` sa   d   } |  j  |  } y | V} Wn+ t k
 rP } d t |  k s] t  n Xt s] t  d  S(   Nc          S` s&   d t  f d     Y}  |  d   d  S(   Nt   BadlySerializedExceptionc           B` s   e  Z d    Z RS(   c         S` s   t     d  S(   N(   R   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt
   __reduce__v  s    (   RA  RB  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  u  s   s   hello world(   R   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   t  s    s   hello world(   RT   R   R   RV   Rv   (   RY   RP   RQ   RR   Ra   RZ   R[   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt    test_badly_serialized_exceptionsr  s    	c         c` s  | j  | j } | j  | j } |  j d d g d | j g V\ } } t | j  d k sc t  t | j  d k s~ t  | j   |  j   V| j   t | j  d k s t  d   | j D t	 | j  k s t  | | j
 | j j k s| | j
 | j j k st  t | j  d k s3t  d   | j D t	 | j  k s[t  | | j
 | j j k s| | j
 | j j k st  d  S(   Ni   i   R   i    c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   RY  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   RY  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 (   R   R   R   Rd   R  RV   RX   t	   rebalanceRk  R   Rf   R_   R   (   RY   RP   RQ   RR   R  R  RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_rebalance  s    (

(8(c   
      c` s  |  j  d d d d g d | j g V\ } } } }	 t | j  d k sO t  t | j  d k sj t  t | j  d k s t  t | j  d k s t  |  j | | g d | j | j g Vt | j  d k s t  t | j  d k s t  t | j  d k st  t | j  d k s2t  | j i d | j 6k sj| j i d | j 6k sjt  |  j   Vt | j  d k st  t | j  d k st  t | j  d k st  t | j  d k st  | j   d  S(   Ni   i   i   i   R   i    (   R   R   Rd   R  RV   R  R_   RX   (
   R   RP   RQ   RR   RY   R4  R  RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_rebalance_workers  s"    4&8c         c` sq   |  j  t t d  d | j } |  j |  Vt | j  t | j  k oX d k n sc t  | j   d  S(   Ni
   R   i   (	   Rb   R:   Rc   R   R  Rd   R  RV   RX   (   RY   RP   RQ   RR   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_rebalance_execution  s    !4c         C` s   |  j  t t d  d | d g } |  j |  |  j   } t |  d k sV t  t t t |  j	    d d g k s t  d  S(   Ni
   R   R   i   i   (
   Rb   R:   Rc   R  Rk  Rd   RV   Rk   R   R[  (   RY   RP   RQ   RR   Rz   Rk  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_rebalance_sync  s
    %c         c` sQ   |  j  t t d  d d d | j } t j d  V|  j |  V| j   d  S(   Ni
   R   g?R   g?(   Rb   R6   Rc   R   R   R   R  RX   (   RY   RP   RQ   RR   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_rebalance_unprepared  s    'c         c` sz   |  j  t d d | j g } | V} | j   Vt   } x: | j d k ru t   | d k  sd t  t j d  Vq< Wd  S(   Ni   R   R   i   g{Gz?(	   RT   R:   R   R   R*   R   RV   R   R   (   RY   RP   RQ   RR   RZ   R[   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_receive_lost_key  s    	c         c` so  |  j  t d d | j g } | V} | j   Vt   } x: | j d k ru t   | d k  sd t  t j d  Vq< W| j	 | j
 | j k s t  | j d | j
 g  i d | j
 6k s t  t | j | j d | j V} t   } x: | j d k r't   | d	 k  st  t j d  Vq W| j	 | j
 | j k sGt  | V} | d	 k s`t  | j   Vd  S(
   Ni   R   R   i   g{Gz?R|   s	   no-workerRM   i   (   RT   R:   R   R   R*   R   RV   R   R   Rf   R_   t
   unrunnablet   get_task_statusR   R   RM   (   RY   RP   RQ   RR   RZ   R[   R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_unrunnable_task_runs  s$    	.	c         c` sh   |  j  t t d   } t | j | j d d d | j } | j d  |  j |  V} | j	   Vd  S(   Ni
   R   i   RM   i    (
   Rb   R:   Rc   R   R   R   RM   R   Rh   R   (   RY   RP   Rz   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_add_worker_after_tasks  s
    $c         c` s   |  j  d g d | j V\ } |  j t | d | j } | V| j | j d k s[ t  | j | j j	 | j
 | j | j
 | j h k s t  | j
 | j j | j | j | j | j h k s t  | j   d  S(   Ni   R   (   R   R   RT   R:   R   R  R_   RV   Rf   R   R   Rk  RX   (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt#   test_workers_register_indirect_data  s    99c         c` sQ   |  j  t d  } | V|  j |  Vt j t   |  j  t |  } Wd  QXd  S(   Ni   (   RT   R:   R  R   R   R   (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_submit_on_cancelled_future  s
    i
   c         '` s   |  j  d d g  V\    | j d   j  j g d d  V| j   t | j   j j  d k sn t  t | j  j j  d k s t  t   f d   | D  d k s t  t  f d   | D  d k s t  d  S(   Ni   i   R|   R   i   c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>#  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>$  s    (	   R   t	   replicateR_   RX   Rd   Rf   R   RV   Rg   (   RY   RP   R   (    (   RQ   RR   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_replicate  s    #
%%(c         c` sy   t  t  d d d } |  j |  } |  j | d d V| j   | j rW | j s] t  |  j |  V| j   d  S(   Ni   R   RZ   R   i   (   RZ   i   (   R   R:   R   R  RX   R  RV   R  (   RY   RP   RQ   RR   RZ   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_replicate_tuple_keys'  s    
c      	   '` s  |  j  d d g d | d j g V\    | j d   j  j g d d d g  | d  D] } | j ^ qX  Vt | j   j j  d k s t  t | j  j j  d k s t  t   f d   | d  D  d k s t  t  f d	   | d  D  d k st  t   f d
   | d D  d k s=t  t  f d   | d D  d k sit  | j d   j  j g d d  Vt | j   j j  d k st  t | j  j j  d k st  t   f d   | D  d k st  t  f d   | D  d k s&t  | j	   | j d   j  j g d d   Vt | j   j j  d k sxt  t | j  j j  d k st  | j	   | j d   j  j g d d d g  | d  D] } | j ^ q Vt   f d   | d  D  d k st  t  f d   | d  D  d k sBt  t   f d   | d D  d k snt  t  f d   | d D  d k st  | j	   d  S(   Ni   i   R   i    R|   R   i   c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>>  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>?  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>@  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>A  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>G  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>H  s    i
   c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>T  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>U  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>V  s    c         3` s!   |  ] }   j  | j k Vq d  S(   N(   R_   R  (   R`   R  (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>W  s    (   R   R   R  R_   Rd   Rf   R   RV   Rg   RX   R   (   RY   RP   R   R  (    (   RQ   RR   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_replicate_workers3  s4    ,	:%%,,,,#%%((
#%%
	:,,,,t   CountSerializationc           B` s#   e  Z d    Z d   Z d   Z RS(   c         C` s   d |  _  d  S(   Ni    (   R   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   __init__\  s    c         C` s   | d |  _  d  S(   Ni   (   R   (   R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  _  s    c         C` s   |  j  S(   N(   R   (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  b  s    (   RA  RB  R  R  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  [  s   		c         '` sn   t    } |  j | g  V\   | j d   j g d d  Vt   f d   | D  } | d k sj t  d  S(   NR|   R   i
   c         3` s"   |  ] } | j    j j Vq d  S(   N(   R  R_   R   (   R`   R  (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>l  s    i   (   R  R   R  R_   t   maxRV   (   RY   RP   R   RF  t	   max_count(    (   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_replicate_tree_branchingf  s
    	c         g` sX  |  j  t d  } |  j  t d  } |  j | | g d d Vt | j | j j  d k sc t  t | j | j j  d k s t  |  j | | g d d Vt | j | j j  d k s t  t | j | j j  d k s t  |  j | | g  V| j   t | j | j j  d k s/t  t | j | j j  d k sTt  d  S(   Ni   i   R   i   i   i
   (	   RT   R:   R  Rd   Rf   R_   R   RV   RX   (   RY   RP   R   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_replicatep  s    %%%%
%c   	      c` s  | j  | j } | j  | j } | j  | j } |  j t d d d } t | g  V| j | j j | h k s | j | j j | h k s t  |  j	 | g d d g V| j | j j | | h k s t  |  j	 | g d d g V| j | j j | | | h k st  d  S(   Ni   R   s	   127.0.0.2s	   127.0.0.1(
   R   R   RT   R:   R!   Rf   R_   R   RV   R  (	   RJ   RP   RQ   RR   RY   R  R  t   cwsRZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_replicate_host  s    	>%c         C` s   |  j  t d  } |  j  t d  } |  j | | g d d |  j   } t | | j  t | | j  k oz d k n s t  t j t	   |  j | g d d Wd  QX| j
   d k s t  d  S(   Ni   i   R   i    i   (   RT   R:   R  R   Rd   R_   RV   R   R   R  R[   (   RY   RZ   R\   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_replicate_sync  s    <s    Windows timer too coarse-grainedc         c` s   |  j  t d d d } t |  Vd | j d k  oA d k  n sL t  |  j t t d  d d } t |  Vd | j d k  o d	 k  n s t  d  S(
   Ni   R   g?g333333?R6   g?i
   i    g?(   RT   R6   R!   R`  RV   Rb   Rc   (   RY   RP   RQ   R   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_task_load_adapts_quickly  s    )c         #` s   |  j  t d d   j } |  j  t d d  j } t | | g  V|  j t t d d   } t |  Vt   f d   | D  s t  t  f d   | D  s t  d  S(   Ni   R   i   i   c         3` s!   |  ] } | j    j k Vq d  S(   N(   R_   R  (   R`   Ra   (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    c         3` s!   |  ] } | j    j k Vq d  S(   N(   R_   R  (   R`   Ra   (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   RT   R:   R   R!   Rb   Rc   RZ  RV   (   RY   RP   RQ   RR   RZ   R\   Rz   (    (   RQ   RR   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt#   test_even_load_after_fast_functions  s    "c         c` sg   |  j  t d d g  \ } } t | | g  Vt | j  t | j  k oX d k n sc t  d  S(   Ni   i   (   Rb   R:   R!   Rd   R  RV   (   RY   RP   RQ   RR   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_even_load_on_startup  s    c   	      c` s   |  j  t d d d d g  \ } } } } t | | | | g  Vt | j  t | j  g } | j | j h | k s} t  | j | j h | k s t  d  S(   Ni   i   i   i   (   Rb   R:   R!   R   R  R_   RV   (	   RY   RP   RQ   RR   R  RZ   R\   R]   t   groups(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_contiguous_load  s
    *c         g` sf   g  t  d  D] } |  j t |  ^ q } t |  Vx) | D]! } t | j  d k s= t  q= Wd  S(   Ni   i   (   Rc   RT   R6   R!   Rd   R  RV   (   RY   RP   R   Rm  R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_balanced_with_submit  s    +c         g` s   |  j  d g d t V\ } g  t d  D] } |  j t | d t ^ q) } t |  Vx) | D]! } t | j  d k s_ t	  q_ Wd  S(   Ni
   R  i   Ru   i   (
   R   R   Rc   RT   R6   Rv   R!   Rd   R  RV   (   RY   RP   R   RZ   Rm  R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt+   test_balanced_with_submit_and_resident_data  s
    1i   c         c` s   x d d d g D] } |  j  t t d  d | } |  j  t | d | d } xL | j s | j r t d   | j j   D  s t  n  t j	 d  VqS Wq Wd  S(   Ni    g{Gz?g?id   R   i
   c         s` s7   |  ]- } | j  j   D] } t |  d  k Vq q d S(   i   N(   t
   processingR[  Rd   (   R`   R  t   p(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s   (
   Rb   R6   Rc   Rf   Re   R   R[  RV   R   R   (   RY   RP   RQ   RR   R   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scheduler_saturates_cores  s    	c         c` s   x d d d g D]s } |  j  t t d  d d } xL | j s | j rq t d   | j j   D  sq t  n  t j	 d  Vq7 Wq Wd  S(   Ni    g{Gz?g?id   t   scalec         s` s7   |  ]- } | j  j   D] } t |  d  k Vq q d S(   i   N(   R  R[  Rd   (   R`   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s   (
   Rb   R9   Rc   Rf   Re   R   R[  RV   R   R   (   RY   RP   RQ   RR   R   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt%   test_scheduler_saturates_cores_random  s    	c         g` s   t  j d  } |  j t d d d } x | j sD t j d  Vq* W|  j |  Vt   } xJ t	 d   | j
 j   D  r t   | d k  s t  t j d  Vq_ W| j   d  S(   Ns
   dask.arrayi   R   g?g{Gz?c         s` s%   |  ] } | j  D] } | Vq q d  S(   N(   R  (   R`   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   R   R   RT   R6   Rf   R   R   R  R*   RZ  R   R[  RV   RX   (   RY   RP   R   R   RZ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_cancel_clears_processing  s    	"c          C` s  t    \ }  \ } } t j j   } t j t t j j d  t	 |  d d t
 C } t j j   | j k sw t  t j j d  d k s t  Wd  QXt j j   | k s t  t j t t j j d  t	 |  d d t } t j j   | k s t  t j t t j j d  | j   t	 |  d d t
 } t j j d  d k sWt  t j j   | j k sut  | j   t j j   | k st  t j t t j j d  t	 |  d  % } t j j   | j k st  Wd  QXt	 |  d d t % } t j j   | j k s!t  Wd  QXt j j   | j k sEt  t	 |  d d t
  } t j j   | j k s|t  t	 |  d d t
 % } t j j   | j k st  Wd  QXt j j   | j k st  Wd  QXt j j   | k st  Wd  QXd  S(   Nt   shuffleR   t   set_as_defaultRf   (   R4   R   R?  R@  R   R   t   KeyErrort   configR   R   R   RV   Rv   R   (   RP   RQ   RR   t   pre_getRY   t   c1R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_default_get  s:    $

$$$$c      	   c` s   |  j    V} | t t | j   k s+ t  |  j t t d  d d d | j g d t } t	 j
 d  V|  j    V} t |  | j | j h k s t  |  j  d | j g  V} t | | j t t f  s t  d  S(   Ni
   R   g?R   R  g?(   R  R   RW  RV   Rb   R6   Rc   R   R   R   R   R   RW   Rk   (   RY   RP   RQ   RR   R  Rz   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_processing>  s    *$c         c` s5  |  j  t t d   } t |  V|  j j   V} | | j k sH t  |  j j d | j g  V} | i | j | j | j 6k s t  |  j j   V} t	 t
 |  t	 t
 | j  k s t  |  j j d | j g  V} t	 t
 |  i t
 | j | j  | j 6k st  |  j j d t  V} | | j d t  k sFt  |  j j d | d j g d t  V} | i | j | d j j | d j 6k st  |  j j   V} t	 t
 |  t	 t
 | j  k st  |  j j d | d j g  V} t	 t
 |  i t
 | j | d j  | d j 6k s1t  d  S(   Ni
   R   R1  R|   i    (   Rb   R:   Rc   R!   Rj  R   RV   R   Rk  R   R  Ru  Rv   R3  R_   Rf   R   (   RY   RP   RQ   RR   Rz   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_fooP  s$    &'5&1' c         C` sw   t  |  j    t  | j    k s* t  xF | j   D]8 } |  | } | | } t |  t |  k s7 t  q7 Wd  S(   N(   R   R|   RV   Rk   (   t   expectedt   actualR   t   evt   av(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   assert_dict_key_equaln  s
    *

c         c` sH  |  j  t d d | j g } |  j d d | j g V} t | | g  V| j | j | j } } }	 |  j j   V}
 t |
 i | j g | 6| j g | 6g  |	 6 |  j j d | | g  V}
 t |
 i | j g | 6| j g | 6 |  j j	   V}
 t |
 i | g | j 6| g | j 6 |  j j	 d | j | j g  V}
 t |
 i | g | j 6| g | j 6 | j
   V| j
   V|  j j   V}
 t |
 i g  |	 6 |  j j d | | g  V}
 t |
 i g  | 6g  | 6 |  j j	   V}
 t |
 i g  | j 6 |  j j	 d | j | j g  V}
 t |
 i g  | j 6g  | j 6 d  S(   Ni   R   i   R|   (   RT   R:   R   R   R!   Rj  Rk  R  R_   R   R   (   RY   RP   t   uR  R  RZ   R\   t   uat   vat   waR4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_foo_lost_keysv  s,    .''"'"R   t   check_new_threadsc         c` sa   |  j  t j d  } t j t   } | VWd  QX| j j j d | j	 | j	 h k s] t
  d  S(   Ni   t   nanny(   RT   Ri   R  R   R   R,   R  t   last_workert   servicesR   RV   (   RY   RP   RQ   RR   Ra   t   info(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_bad_tasks_fail  s    c      	   C` s   |  j    } t d   | j   D  s/ t  |  j t t d  d d d | d g d t } t d  | d } | d } |  j    } t	 |  j  |   | h k s t  t	 |  j  | g   | h k s t  |  j
 |  d  S(	   Nc         s` s   |  ] } | Vq d  S(   N(    (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    i
   R   g?R   R   R  g?(   R  RZ  R[  RV   Rb   R6   Rc   Rv   R   R   R  (   RY   RP   RQ   RR   R  Rz   Ro  t   bb(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_processing_sync  s    #+


$'c         C` s"   |  j    |  j    |  j    d  S(   N(   R   (   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_close_idempotent  s    

c      	   ` s  t    } t t  7   j i t d f d 6t d f d 6d d g  } Wd  QXt    | d k  sg t  t   f d   d d t   f d   d d	   j t	 d  } | j
   t t  =   j i t d f d 6t	 d f | j 6d | j g  } Wd  QX| j   j k st  d  S(
   Ni   RZ   R\   g      ?c           ` s     j  S(   N(   Rz   (    (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   RS   g?c           ` s   t    j   j    S(   N(   RZ  R  R[  (    (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i   (   R*   R.   Ri  R   R=   R   RV   RG   RT   R:   R[   R_   Rz   (   RY   R   R[   RZ   (    (   RY   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_returns_early  s    	8
>c         c` s   |  j  t d  } | j |  j k s* t  |  j   V| j |  j k sM t  | j } ~ d d  l } | j   t j	 V| |  j k s t  d  S(   Ni   i    (
   RT   R:   R_   R   RV   t   restartR   R   R   R   (   RY   RP   RQ   RR   RZ   R_   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt+   test_Client_clears_references_after_restart  s    	
c         C` s   t  j t  5 |  j i t d f d 6t d f d 6d d g  Wd  QXt   } x? t |  j   j	    r t d  t   | d k  sR t
  qR Wd  S(   Ni   RZ   g      ?R\   g{Gz?g      ?(   R   R   Ri  R   R=   R   R*   RZ  R  R[  RV   (   RY   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_stops_work_after_error  s    6	
c         C` sd   |  j  t t t d    } t t |   } t |  j |   d d d d d h k s` t  d  S(   Ni   i   i   i   i   (	   Rb   R:   R6  Rc   Rk   R"   R   Rh   RV   (   RY   R;  t   seq2(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_as_completed_list  s    c         C` s   |  j  t t d   } t t | d t  } t t d |   d d d d d h k s` t  t t d |   t |  k s t  d  S(   Ni   t   with_resultsi   i   i   i   i    (	   Rb   R:   Rc   Rk   R"   R   R   R   RV   (   RY   R;  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_as_completed_results  s    0R  c         C` s   d } |  j  t t |  d d } g  } xR t | d | j   D]8 } t | t t f  sd t  t	 d  | j
 |  qC Wt |  | k s t  | r t t d |   t t d | d   k s t  n t |  t |  k s t  d  S(   Ni2   R   g{Gz?R  g?i   (   Rb   R6   Rc   R"   t   batchesRW   RW  Rk   RV   R   t   extendRd   R   R   (   RY   R  R   Rz   Rw  t   batch(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_as_completed_batches  s    
7c         C` s   |  j  t t d  d d } t |  } | j   s= t  | j d t  g  k s[ t  t | j d t	   j
 |  s t  x7 | j   s t | j d t	   j
 |  s t  q W| j   s t  | j   s t  d  S(   Ni   R   g?t   block(   Rb   R6   Rc   R"   t   is_emptyRV   t
   next_batchRv   R   R   R]  t	   has_ready(   RY   Rz   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_as_completed_next_batch  s    '+c          c` s   t    }  |  j d  t |  j |  j f d t V} | j d k sJ t  | j t	 d  } | j
   V| j d k s| t  |  j
   Vd  S(   Ni    R   t   runningi   t   closed(   R+   R   R   R   R   R   R   RV   RT   R:   R   (   RP   RY   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_status  s    	c   	      #` s1  d } x$|  j  |  j g D]} t j | d d } | d 7} | j t  } | j t  } | | d t } t |  Vt t t	 | j
     j   j  s t  t j | d d } | d 7} | j t  } | j t  } | | d t } t |  Vt   f d   | j
   D  s t  q Wd  S(   Ni
   R   i   i   R   c         3` s$   |  ] } t  |    j k Vq d  S(   N(   R2   Rf   (   R`   R   (   RP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>9  s    (   R   R   R   Rc   Rb   R:   Rv   R!   R   R2   RE  R]  Rf   RV   R   RZ  (	   RY   RP   RQ   RR   Rm  t   methodt   b2t   b3t   b4(    (   RP   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_persist_optimize_graph#  s     
-
c         c` s1   t  j t j   |  j d d d VWd  QXd  S(   Ni   RS   g      ?(   R   R   R   R   R   (   RY   RP   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt!   test_scatter_raises_if_no_workers<  s    c      
   C` s  t  d d d |  } | j   d d d d d d g } t |   } t d	 d |  } t   } x? t | j    d
 k r t d  t   | d k  sd t  qd W| j	 t
 d
  } | j   d k s t  Wd  QXt   } x6 | j d k rt   | d k  st  t d  q Wt j t   | j   Wd  QX| j d k sJt  t j t   | j   Wd  QXt |   } t   } x6 | j d k rt d  t   | d k  st  qWt   } x? t | j    d
 k rt d  t   | d k  st  qW| j	 t
 d
  } | j   d k s0t  Wd  QXt   } xo t ry | j   t sat  Wn% t k
 rxqBn t k
 rPn Xt   | d k  st  t d  qBWt |  | j  | j   d  S(   Ns	   127.0.0.1i$  RM   s   dask-schedulers   --hosts   --portt   9393s
   --no-bokehs   127.0.0.1:9393i   g?i   i   t
   connectingi   g{Gz?R  R  g?i   (   R   R   RC   R   R*   Rd   R   R   RV   RT   R:   R[   R   R   R   R   R   R   Rv   R   R0   R   (   RM   R  t   scheduler_cliRP   RY   R   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_reconnectB  sb    
		
		
	
		
t   client_kwargsg      ?c         c` s   t  t j d   i } | j   Vt   } xK |  j d k ry |  j   Vt j d  Vt   | d k  s/ t	 d   q/ WWd  QX| j
   } d | k s t	  d  S(   Ns   distributed.clientR  g?i   s%   Timeout waiting for reconnect to fails   Failed to reconnect(   RD   R   R   R   R*   R   t   _update_scheduler_infoR   R   RV   R   (   RY   RP   t   loggerR   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_reconnect_timeout  s    	)s0   Semaphore.acquire doesn't support timeout options   TODO: intermittent failuress   worker,count,repeatid   c         ` s  t  j d  } | j   } t d d d d  I\  } t j   | j   } t d    t j	    t
 j d       f d   } xA t |  D]3 }	  j | t j   d t j   d d	 | q Wt  d
 d   }
 t d  x8 t |  D]* }	   j d d  t j    sPqqWt   } x3 |
 j   rnt d  t   | d k  s<t  q<WWd  QXWd  QXt   } xO | j   | k rt d | | j    t d  t   | d k  st  qWd  S(   NR  R  i    t   active_rpc_timeouti   i   c         3` s   x~ t  |  D]p } t j |   V  d d  } d   | <| V| j } |  | <t j |  V| j   V~ t j Vq W  j   d  S(   NR   RM   (   Rc   R   R   R   t   worker_addressR   R   R   (   R   t   durationR;  Rm  R  t   addr(   RU   RM   R  RP   R  (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   start_worker  s    
	
i   R;  R   RM   RS   g?i
   s   fds:g?(   R   R   R  R4   R   R   R  R   R   t   WeakKeyDictionaryR   t	   coroutineRc   t   add_callbackR*  R   R   t   acquireR*   R   RV   R  (   RM   R  t   countR;  R  R  R   R  R  Rm  RY   R   (    (   RU   RM   R  RP   R  s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_open_close_many_workers  s8    

!+

	
)	
c         c` s  t  |  j |  j f d t V} t  |  j |  j f d t V} | j t d  } | Vt |  j  } t |  } | j t d  } | j	 | j	 k s t
  | Vt j d  Vt |  j  }	 | |	 k s t
  | j t d d  } t |  V| j d k st
  t |  j  } | j t d d  } | j	 | j	 k s?t
  t |  Vt j d  Vt |  j  }	 | |	 k syt
  |  j j   | j t d  }
 | j t d  } t |
 | g  Vt |  j  | k st
  | j   V| j   Vd  S(   NR   i   g?i    R  i   (   R   R   R   R   RT   R:   Rk   t   transition_logRd   R_   RV   R   R   R<   R!   R   t   clearR   (   RP   RQ   RR   RY   Ra   RZ   t   logt   len_single_submitR\   t   log2R4  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_idempotence  s:    c         C` sA   |  j    } t | t  s! t  t | d  d k s= t  d  S(   NR   i   (   t   scheduler_infoRW   R8  RV   Rd   (   RY   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scheduler_info  s    c         C` s   |  j    } t d  y } |  j |  t d |  1 } | j    } |  j j | j j k sd t  Wd  QXt j t	   |  j |  Wd  QXWd  QXd  S(   Nt   jsont   scheduler_file(
   R  R3   t   write_scheduler_fileR   Rj  R   RV   R   R   R  (   RY   R  R  R  t   info2(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_write_scheduler_file  s    $c         C` s   t  j d  } |  j   } | d d  k	 s1 t  | d d  k	 sG t  t | d  d k sc t  x0 | d j   D] \ } } | d  k	 st t  qt W|  j d t  |  j d d g  } t | d d d  d | j	 k s t  d  S(	   Nt   requestsRj  RJ   R   i   t   checkt   packagest   optional(
   R   R   t   get_versionsR   RV   Rd   R  R   R8  t   __version__(   RY   R  R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_versions  s    c         ` sr   d d  l  } x_ | j j | j j | j j g D]<     f d   } |  j |  } | j   d k s. t  q. Wd  S(   Ni    c           ` s     i d   f d 6d  S(   Nc           S` s   d S(   Ni   (    (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   #  R   RZ   (    (    (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   "  s    i   (	   t   dask.multiprocessingRx  t   get_synct   multiprocessingR   t   threadedRT   R[   RV   (   RY   R   Ra   R   (    (   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_threaded_get_within_distributed  s
    (c         c` si   |  j  d g d | j V\ } | j   Vt j d  V| j d k sM t  | j | j k se t  d  S(   Ni   R   g?R  (	   R   R   R   R   R   R   RV   R_   Rf   (   RY   RP   RQ   RR   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_lose_scattered_data)  s
    c         c` s   |  j  d d | j V} |  j | d d V| j   Vt j d  V| j d k s[ t  | j d | j	 g  i d | j	 6k s t  d  S(	   Ni   R   R   i   g?R   R|   t   memory(
   R   R   R  R   R   R   R   RV   R  R_   (   R   RP   RQ   RR   RY   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt"   test_partially_lose_scattered_data4  s    c         c` s   |  j  d d d d g g d | j V\ } |  j t d d | j } |  j t | | d d } t j d  V| j   Vt j	 t
   t |  VWd  QX| j d	 k s t  | j d
 k s t  | j d	 k s t  d  S(   Ni   i   i   i   R   R   g?g?R  R   (   R   R   RT   R:   R7   R   R   R   R   R   R   R!   R   RV   (   RY   RP   RQ   RR   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_compute_lose@  s    +c         c` s  |  j  d d | j V} |  j t | d | j } |  j t d  } |  j t | | d d d | j } t |  V| j   Vt   } x: | j d k r t	 j
 d  Vt   | d k  s t  q W| j d k s t  | j d k s t  |  j t |  }	 t |	  V| j }
 ~ t   } xM | j d |
 g  i d	 |
 6k rqt	 j
 d  Vt   | d k  s%t  q%W| j } ~ t   } x[ | j | j k r|
 | j k r| | j k rt	 j
 d  Vt   | d k  st  qWd
 S(   s  
    Create irreplaceable data on one machine,
    cause a dependent computation to occur on another and complete

    Kill the machine with the irreplaceable data.  What happens to the complete
    result?  How about after it GCs and tries to come back?
    i   R   R   g?R   g{Gz?i   R|   t   releasedN(   R   R   RT   R:   R7   R!   R   R*   R   R   R   RV   R_   R  Rf   (   RY   RP   RQ   RR   RZ   R   R\   R]   R   R  t   zkeyt   xxkey(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_compute_store_loseR  s4    	$			%		3c         c` s   |  j  d g d | j V\ } |  j t | d d } |  j t |  } t j d  V| j   Vt   } x: | j	 d k r t j d  Vt   | d k  sn t
  qn W| j	 d	 k s t
  | j	 d	 k s t
  d
 S(   s  
    Create irreplaceable data on one machine,
    cause a dependent computation to occur on another and complete

    Kill the machine with the irreplaceable data.  What happens to the complete
    result?  How about after it GCs and tries to come back?
    i   R   R   g?g?R   g{Gz?i   R  N(   R   R   RT   R6   R:   R   R   R   R*   R   RV   (   RY   RP   RQ   RR   RZ   R\   R]   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt*   test_scatter_compute_store_lose_processing  s    		c   	      c` s   t  |  j |  j f d t V} t  |  j |  j f d t V} | j d    } | V} t |  i t j t j |   } | j	 | k s t
  t | j  | j k s t
  | V} | | k s t
  Wd  QX| j   V| j   Vd  S(   NR   c           S` s   d S(   Ni   (    (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   (   R   R   R   R   RT   R'   t   picklet   loadsRS  RJ   RV   R2   R_   Rz   R   (	   RP   RQ   RR   RY   Ra   R   R[   R  R	  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_serialize_future  s    c         c` s   t  |  j |  j f d t V} t  |  j |  j f d t V} t |  2 t   | k s` t  t |  | k sx t  Wd  QXt |  2 t   | k s t  t |  | k s t  Wd  QX| j   V| j   Vd  S(   NR   (   R   R   R   R   R'   R%   RV   R   (   RP   RQ   RR   RY   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_temp_client  s    c         #` sP  g  t  d  D] } t t  |  ^ q } t t  |  } g  | D] } t t  | |  ^ qD } t t  |  }	 |  j | | | |	 g d i   j t |  6| j | 6| j g t |  6| j |	 6d | |	 g }
 t |
  Vt	   f d   | D  st
  | j | j k s#t
  | j |	 j h d   | D Bk sLt
  d  S(   Ni   R   R  c         3` s!   |  ] } | j    j k Vq d  S(   N(   R_   R  (   R`   R  (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 (   Rc   R   R:   Rg   R   R   R   RW  R!   Re   RV   R_   R  R  (   R   RP   RQ   RR   RY   Rm  Rl   Rn   Rm   t   total2Rw  (    (   RQ   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_persist_workers  s     +(
"c         c` s  g  t  d  D] } t t  |  ^ q } t t  |  } g  | D] } t t  | |  ^ qD } |  j | | | g d i | j t |  6| j | 6| j g t |  6d | | g }	 t |	  Vx0 | D]( }
 | j	 |
 j
 | j h k s t  q Wx0 | D]( }
 | j	 |
 j
 | j h k st  qW| j	 | j
 | j h k sRt  | j | j
 h d   | D Bk s{t  d  S(   Ni   R   R  c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 (   Rc   R   R:   Rg   R   R   R   RW  R!   R  R_   RV   R  (   R   RP   RQ   RR   RY   Rm  Rl   Rn   Rm   Rw  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_compute_workers  s    +(3&&"c   	      c` s   t  j d  } t  j d  } | j d d d d } |  j i | g d 6d d	 6 } | V} t | t  ss t  | d d
 | j d  d k j   s t  | d	 d k s t  d  S(   Ns
   dask.arrayRH  i
   R   i   i   RZ   i{   R\   i    (   i   (   R   R   R   R   RW   R8  RV   Re   (	   RY   RP   RQ   RR   R   RK  RZ   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_compute_nested_containers  s     -c          C` s  g  t  d  D] }  t t  |   ^ q } t t  |  } g  | D] }  t t  |  |  ^ qD } t j | d t  \ } } | d   | D k s t  | s t  t j | d g t	  \ } } | d   | D k s t  t
 |  d   | D k st  t j | i d | 6t	  \ } } | i d g | j 6k sFt  | | j g k s^t  t j | i d | f 6t	  \ } } | i d g | j 6k st  | | j g k st  d  S(   Ni   s	   127.0.0.1c         S` s   i  |  ] } d  g | j   q S(   s	   127.0.0.1(   R_   (   R`   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>  s   	 c         S` s   i  |  ] } d  g | j   q S(   s	   127.0.0.1(   R_   (   R`   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>  s   	 c         S` s   h  |  ] } | j   q S(    (   R_   (   R`   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>  s   	 (   Rc   R   R:   Rg   R   R   t   get_restrictionsRv   RV   R   R   R_   (   Rm  Rl   Rn   Rm   t   r1t   loose(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_restrictions  s    +(""%c         c` s_   |  j  d g  V\ } | j t k s+ t  |  j  i d d 6 V} | d j t k s[ t  d  S(   Ni   g      ?RZ   (   R   R:  RN  RV   t   float(   RY   RP   RQ   RR   R   R4  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_type  s    c         c` s   |  j  d g d | j V\ } | j d | j g  V| j i d | j 6k sU t  | j i | j h | j 6k sz t  | j i | j h | j 6k s t  | j | j k s t  d  S(   Ni   R   (	   R   R   t   retire_workersR  R_   RV   R   Rk  R   (   RY   RP   RQ   RR   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_retire_workers_2  s    %%c         '` s3  |  j  t t d    V}   j d g  | d  D] } | j ^ q0  V|  j |  V} | t t d   k su t  t   j  t   j	  k o d k n s t  t
 d   | D  s t  t
   f d   | D  s t  xE   j j   D]4 \ } } d t |  k  o d k  n s t  q Wd  S(	   Nid   R   i   i   c         s` s   |  ] } | j    Vq d  S(   N(   RU   (   R`   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>1  s    c         3` s(   |  ] }   j  | j j d  k Vq d S(   R  N(   Rf   R_   R  (   R`   R   (   RP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>2  s    i   i2   (   R   Rk   Rc   R.  R   Rh   RV   Rd   Rk  R   Re   R  (   RY   RP   R   Rz   R  Rq   R|   (    (   RP   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_retire_many_workers'  s    +4"c         #` s  d | j  d j _ d | j d <d d d  } |  j d d d	 d
 g g d   j g V} |  j d g d  j g V} |  j | d d d	 d
 g d | d | } t |  Vt   f d   | D  d k s t	  t  f d   | D  d k s t	  d  S(   Ni@B t   stealingg{Gz?Ra   i    c         S` s   t  d  |  S(   Ng{Gz?(   R   (   RZ   R\   R]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   <  s    
i   i   i   i   R   R\   R]   c         3` s!   |  ] } | j    j k Vq d  S(   N(   R_   R  (   R`   Ra   (   RQ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>G  s    c         3` s!   |  ] } | j    j k Vq d  S(   N(   R_   R  (   R`   Ra   (   RR   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>H  s    (
   t
   extensionst   _pct   callback_timeR`  R   R   Rb   R!   Rg   RV   (   RY   RP   RQ   RR   Ra   R\   R]   Rz   (    (   RQ   RR   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt+   test_weight_occupancy_against_data_movement7  s    +*(c         c` s   d | j  d <d | j d j _ d d  } |  j d g d t V} |  j | t d	  d
 | } t |  Vt	 | j
  d t	 | j
  k s t  d  S(   Ng{Gz?Ra   i@B R1  i    c         S` s   t  d  |  S(   Ng{Gz?(   R   (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   P  s    
i   R  i   R\   i   (   R`  R2  R3  R4  R   R   Rb   Rc   R!   Rd   R  RV   (   RY   RP   RQ   RR   Ra   R\   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_distribute_tasks_by_ncoresK  s    c   
      #` sG  t       f d   }   f d    |  j t d d d } |  j t d d d } |  j t d d	 d
 d d } |  j t d d d } | j |  | j |  | j |  t | | | | f  V| j |  t   }	 x7 t    d k  rt   |	 d k  rt	 j
 d  Vq W  d   | | | | f D k sCt  d  S(   Nc         ` s   |  j     d  S(   N(   t   add_done_callback(   R   (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   a  s    c         ` s     j  |  j |  j f  d  S(   N(   R   R_   R   (   R   (   t   S(    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   d  s    i   R_   R  Rd  R  i   R   g333333?R  i   RZ   i   g       @g{Gz?c         S` s"   h  |  ] } | j  | j f  q S(    (   R_   R   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <setcomp>w  s   	 (   R   RT   R:   R=   R6   R7  R!   R*   Rd   R   R   RV   (
   RY   RP   RQ   RR   Ra   R  R  R  RZ   t   t(    (   R8  R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_add_done_callback]  s     		(c   	      C` s   t  t  d  } t  t  |  } t  t  |  } |  j |  } |  j |  } t | j  t | j  d k s| t  t | j | j t	  s t  t | j  t | j  k  s t  d  S(   Ni   (
   R   R:   R   t   normalize_collectionRd   R   RV   RW   R_   R    (	   RY   RP   RQ   RR   RZ   R\   R]   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_normalize_collectionz  s    (c         c` s:  t  j d  } | j d d d } | d } |  j |  } | j   } t | j  }	 |  j |  }
 | j |	 k s| t  t	 | j  t	 |
 j  k s t  t
 d   |
 j j   D  s t  x< | j j   D]+ \ } } |
 j | j | j k s t  q W|  j |  V} |  j |
  V} | | k s6t  d  S(   Ns
   dask.arrayi
   R   i   i   c         s` s   |  ] } t  | t  Vq d  S(   N(   RW   R    (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   i   (   R   R   R   R   Rg   R8  R   R;  RV   Rd   RZ  R[  R  R_   R   (   RY   RP   RQ   RR   R   RZ   R\   R  R]   t   zdskR  R   R  R  R	  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_normalize_collection_dask_array  s    
$%#c         C` s   t  j d  } | j d d d } | j   } t |  | j   j   } ~ |  j |  } | j   j   } | | k s t  d  S(   Ns
   dask.arrayi   i   R   i
   i   i   (	   R   R   R   R   R!   Rg   R   R;  RV   (   RY   R   RZ   R\   t   solt
   normalizedR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt/   test_normalize_collection_with_released_futures  s    
c      
   c` s%  t  j d  } | j d d d } t | j  d k s? t  t j j d |  j g   | j	 t
 d d d	 | j } |  j |  } t |  Vt   } |  j | j    }	 |	 Vt   }
 |
 | d k  s t  t   } |  j | d  } t |  Vt   }
 |
 | d k  st  Wd  QXd  S(
   Ns
   dask.arrayi
   R   i   i   t   optimizationsR   i   t   dtype(   R   R   R   Rd   R   RV   R  R   t   _optimize_insert_futurest
   map_blocksR6   RC  R   R!   R*   R   Rg   (   RY   RP   RQ   RR   R   RZ   R\   R  R   R   t   endR]   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_auto_normalize_collection  s"    				c         C` s   t  j d  } | j d d d } | j t d d d | j } |  j |  } t |  t j	 j
 d |  j g  = t   } | j   j   t   } | | d k  s t  Wd  QXd  S(	   Ns
   dask.arrayi
   R   i   R   i   RC  RB  (   R   R   R   RE  R6   RC  R   R!   R   R  R   RD  R*   Rg   R   RV   (   RY   R   RZ   R\   R  R   RF  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt#   test_auto_normalize_collection_sync  s    
		c         C` s~   xw |  j  D]l \ } } } } } | d k r
 | d k r
 x< | j   D]+ \ } } | | k oe | d k sD t  qD Wq
 q
 Wd  S(   NR  R  t   waiting(   R  R  RV   (   Rj  R_   R   R  t   recommendationsR   R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   assert_no_data_loss  s    c         #` s[  d d  l  } | | _ g  t d  D] } t t  | d d ^ q" } g  | D] } t t  | d d ^ qM } g  t | |  D]' \ } }	 t t  | |	 d d ^ q }
 t t  |
  } |  j	 |  } d   t
 j d  Vg  | D] } | j ^ q } g  | D] }	 |	 j ^ q} g  |
 D] } | j ^ q"} x| j sct d   | j j   D  rLt
 j d	  Vt   f d
   | j d |  j   D  } t   f d   | j d |  j   D  } t   f d   | j d |  j   D  } | | k o| k n st  | | d k  s3t  | | d k  s:t  q:Wt |  d  S(   Ni    i   R   g{Gz?R  R  g?c         s` s   |  ] } | j  Vq d  S(   N(   R  (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    g?c         3` s   |  ] } |   k Vq d  S(   N(    (   R`   R  (   RU   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    R|   c         3` s   |  ] } |   k Vq d  S(   N(    (   R`   R  (   RU   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    c         3` s   |  ] } |   k Vq d  S(   N(    (   R`   R  (   RU   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    i
   (   R  R  (   t   distributedR   Rc   R   R6   R8   Ra  R7   Rg   R   R   R   R_   Rf   RZ  R   R[  R  RV   RK  (   RY   RP   RQ   RR   RL  Rm  t   xsRZ   t   ysR\   t   zsRn   R   t   x_keyst   y_keysR]   t   z_keyst   x_donet   y_donet   z_done(    (   RU   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_interleave_computations  s*    	1+=,..."s   Now prefer first-in-first-outc         #` s  |  j  t t d  d d } |  j  t | d d } |  j  t | | d d } d   g  | D] } | j ^ q^ } g  | D] }	 |	 j ^ qz }
 g  | D] } | j ^ q } x| j s t d   | j j	   D  rt
 j d  Vt   f d   | j d	 |  j	   D  } t   f d
   | j d	 |
  j	   D  } t   f d   | j d	 |  j	   D  } | | k o| k n st  | | d k  st  | | d k  s t  q Wd  S(   Ni   R   g{Gz?R  R  c         s` s   |  ] } | j  Vq d  S(   N(   R  (   R`   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    g?c         3` s   |  ] } |   k Vq d  S(   N(    (   R`   R  (   RU   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    R|   c         3` s   |  ] } |   k Vq d  S(   N(    (   R`   R  (   RU   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    c         3` s   |  ] } |   k Vq d  S(   N(    (   R`   R  (   RU   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    i
   (   R  R  (   Rb   R6   Rc   R8   R7   R_   Rf   RZ  R   R[  R   R   Rg   R  RV   (   RY   RP   RQ   RR   RM  RN  RO  RZ   RP  R\   RQ  R]   RR  RS  RT  RU  (    (   RU   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt    test_interleave_computations_map  s    ,..."c         c` sO   |  j  i d d 6d | j | j g Vd | j k sK d | j k sK t  d  S(   Ni
   RQ   R   (   R   R   R  RV   (   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_dict_workers  s    'c          c` s   t  j   }  t d d t } t d |   } t j d  Vy | j d	  Wn t k
 r` d  SXt	   } x4 | j
 s t j d  Vt	   | d k  sm t  qm W| j   V| j   Vd  S(
   Ns   127.0.0.1:57484R   RM   i   s	   127.0.0.1i  g?i   (   s	   127.0.0.1i  (   R   RR  R   R   R+   R   R   R   t   EnvironmentErrorR*   t   scheduler_commRV   R   (   RM   RY   RP   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_timeout$  s    	c         c` sW   |  j  d d d g  V} d  d  } |  j | d | } | V} | d k sS t  d  S(   Ni   i   i   c         S` s
   t  |   S(   N(   Rg   (   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   >  s    R   i   i   (   R   R   RT   RV   (   RY   RP   RQ   RR   Rz   Ra   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_submit_list_kwargs:  s
    c         c` s   |  j  d d d g  V} d  d  } |  j | t d  d | } |  j |  V} | g  t d  D] } | d ^ qc k s t  d  S(   Ni   i   i   c         S` s   |  t  |  S(   N(   Rg   (   Rm  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   J  s    i
   R   i   (   R   R   Rb   Rc   Rh   RV   (   RY   RP   RQ   RR   Rz   Ra   Rq   Rm  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_list_kwargsF  s
    c   	      c` s   t    } |  j d  V} |  j t | d d } x$ | j | j k rW t j d  Vq4 W| j } ~ x/ t d  D]! } | j	 | s t
  t j Vqq Wd  S(   Ni   R   g      ?g{Gz?i   (   R*   R   RT   R6   R_   Rf   R   R   Rc   R  RV   R   (	   RY   RP   RQ   RR   R   RZ   R\   R_   Rm  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_dont_clear_waiting_dataR  s    		c   	      c` s   |  j  t d d  } t |  V| j d k s5 t  |  j |  V\ } } } } | j d k sf t  t j t	   | | |   Wd  QXd  S(   Ni   i    R  R<   (
   RT   R<   R!   R   RV   t   _get_futures_errorRA  R   R   R   (	   RY   RP   RQ   RR   Ra   t   functionR   t   kwargst   deps(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_future_error_simple`  s    c         c` s   t  t  d d d } t  t  d d d } t  t  d | d d } t  t  d | d d } t  t  | | d d } |  j |  }	 t |	  V|	 j d	 k s t  |  j |	  V\ }
 } } } |
 j	 d
 k s t  | d | j
 f k s t  d  S(   Ni   R   t   x0i   t   y0RZ   R\   t   totR  R<   (   R   R;   R<   Rg   R   R!   R   RV   R_  RA  R_   (   RY   RP   RQ   RR   Rd  Re  RZ   R\   Rf  Ra   R`  R   Ra  Rb  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_futures_errorm  s    c         c` s  t  t  d  } t  t  d  } t  t  d |  } t  t  d |  } t  t  | |  } |  j |  }	 |	 j d k s t  |  j |	  V\ }
 } } |	 j d k s t  |
 j d k s t  | d k s t  t	 j
 t   |
 | |   Wd  QXd  S(   Ni   i   R   R  R<   i    (   i   i    (   R   R;   R<   Rg   R   R   RV   t   _recreate_error_locallyRA  R   R   R   (   RY   RP   RQ   RR   Rd  Re  RZ   R\   Rf  Ra   R`  R   Ra  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recreate_error_delayed~  s    c         c` s  |  j  t d  } |  j  t d  } |  j  t d |  } |  j  t d |  } |  j  t | |  } |  j |  }	 |	 j d k s t  |  j |	  V\ }
 } } |	 j d k s t  |
 j d k s t  | d k s t  t	 j
 t   |
 | |   Wd  QXd  S(   Ni   i   R   R  R<   i    (   i   i    (   RT   R;   R<   Rg   R   R   RV   Rh  RA  R   R   R   (   RY   RP   RQ   RR   Rd  Re  RZ   R\   Rf  Ra   R`  R   Ra  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recreate_error_futures  s    c      	   c` s  t  j d d d } | j d    } | j   } |  j |  } |  j |  V\ } } } t j t   | | |   Wd  QXt j	 d  } d d  l
 }	 | j |	 j i d d d d	 d g d
 6 d d }
 d   } |
 j j |  } |  j |  } |  j |  V\ } } } t j t   | | |   Wd  QX|  j |  } |  j |  V\ } } } t j t   | | |   Wd  QXd  S(   Ni
   R   i   c         S` s   d |  S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   s   dask.dataframei    i   i   i   RQ   t	   chunksizec         S` s   |  d k r t   n  |  S(   Ni    (   R  (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   make_err  s    	(   R   Rc   Rb   R   R   Rh  R   R   R   R   RI  t   from_pandasRJ  RQ   R  (   RY   RP   RQ   RR   Ra   R`  R   Ra  t   ddRL  t   dfRl  t   df2t   df3(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recreate_error_collection  s(    4	c   
      c` s   t  j d  } t  j d  | j j | j d	 d d  d j   } | j   } |  j |  V\ } } }	 d t |  j	 d d  k s t
  d  S(
   Ns
   dask.arrayt   scipyi
   R   i   s   0.,0.,0.t    R   (   i
   i
   (   R   R   t   linalgt   invt   zerosRg   R   Rh  R   t   replaceRV   (
   RY   RP   RQ   RR   R   R]   R  R   R   Ra  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recreate_error_array  s    +c         C` s   |  j  t d  } |  j  t d  } |  j  t d |  } |  j  t d |  } |  j  t | |  } |  j |  } t j t   } |  j |  Wd  QX| j	 d k s t
  d  S(   Ni   i   R  (   RT   R;   R<   Rg   R   R   R   R   t   recreate_error_locallyR   RV   (   RY   Rd  Re  RZ   R\   Rf  Ra   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recreate_error_sync  s    c         C` sS   |  j  t d  } t j t   } |  j |  Wd  QXd t |  k sO t  d  S(   Ni   s   No errored futures passed(   RT   R;   R   R   R  Rz  R   RV   (   RY   Ra   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_recreate_error_not_error  s    c         c` s   t  | j  | j | j h k s' t  |  j d | j g d t  Vt  | j  | j h k se t  t   } x: | j d k r t j	 d  Vt   | d k  sq t  qq Wd  S(   NR   t   close_workersR  g{Gz?i   (
   R   R   R   RV   R.  R   R*   R   R   R   (   RY   RP   RQ   RR   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_retire_workers  s    '!	t   MyExceptionc           B` s   e  Z RS(    (   RA  RB  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s   c         c` s   d t  f d     Y} t j t   |  j t |    } Wd  QX|  j t t d   } |  j	 |  V} | t
 t t t d    k s t  | j r | j s t  d  S(   Nt   Fooc           B` s   e  Z d    Z RS(   c         S` s   t     d  S(   N(   R  (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s    (   RA  RB  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s   i
   (   RD  R   R   R  RT   R   Rb   R:   Rc   Rh   Rk   RV   R  (   RY   RP   RQ   RR   R  R   Rz   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_robust_unserializable  s    'c         c` s   d t  f d     Y} |  j t |    } t j t  
 | VWd  QX|  j t t d   } |  j	 |  V} | t
 t t t d    k s t  | j r | j s t  d  S(   NR  c           B` s   e  Z d    Z d   Z RS(   c         S` s   d S(   Ni   (    (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  	  s    c         S` s   t  d   d  S(   NRd  (   R  (   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s    (   RA  RB  R  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s   	i
   (   RD  RT   R   R   R   R  Rb   R:   Rc   Rh   Rk   RV   R  (   RY   RP   RQ   RR   R  R   Rz   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_robust_undeserializable  s    'c   	      c` s   d t  f d     Y} |  j |   d  } t j t   } | VWd  QX|  j t t d   } |  j |  V} | t	 t t t d    k s t
  | j r | j s t
  d  S(   NR  c           B` s#   e  Z d    Z d   Z d   Z RS(   c         S` s   d S(   Ni   (    (   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s    c         S` s   t  d   d  S(   NRd  (   R  (   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     s    c         W` s   d S(   Ni   (    (   R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   __call__#  s    (   RA  RB  R  R  R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s   		i   i
   (   RD  RT   R   R   R  Rb   R:   Rc   Rh   Rk   RV   R  (	   RY   RP   RQ   RR   R  R   R   Rz   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt%   test_robust_undeserializable_function  s    
'c         #` sD  |  j  t d d d } d d  l     f d   } zu t |  j  | |   t   } x: t   d  s t j d  Vt   | d k  sX t  qX W  j	 d	 k s t  Wd    `	 Xt   } x@ t
 | j  d k r t j d  Vt   | d k  s t  q Wt | j  | j h k st  t | j  | j h k s@t  d  S(
   Ni   R   g?i    c         ` s   d   _  d  S(   Ni{   (   t   foo(   RZ   (   RL  (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   6  s    R  g{Gz?i   i{   (   RT   R6   RL  R   R*   t   hasattrR   R   RV   R  Rd   Rf   R   R  R_   (   RY   RP   RQ   RR   R   Ra   R   (    (   RL  s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_fire_and_forget1  s"    		!c         c` sk   t  |  j t d d   t j d  Vt   } x4 | j rf t j d  Vt   | d k  s3 t  q3 Wd  S(   Ni   i    g?g{Gz?(   R   RT   R<   R   R   R*   Rf   RV   (   RY   RP   RQ   RR   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_fire_and_forget_errM  s    	c         C` s  t  t j d    } t d |  d t d d  / } | j t t d  d d } t d	  Wd  QXt d
  | j	   } | j
   j d  } t |  d k s t  xN | D]F } | s d | k s d | k s t |  d h k s t |   q WWd  QXd  S(   NRL  RM   R  t   threads_per_workeri   i  R   g{Gz?g?g?s   
i   t   Reconnectingt   garbaget   -(   RD   R   R   R   Rv   Rb   R6   Rc   R   R   RA  RB  Rd   RV   R   (   RM   R  RY   Rz   Rw  t   linesR  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_quiet_client_closeY  s    
c      	   C` s{   t  t j d   B } t d |  d d  } t | d |  } | j   | j   Wd  QX| j   } d | k sw t  d  S(   Ns   tornado.applicationRM   t	   n_workersi   R   (   RD   R   R   R   R   R   R   RV   (   RM   R  R4   RJ   Rw  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt<   test_quiet_client_close_when_cluster_is_closed_before_clientl  s    
c         c` s   t  |  j d t V} | j t d  } t |  V| j |  j k sK t  | j	   Vt
   } xF | j |  j k s} |  j r t j d  Vt
   | d k  sb t  qb Wd  S(   NR   i   g{Gz?i   (   R   R   R   RT   R:   R!   R  R
  RV   R   R*   Rf   R   R   (   RP   RQ   RR   RY   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt
   test_closex  s    	c      	   ` sq     f d   } d d l  m } | d  @ } t | j | t d    } | r^ t |  sd t  ~ Wd  QXd  S(   Nc         ` s   t  d d  } xI t d  D]; }   j t t j d d   } | j |  t d  q W  j t	 |     j t
 t	 |   } | j   S(   Nt   maxleni2   id   i    gMbP?(   R   Rc   RT   R:   R*  R+  R   R   Rh   Rk   Rg   R[   (   R   R4  Rm  R   Rn   (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    i    (   t   ThreadPoolExecutori   (   t   concurrent.futuresR  Rk   Rb   Rc   Re   RV   (   RY   Ra   R  R   Rq   (    (   RY   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_threadsafe  s    
c         ` s   t  j d  } | j d d d	     f d   } d d l m } | d  } t | j | t d    } | r t |  s t	  d  S(
   Ns
   dask.arrayid   R   i
   c         ` sQ   d } xD t  d  D]6 } |   t j d d  j   j   7} t d  q W| S(   Ni    i   gMbP?(   Rc   R*  R+  Rg   R   R   (   R   Rn   Rm  (   RZ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s
    &i    (   R  i   (   i
   (
   R   R   R   R  R  Rk   Rb   Rc   Re   RV   (   RY   R   Ra   R  R   Rq   (    (   RZ   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_threadsafe_get  s    c         ` s   t  j d  } | j d d d	     f d   } d d l m } | d  } t | j | t d    } | r t |  s t	  d  S(
   Ns
   dask.arrayid   R   i
   c         ` s`   d } xS t  d  D]E }   j  t j d d  j    } | | j   7} t d  q W| S(   Ni    i   gMbP?(   Rc   R   R*  R+  Rg   R[   R   (   R   Rn   Rm  R   (   RY   RZ   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    %i    (   R  i   (   i
   (
   R   R   R   R  R  Rk   Rb   Rc   Re   RV   (   RY   R   Ra   R  R   Rq   (    (   RY   RZ   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_threadsafe_compute  s    c         C` s|   |  j  j   j d  s t  | j  j   j d  s< t  | j  j   j d  sZ t  | j  j   j d  sx t  d  S(   NRJ   R  Rj  (   R  R  Ry   RV   (   RY   RP   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_identity  s    c         c` s   t    |  k s t  |  j s$ t  d   } d d  l } |  | _ zS |  j | t d   } |  j |  V} | t t t	 t d    k s t  Wd  | ` Xd  S(   Nc         S` sV   t    } | j t |   } d d  l } | j s7 t  | | j k sL t  | j   S(   Ni    (   R   RT   R:   RL  R   RV   t
   tmp_clientR[   (   RZ   RJ   R   RL  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    	i    i   (
   R   RV   R   RL  R  Rb   Rc   Rh   Rk   R:   (   RY   RP   RQ   RR   Ra   RL  Rz   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_client  s    			+c          C` sJ   d d l  m }  |  2d } t j t d d j |   t   Wd  QXd  S(   Ni    (   t   _global_workerss.   No global client found and no address providedR   s   ^{}$(   t   distributed.workerR  R   R   R  R  R   (   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_client_no_cluster  s
    c         #` st   t  j d      j d d d j   }   f d   } |  j | |  } | V} | t t d   k sp t  d  S(   Ns
   dask.arrayi
   R   i   c         ` s(   t  |    j  s t  |  j   j   S(   N(   RW   R[  RV   Rg   R   (   RZ   (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    (   i   (   R   R   R   R   RT   Rg   Rc   RV   (   RY   RP   RQ   RR   RZ   Ra   R   R[   (    (   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_serialize_collections  s    c         c` s/   d   } |  j  |  V} | d k s+ t  d  S(   Nc          S` s&   t    }  t   |  j t d  j   S(   Ni   (   R   R   RT   R:   R[   (   RJ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    	i   (   RT   RV   (   RY   RP   RQ   Ra   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_secede_simple  s    	c   	      c` s  t  j   } d   } |  j | t d   } t   } xD t d   | D  s| t j d  Vt  j   | d k  s9 t  q9 Wt	 | j
  d t	 | j
  k  s t  t	 | j
  d t	 | j
  k  s t  |  j |  V} | t t t t d    g d k st  d  S(   Nc         S` sZ   t    } t d  t   | j t t d  d t d d } | j t |  j	   } | S(   Ng{Gz?i
   Ru   R   (
   R   R   R   Rb   R6   Rc   Rv   RT   Rg   R[   (   RZ   RJ   Rz   Rn   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    	
$id   c         s` s   |  ] } | j  d  k Vq d S(   R   N(   R   (   R`   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    g{Gz?i2   i   i
   (   t	   threadingt   active_countRb   Rc   R*   Re   R   R   RV   Rd   R   Rh   Rg   R:   (	   RY   RP   RQ   RR   R  Ra   Rz   R   Rq   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_secede_balances  s    		 ((c         c` sh   d   } |  j  | d d } t j d  Vt | j  d k rd | j d | j d k sd t  n  d  S(   Nc          S` s)   t    }  |  j t d d d d d d  S(   Ni   R   g?R_   R6   (   R   RT   R6   (   RJ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa   #  s    	R_   Ra   g?i   R6   (   RT   R   R   Rd   Rf   t
   prioritiesRV   (   RY   RP   RQ   RR   Ra   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_sub_submit_priority!  s
    	c         ` sx   |  j  d    } |   f d   | | g D k s: t  |  j  d    } |   f d   | | g D k st t  d  S(   Nc           S` s   t    j j S(   N(   R   Rj  R   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   0  R   c         ` s!   i  |  ] }   d  | d   q S(   R   (    (   R`   R  (   RP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>1  s   	 c           S` s   t    j j S(   N(   R   Rj  R   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   3  R   c         ` s!   i  |  ] }   d  | d   q S(   R   (    (   R`   R  (   RP   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys
   <dictcomp>4  s   	 (   Rb  RV   (   RY   RP   RQ   RR   Rq   (    (   RP   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_get_client_sync/  s    (c         c` s   t  j d  } t  j d  } d d l m } | j i d d d g d 6 } | j | d	 d j   } |  j |  V}	 |	 V}
 |  j |
  V} | | |  d  S(
   NRI  s   dask.dataframei    (   t	   assert_eqi   i   i   RZ   R   (	   R   R   t   dask.dataframe.utilsR  RJ  Rm  R   R   R   (   RY   RP   RQ   RR   RL  Rn  R  Ro  t   ddfR   t   ddf2Rp  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt%   test_serialize_collections_of_futures7  s    c         ` s   t  j d  } t  j d  } d d l m   | j i d d d g d 6 } | j | d	 d j   } |  j |  } | j   }   | j	   |  | j
 | j k s t  |  j   f d
   | |  j   s t  d  S(   NRI  s   dask.dataframei    (   R  i   i   i   RZ   R   c         ` s     |  j    |  S(   N(   R   (   RZ   R\   (   R  (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   T  R   (   R   R   R  R  RJ  Rm  R   R   R[   R   R:  RV   RT   (   RY   RL  Rn  Ro  R  R   R[   (    (   R  s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt*   test_serialize_collections_of_futures_syncG  s    g{Gz?c         C` s   | d k r# t  t j   d  n
 t  |  |  d k r= d St   t   } | j t g  t d  D] } |  | d ^ qc d t d | } | j t	 |  } | j
   S(   NR*  i   i   i   Ru   R   (   R   R*  R   R   Rb   t   _dynamic_workloadRc   Rv   RT   Rg   R[   (   RZ   R   RJ   Rm  Rz   Rn   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  W  s    
	9c         C` s:   |  j  t d d | } | j d d  d k s6 t  d  S(   Ni    R   RS   i(   i4   (   RT   R  R[   RV   (   RY   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   _test_dynamic_workloads_syncg  s    c         C` s   t  |  d d d  S(   NR   g{Gz?(   R  (   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_dynamic_workloads_syncl  s    c         C` s   t  |  d d d  S(   NR   R*  (   R  (   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt"   test_dynamic_workloads_sync_randomp  s    c         c` s   d } |  j  t d d | } | V} t | j  t k s@ t  t | j  | h k s^ t  | | j k s | | j k s t  | d k s t  d  S(   Ns   inc-123i   R_   i   (	   RT   R:   R:  R_   t   bytesRV   R   Rf   R  (   RY   RP   RQ   RR   R_   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_bytes_keysu  s    $c         c` s   t  d  } d } |  j t d d | } | V} t  | j  | k sL t  t | j  | h k sj t  | | j k s | | j k s t  | d k s t  d  S(   Nu    u   inc-123i   R_   i   (   R:  RT   R:   R_   RV   R   Rf   R  (   RY   RP   RQ   RR   t   uni_typeR_   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_unicode_ascii_keys  s    $c         c` s  t  d  } d } |  j t d d | } | V} t  | j  | k sL t  t | j  | h k sj t  | | j k s | | j k s t  | d k s t  |  j t |  } | V}	 |	 d k s t  |  j i d d 6 V}
 |
 d V} | d k s t  d  S(	   Nu    u	   inc-123μi   R_   i   i   i{   u   data-123(	   R:  RT   R:   R_   RV   R   Rf   R  R   (   RY   RP   RQ   RR   R  R_   R   R[   R  R	  t   future3t   result3(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_unicode_keys  s    $c         ` s=   t  j   f d    } t |  |  } | d k s9 t  d  S(   Nc          3` sE     j  d  V}    j t |   }   j |  V} t j |   d  S(   Ni{   (   R   RT   R:   Rh   R   t   Return(   RZ   R\   R]   (   RY   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    i|   (   R   R  R0   RV   (   RM   RY   Ra   R]   (    (   RY   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt,   test_use_synchronous_client_in_async_context  s    c         C` s   |  } t  d | d d d d  d t   } t d  [ } t | d | @ } | j d   t d   } t d	  | j   t d	  Wd  QXWd  QX| j	   } | s t
  Wd  QXd  S(
   NRM   t   scheduler_porti    R  t   silence_logss   distributed.commc         S` s   |  d S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i
   g?(   R   R   Rv   RD   R   Rb   Rc   R   R   R   RV   (   RN   RM   R4   t   sioRJ   Rz   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt#   test_quiet_quit_when_cluster_leaves  s    

c      	   C` sZ   t  j d t  & } t | d d |   } Wd  QXWd  QXt d   | D  sV t  d  S(   Nt   recordR   RM   c         s` s$   |  ] } d  t  | j  k Vq d S(   R   N(   R   t   message(   R`   R_  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   t   warningst   catch_warningsR   R   RZ  RV   (   RM   RP   RQ   RR   R  RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_warn_executor  s    c         #` sA  |  j  t d d d } |  j  t d d d   t j d  V|  j    |  j d   j g  g V} t   f d   | D  s t  | d | d k s t  | d }   j | j	 k r | n | } t
 |  | j g k s t  t
 | | j    j g k st  d t |  k s%t  d	 t |  k s=t  d  S(
   Ni   R   g      ?g?R|   c         3` s3   |  ]) } t  t | j       j g k Vq d  S(   N(   Rk   R   R[  R_   (   R`   R[   (   R   (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    i    R6   R8   (   RT   R8   R6   R   R   t
   call_stackR_   Re   RV   t	   executingRk   R   R   (   RY   RP   RQ   RR   RZ   Rq   R[   R  (    (   R   s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_call_stack_future  s    ("
%c         c` s   |  j  t d d d } x& | j r@ | j r@ t j d  Vq W|  j   V} | j r] | n | } t |  | j g k s t  t | | j  | j	 g k s t  d t
 |  k s t  d  S(   Ni   R   g?g{Gz?R6   (   RT   R6   R  R   R   R  Rk   R   RV   R_   R   (   RY   RP   RQ   RR   R   R[   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_call_stack_all  s    %c         c` s   t  j d  } | j j d d d j t d d j   } x& | j rd | j rd t j d  Vq? W|  j	 |  V} | s t
  d  S(	   Ns
   dask.arrayid   R   i
   R   g      ?gMbP?(   i
   (   R   R   R*  RE  R6   R   R  R   R   R  RV   (   RY   RP   RQ   RR   R   RZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_call_stack_collections  s    -c         c` s   t  j d  } | j j d d d j t d d j   } x& | j rd | j rd t j d  Vq? W|  j	   V} | s~ t
  d  S(	   Ns
   dask.arrayid   R   i
   R   g      ?gMbP?(   i
   (   R   R   R*  RE  R6   R   R  R   R   R  RV   (   RY   RP   RQ   RR   R   RZ   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_call_stack_collections_all  s    -t   worker_kwargst   profile_cycle_intervalc         c` sR  |  j  t t d  d d d | j } t |  V|  j d t   d d t   d  V} | d sj t  |  j d d	 d t    V} | d t d
   | j	 D  | j
 d k s t  |  j d t   d d t    V} d	 | d k  o | d k  n st  t d   | j	 D  s't  |  j d | j  V} | d sNt  d  S(   Ni
   R   g?R   R   t   stopi   R  i    c         s` s   |  ] \ } } | d  Vq d S(   R  N(    (   R`   R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    g333333?c         s` s   |  ] \ } } | d  Vq d S(   R  N(    (   R`   R   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   Rb   R6   Rc   R   R!   R   R*   RV   Rg   t   profile_historyt   profile_recentRZ  (   RY   RP   RQ   RR   Rz   RZ   R\   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_profile  s    ''-#* c         c` s  |  j  t t d  d d d | j } |  j  t t d  d d d | j } t | |  V|  j d  V} |  j d  V} |  j   V} | d | d | d k s t  t t	 j
 d   / }	 |  j d	  V}
 |
 t j   k s t  Wd  QX|	 j   } | st  d  S(
   Ni
   R   g?R   R6   R8   R  RL  s   does-not-exist(   Rb   R6   Rc   R   R8   R!   R   RV   RD   R   R   t   createR   (   RY   RP   RQ   RR   RZ   R\   t   xpt   ypR  R  t   profRw  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_profile_keys  s    ''"c         c` sy   t  d  I } t |  j d t d d d t V} d | j k sF t  | j   VWd  QX| j   } d | k su t  d  S(   Ns   distributed.schedulerR   Rh  R  R  (	   RD   R   R   R   Rv   R  RV   R   R   (   RP   RQ   RR   R  RJ   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_with_name  s    c         c` sE   |  j  t d  } t |  Vt | j  } | j |  k sA t  d  S(   Ni   (   RT   R:   R!   R    R_   RJ   RV   (   RY   RP   RQ   RR   RZ   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt&   test_future_defaults_to_default_client,  s    c         c` s   |  j  t d  } t |  Vt | j d t V} t | j |  } t   } x: | j	 d k r t
 j d  Vt   | d k  sQ t  qQ W| j   Vd  S(   Ni   R   R   g{Gz?(   RT   R:   R!   R   R   R   R    R_   R*   R   R   R   RV   R   (   RY   RP   RQ   RR   RZ   RJ   R   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_future_auto_inform5  s    	c       	   C` sD   t    5 }  t d t d |   } | j s0 t  | j   Wd  QXd  S(   NR   RM   (   RI   R   R   R   RV   R   (   RM   RJ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt$   test_client_async_before_loop_startsE  s    c         #` sY     f d     |  j    d  } | V} | d k s: t  t | j  d k sU t  d  S(   Nc         ` se   t    j   s t  |  d k  r% |  St    |  d  } t    |  d  } | | } | j   S(   Ni   i   (   R   t   get_current_taskRV   R   R   (   RZ   RQ   RR   RY   (   t   fib(    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR  T  s    
i   i   i2   (   RT   RV   Rd   R  (   RY   RP   RQ   RR   R   R[   (    (   R  s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_nested_computeL  s
    	c         c` s
  |  j  d d  V|  j d  V} | d k s3 t  |  j t d  } | j } t |  V|  j  | d  V|  j |  V} | d k s t  ~ x! | | j k r t j	 d  Vq Wt
 j t   |  j |  VWd  QX|  j | d   V} | d  k s t  |  j  d d g d  V|  j d  V} | i d d 6k s<t  |  j  d d g d  V|  j d  V} | i d d 6d d 6k st  |  j d d g  V} | d k st  |  j  d d d d	 g d  V|  j d  V} | i i i d d	 6d 6d 6d d 6k st  d  S(
   NRZ   i   i{   g{Gz?RQ   RR   i   RY   R4  (   t   set_metadatat   get_metadataRV   RT   R:   R_   R!   Rf   R   R   R   R   R  R   (   RY   RP   RQ   RR   R[   R   R_   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_task_metadatac  s6    	 c   	      c` s   t  |  j t t d    V|  j d d  V} | s< t  x& | D] \ } } d | k sC t  qC W|  j d d  V} t | j    | j	 | j	 h k s t  x= | j
   D]/ } x& | D] \ } } d | k s t  q Wq Wd  S(   Ni   R   s   distributed.schedulers   distributed.worker(   R!   Rb   R:   Rc   t   get_scheduler_logsRV   t   get_worker_logsR   R|   R   R[  (	   RY   RP   RQ   RR   t   logsR   R  t   w_logsR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt	   test_logs  s    *c         c` su   t  t  d  } |  j |  } | V} | d k s: t  t | j  | j g k of | j g k n sq t  d  S(   Ni   i   (   R   R:   R   RV   Rk   Rf   R_   (   RY   RP   RQ   RR   RZ   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_avoid_delayed_finalize  s
    c         c` s   t  j j i |  j d 6 q t d  2 } t d t  V} | j j |  j k sW t  Wd  QX| j	   } |  j | k s~ t  | j
   VWd  QXd  S(   Ns   scheduler-addresss   distributed.clientR   (   R   R  R   R   RD   R   R   Rj  RV   R   R   (   RP   RQ   RR   R  RY   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_config_scheduler_address  s    !c   	   
   C` s)  t  j d t    } |  j d   d d  } Wd  QXt | d j  } d | k sY t  d | k sk t  d | k s} t  d	 | k s t  d
 | k s t  t |  d k  s t  t  j d t  @ } d d } x, t d  D] } |  j d   | |  } q WWd  QXt |  d k  s%t  d  S(   NR  c         S` s   |  d S(   Ni   (    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   t   0i i    s   2.00 MBt   larges   ...s   '000s   000'i  i
   c         S` s   |  S(   N(    (   RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   i   (	   R  R  R   RT   R   R  RV   Rd   Rc   (	   RY   RP   RQ   RR   R  R   R  R  Rm  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt&   test_warn_when_submitting_large_values  s    
"c         c` s   t  |  j d t d d V} |  j | j j } t   } xD |  j | j j | k r~ t j d  Vt   | d k  s; t	  q; W| j
   Vd  S(   NR   t   heartbeat_intervali
   g?i   (   R   R   R   t   clientsR  t	   last_seenR*   R   R   RV   t   _close(   RP   RQ   RR   RY   t   lastR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR    s    	s   cloudpickle Py27 issuec         c` s9   i d d 6} |  j  | j d  V} | d k s5 t  d  S(   Ni   RQ   (   RT   R   RV   (   RY   RP   RQ   RR   R4  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_unhashable_function  s    c         c` sj   t  j j i d d 6 @ t |  j d t V} t d   t |  j  D  sU t	  Wd  QX| j
   Vd  S(   Ns   hello-worlds   client-nameR   c         s` s   |  ] } d  | k Vq d S(   s   hello-worldN(    (   R`   Rh  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   R   R  R   R   R   R   RZ  Rk   R  RV   R  (   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_name  s    +c         C` s   t  | d d |  + } | j t d  j   d k s= t  Wd  QXt  | d d |  + } | j t d  j   d k s t  Wd  QXd  S(   NR   RM   i   i   i   (   R   RT   R:   R[   RV   (   RM   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt#   test_client_doesnt_close_given_loop  s    *c         c` sf   d |  j  d _ t t j d    } | j   V|  j   VWd  QX| j   } d | k sb t  d  S(   Ni
   s   scheduler-infos   distributed.clientt   BrokenPipeError(	   t   _periodic_callbackst   intervalRD   R   R   R   R  R   RV   (   RY   RP   R  R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_quiet_scheduler_loss  s    t   USERs   no USER env variablec         C` s   t  j d  d d l m } t d i i | d 6d 6  \ } \ } } t | d d |  Z } t j j i d	 d
 6 8 | j	   } d t
 j d d } | | k s t  Wd  QXWd  QXWd  QXd  S(   Nt   bokehi    (   t   BokehSchedulert   scheduler_kwargsiC0  R  R   RM   s   http://foo-{USER}:{port}/statuss   distributed.dashboard.links   http://foo-R  s   :12355/status(   R  iC0  (   R   R   t   distributed.bokeh.schedulerR  R4   R   R   R  R   R   R  t   environRV   (   RM   R  RP   RQ   RR   RY   R  t   link(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt"   test_diagnostics_link_env_variable  s    		c       	   c` s   t  j j i d d 6 k t   }  t d d t } t j t t	 f  
 | VWd  QXt   } | j
   V| |  d k  s t  Wd  QXd  S(   Nt   10mss!   distributed.comm.timeouts.connects   127.0.0.1:3755R   i   (   R   R  R   R*   R   R   R   R   R   R  R   RV   (   R   RY   R  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_timeout_2  s    		c       	   c` s   d d  l  }  d d  l }  |  j j d |  j j f g  } |  j j |  } | j d  t j	 j
 i d d 6 I t d d t } t j t t f  
 | VWd  QX| j d t  VWd  QX| j   d  S(	   Ni    t   /i  R  s!   distributed.comm.timeouts.connects   127.0.0.1:8080R   t   fast(   t   tornado.webt   tornado.httpservert   webt   Applicationt   RequestHandlert
   httpservert
   HTTPServert   listenR   R  R   R   R   R   R   R   R  R  R  (   t   tornadot   applicationt   http_serverRY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_active_bad_port  s    !c         ` s#   t      f d    } |   d  S(   Nc      	   3` s  d d  l  } t |  j d t d d d g V} z_| j t d  Vd k sP t  | j | j d  V| j d  Vt	 j
 t   | j t  V} Wd  QX| j d	   t  } t |  Vt	 j
 t   | j | d
   VWd  QX| j d    V} t | j    d d g k st  | j d    V} | d k s>t  t	 j
 t   | j d    VWd  QXt	 j
 t   | j d    VWd  QXWd  | j   VXd  S(   Ni    R   t   serializersR   t   msgpacki   i   i   c         S` s   |  S(   N(    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   5  R   R  c           S` s   d S(   Ni   (    (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   =  R   c           S` s   d S(   Ni   (    (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   ?  R   c           S` s   t  S(   N(   R:   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   D  R   c           S` s   t  S(   N(   R:   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   F  R   (   RH  R   R   R   RT   R:   RV   R   R   R   R   R   R!   Rh   Rb  Rk   R[  Rf  R  (   RP   RQ   RR   RK  RY   R   R[   (   R  (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test&  s*    "$(   R@   (   R  R  (    (   R  s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_turn_off_pickle$  s    $c         c` s   d d  l  } t |  j d t d d d g d d g V} z: | j | j d   V} t j t   | V} Wd  QXWd  | j	   VXd  S(   Ni    R   R  R  R   t   deserializersi   (
   RH  R   R   R   R   R   R   R   R   R  (   RP   RQ   RR   RK  RY   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_de_serializationM  s    	c         c` sx   d d  l  } t |  j d t d d g V} z: | j | j d   V} t j t   | V} Wd  QXWd  | j	   VXd  S(   Ni    R   R  R  i   (
   RH  R   R   R   R   R   R   R   R   R  (   RP   RQ   RR   RK  RY   R   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_de_serialization_noneb  s    c         c` s/   t  |  j d t V} | j   V| j   d  S(   NR   (   R   R   R   R   R   (   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_repr_closedr  s    c         C` s6   t  d |  d t   } | j   | j   Wd  QXd  S(   NRM   R  (   R   Rv   R   R   (   RM   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_client_repr_closed_syncy  s    
c         c` s   t  t  d d d } t  t  d d d } t j j t | j   | j     } |  j | | g  \ } } t | | g  V| | j | | j k  | j	 t
 | j  j | j	 t
 | j  j k  k s t  d  S(   Ni   R   RQ   i   i
   (   RQ   i   (   RQ   i
   (   R   R:   R   t   orderR   t   __dask_graph__R   R!   R_   Rf   R2   R   RV   (   RY   RP   R  RZ   R\   R  t   fxt   fy(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_nested_prioritization  s    'c         c` su   d   } |  j  d  V} |  j | |  } ~ t |  V| j d k sN t  t j d  V| j d k sq t  d  S(   Nc         S` s   t  d   d  S(   Nt   lol(   R   (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   bad_fn  s    i   R  g?(   R   RT   R!   R   RV   R   R   (   RY   RP   RQ   RR   R  RZ   R\   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_scatter_error_cancel  s    	c          C` s=   t  t j  }  t j   d k  s9 t t |  j      d  S(   Ni(   (   R8  R  t   _activeR  RV   Rk   R[  (   t   active(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_no_threads_lingering  s    c         c` sq   t  |  j d t d t V} | j s+ t  | j   Vt  |  j d t d t V} | j sb t  | j   Vd  S(   NR   t   direct_to_workers(   R   R   R   R  RV   R   Rv   (   RP   RQ   RR   RY   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_direct_async  s    c         C` s8   |  j  s t  d   } |  j |  j   s4 t  d  S(   Nc           S` s
   t    j S(   N(   R   R  (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    (   R  RV   RT   R[   (   RY   Ra   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_direct_sync  s    	c         c` s~   t  |  j d t V} t  |  j d t V} | j t d  } t j t   | j t |  Wd  QX| j   V| j   Vd  S(   NR   i   (	   R   R   R   RT   R:   R   R   R  R   (   RP   RQ   RR   R  R  R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_mixing_clients  s    c         c` s\   t  j t  d d d } t  j t  | d d } |  j |  } | Vd k sX t  d  S(   Ni   R   RZ   R\   i   (   RZ   i   (   R\   i   (   R   R   R:   R   RV   (   RY   RP   RQ   RR   RZ   R\   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_tuple_keys  s    c         c` s   t  j d  } | j j d  } |  j d   t d  d | } x | j s_ t j d  VqE Wt | j  d k s{ t	  t
 d   | j D  s t	  d  S(	   NRH  i c         S` s   |  | S(   N(    (   RQ   RR   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR     R   id   RR   g{Gz?ie   c         s` s   |  ] } | j  d   Vq d S(   t   ndarrayN(   Ry   (   R`   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pys	   <genexpr>  s    (   R   R   R*  Rb   Rc   Rf   R   R   Rd   RV   RZ  (   RY   RP   RQ   RR   RK  RZ   Rz   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_map_large_kwargs_in_graph  s    !c      	   c` s   d   } t  j j d t  / |  j |  } t j t  
 | VWd  QXWd  QXt  j j d t   | j	   V| VWd  QXd  S(   Nc           S` s   t  j j d  s t  d  S(   NR  (   R   R  R   RV   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    R  (
   R   R  R   Rv   RT   R   R   RV   R   t   retry(   RY   RP   RQ   RR   Ra   R   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt
   test_retry  s    	c         c` s   d   } |  j  |  } |  j  t |  } t j t  
 | VWd  QXt j j d d  X | j   V| V} | d k s t	  | j   V| j   V| V} | d k s t	  Wd  QXd  S(   Nc           S` s   t  j j d  S(   NR  (   R   R  R   (    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    R  id   ie   (
   RT   R:   R   R   R  R   R  R   R&  RV   (   RY   RP   RQ   RR   Ra   RZ   R\   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_retry_dependencies  s    	c         c` s   d   } |  j  t d d d } |  j  | | d d } ~ t j t  
 | VWd  QXt j j d d  ) | j   V| V} | d k s t	  Wd  QXd  S(	   Nc         S` s   t  j j d  d S(   NR  i   (   R   R  R   (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyRa     s    i   R_   RZ   R\   R  id   ie   (
   RT   R:   R   R   R  R   R  R   R&  RV   (   RY   RP   RQ   RR   Ra   RZ   R\   R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_released_dependencies  s    	c         c` s   t  j d  d d l m } |  j t t d  d d V|  j d t  V\ } } t	 | |  sh t
  t d  0 } |  j d	 |  Vt j j |  s t
  Wd  QXd  S(
   Ns   bokeh.plottingi    (   t   Modeli
   R   g?t   plott   htmlt   filename(   R   R   t   bokeh.modelR*  Rb   R6   Rc   R   R   RW   RV   R3   R  R  R  (   RY   RP   RQ   RR   R*  R  t   figureR  (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_profile_bokeh  s    c         c` sA  |  j  t d d  } t i t d d f d 6t | d f d 6d d  } i d d 6d d 6| d d f d	 6| d	 d f d
 6} |  j | d
 d t } | V} | d k s t  t i | d d f d 6| d d f d 6t d | f d 6d d  }	 i d d 6d d 6|	 d d f d 6}
 |  j |
 d d t V} | d k s=t  d  S(   Ni   i   t   _0t   _1t   _2t   _3RQ   RR   RY   R4  R0   i   t   _4R   Ra   R   i   (   R1  R2  (   R1  R2  (   RT   R   R   R   Rv   RV   (   RY   RP   RQ   RR   R   t   subgraphR!  R  R[   t	   subgraph2t   dsk2(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt)   test_get_mix_futures_and_SubgraphCallable  s"    /4	$c   	      c` s   t  j d  } d d  l } | j i t d d  d 6 } | j | d d j   } | j d    } | d j d	  | d <| j d
    } | d j d	  | d <|  j	 |  V} | j
 | j d	   s t  d  S(   Ns   dask.dataframei    i   i   RZ   R   i   c         S` s   |  S(   N(    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   B  R   t   f8c         S` s   |  S(   N(    (   RZ   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   D  R   (   R   R   RI  RJ  Rc   Rm  R   t   map_partitionst   astypeR   t   equalsRV   (	   RY   RP   RQ   RR   Rn  RL  Ro  R  R[   (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt8   test_get_mix_futures_and_SubgraphCallable_dask_dataframe;  s    c         C` sl   t  |  d d | d t J } | j d  } | j   | j d    } d t |  k sb t  Wd  QXd  S(   NR   RM   R  i   c         S` s   |  j  S(   N(   t   events(   t   dask_scheduler(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyR   N  R   Rh   (   R   R   R   R[   Rf  R   RV   (   RP   RM   RJ   R   t   resp(    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   test_direct_to_workersJ  s
    
(   t   *(   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.2i   (   s	   127.0.0.1i   (   s	   127.0.0.2i   (   s	   127.0.0.1i   (   s	   127.0.0.2i   (   s	   127.0.0.1i   (   s	   127.0.0.1i   (   s	   127.0.0.2i   (   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   (   i   i   (   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   (   s	   127.0.0.2i   (   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.2i   (   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.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   (   i   i   (  t
   __future__R    R   R   t   operatorR   t   collectionsR   R  R   R   R:  R   R  R   R*  Ri   R  R   R*   R   R  R  R   R  R   t   toolzR   R	   R
   R   R   R   R   R   R  R   t   tornado.ioloopR   R   R   t   dask.optimizationR   t   dask.bagR   R   RL  R   R   R   R   R   R   R   R   R   R   t   distributed.commR   t   distributed.clientR   R    R!   R"   R#   R$   R%   R&   R'   Rr  R(   R)   t   distributed.metricst   distributed.schedulerR+   R,   t   distributed.sizeofR-   t   distributed.utilsR.   R/   R0   R1   R2   R3   t   distributed.utils_testR4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   RF   RG   RH   RI   RJ   RY   RK   R  RL   RM   RN   RO   RP   RQ   RR   R   R   R^   Rt   Rw   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  t   markR   R  R  R  R  t   skipift   platformRy   R  R  R   R#  R$  R%  R&  R(  R)  R,  R-  R.  R0  R7  R<  R=  R>  RG  RM  RO  RQ  RS  RT  RU  RV  RX  R\  Rd  Re  Rf  Rg  Ri  Rl  Rp  Ru  Ry  R}  R  R  R  R  R  R  R  R  t   parametrizeRv   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  RD  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+  R2  Rj   R5  R9  R<  R=  R>  RC  RK  RQ  RR  RV  RW  RZ  R\  R]  R_  R`  Ra  Rc  Rg  Rh  Rj  Rm  Rq  Rt  Rx  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  R  R  R  t   xfailR  R  R  R
  R  R  R  R  R  R  R  R"  R#  R%  R&  R'  R+  R-  R/  R0  R5  R6  R:  R<  R>  RA  RG  RH  RK  RV  RW  RX  R[  R\  R]  R^  Rc  Rg  Ri  Rj  Rr  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  R  R  R  R  R  R  R  R  R
  R  R  R  R  R  R  R  R  R   R!  R"  R#  R%  R'  R(  R)  R0  R9  R>  RB  t!   distributed.tests.py3_test_client(    (    (    s<   lib/python2.7/site-packages/distributed/tests/test_client.pyt   <module>   sl  :F@.@-/			
				
		!									$	$	$!			

				$
	
					
%%+
'		
									$,!!	"		)	/%	
		'		!				$
			
	)		
		$		%			$	$%%(%
%			(%%	(
%%	%%%	&	% '			!	
		$	@+		B4,				%/(%		%%$		"!#
				%	+.							"""
"
%%		&	"		
*$)	!				