ó
ßüÚ\c           @   s’  d  d l  Z  d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 m Z d  d l	 m Z m Z m Z d  d l m Z d  d	 l m Z e
 d
 e ƒ d „  ƒ Z e
 d
 e ƒ d „  ƒ Z e
 d
 e ƒ d „  ƒ Z e
 d
 e ƒ d „  ƒ Z d „  Z e
 d
 e ƒ d „  ƒ Z d „  Z e
 d
 e ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" e
 d
 e ƒ d „  ƒ Z# d S(   iÿÿÿÿN(   t   delayed(   t   Client(   t
   futures_of(   t   time(   t   gen_clustert   inc(   t   clientt   cluster_fixturet   loop(   t
   Serialized(   t   genR   c   	      c   si  t  |  j |  j f d t ƒV} t  |  j |  j f d t ƒV} | j t d ƒ ƒ V} | j d | ƒ V} d |  j d j k sƒ t	 ‚ t
 |  j d j d d t ƒ sª t	 ‚ t j t ƒ  } | j d | ƒ V} Wd  QXd t | j ƒ k sð t	 ‚ d t | j ƒ k st	 ‚ | j j ƒ  V} | d k s-t	 ‚ | j j ƒ  V} | d k sOt	 ‚ | j ƒ  V| j ƒ  Vd  S(   Nt   asynchronousi   t   datat   publisht   exists(   R   (   R   (   R   t   ipt   portt   Truet   scattert   ranget   publish_datasett
   extensionst   datasetst   AssertionErrort
   isinstanceR	   t   pytestt   raisest   KeyErrort   strt   valuet	   schedulert   publish_listt   close(	   t   st   at   bt   ct   fR   t   outt   exc_infot   result(    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_publish_simple   s     'c   	      c   s	  t  |  j |  j f d t ƒV} t  |  j |  j f d t ƒV} z¯ x¨ d
 d d g D]— } | j t d ƒ ƒ V} | j | d | ƒV} | |  j d j k sŸ t	 ‚ t
 |  j d j | d	 t ƒ sÆ t	 ‚ | j j ƒ  V} | | k sQ t	 ‚ qQ WWd  | j ƒ  | j ƒ  Xd  S(   NR   R"   R#   g      "@i   i   t   nameR   R   (   R"   R#   (   R   R   R   R   R   R   R   R   R   R   R   R	   R   R   R    (	   R!   R"   R#   R$   R%   R*   R   R&   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_publish_non_string_key'   s    $
c   	      c   s_  t  |  j |  j f d t ƒV} t  |  j |  j f d t ƒV} | j d d d g ƒ V} | j d | ƒ Vd |  j | d j k sˆ t ‚ | j	 d d ƒ V} t
 | ƒ t
 | ƒ k s¹ t ‚ | j | ƒ V} | d d d g k sä t ‚ t j t ƒ  } | j	 d d ƒ V} Wd  QXd	 t | j ƒ k s*t ‚ d t | j ƒ k sEt ‚ | j ƒ  V| j ƒ  Vd  S(
   NR   i    i   i   R   s   published-dataR*   t   nonexistents	   not found(   R   R   R   R   R   R   t	   who_wantst   keyR   t   get_datasett   lent   gatherR   R   R   R   R   R    (	   R!   R"   R#   R$   R%   R   R(   R&   R'   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_publish_roundtrip=   s     c   	      c   s  |  j  d d d g ƒ V} |  j d | ƒ V| d j } ~ |  j j d d ƒ Vd | j d j k sj t ‚ t ƒ  } x: | | j	 k r¯ t
 j d ƒ Vt ƒ  | d k  sv t ‚ qv Wt j t ƒ  } |  j d d ƒ V} Wd  QXd	 t | j ƒ k sö t ‚ d t | j ƒ k st ‚ d  S(
   Ni    i   i   R   R*   R   g{®Gáz„?i   s	   not found(   R   R   R.   R   t   publish_deleteR   R   R   R   R-   R
   t   sleepR   R   R   R/   R   R   (	   R$   R!   R"   R#   R   R.   t   startR'   R(   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_unpublishV   s    	c         C   sœ   |  j  d d d g ƒ } |  j d | ƒ |  j d d ƒ t j t ƒ  } |  j d d ƒ } Wd  QXd t | j ƒ k s} t	 ‚ d t | j ƒ k s˜ t	 ‚ d  S(   Ni    i   i   R   R*   s	   not found(
   R   R   t   unpublish_datasetR   R   R   R/   R   R   R   (   R   R   R'   R(   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_unpublish_syncn   s    c         c   sm   t  t ƒ d ƒ } t  t ƒ d ƒ } |  j d | d | ƒ V|  j j ƒ  V} t | ƒ d d h k si t ‚ d  S(   Ni   i   t   xt   y(   R    R   R   R   R   t   setR   (   R$   R!   R"   R#   R9   R:   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_publish_multiple_datasetsz   s
    c         C   sE  t  t ƒ d ƒ } t  t ƒ d ƒ } |  j d | d | ƒ |  j d d ƒ t j t ƒ  } |  j d d ƒ } Wd  QX|  j ƒ  } t	 | ƒ d h k s› t
 ‚ d t | j ƒ k s¶ t
 ‚ d t | j ƒ k sÑ t
 ‚ |  j d d ƒ t j t ƒ  } |  j d d ƒ } Wd  QXd t | j ƒ k s&t
 ‚ d t | j ƒ k sAt
 ‚ d  S(   Ni   i   R9   R:   R*   s	   not found(   R    R   R   R7   R   R   R   R/   t   list_datasetsR;   R   R   R   (   R   R9   R:   R'   R(   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt%   test_unpublish_multiple_datasets_sync„   s    c         c   s¯  t  j d ƒ } t |  j |  j f d t ƒV} t |  j |  j f d t ƒV} | j d d d g ƒ } | j | ƒ } t t	 | ƒ ƒ d k s’ t
 ‚ d „  t	 | ƒ Dƒ } | t | j ƒ k sÃ t
 ‚ | j d | ƒ Vt t	 | ƒ ƒ d k sò t
 ‚ | j d ƒ V}	 t |	 j j ƒ  ƒ t | j j ƒ  ƒ k s2t
 ‚ d	 „  |	 j j ƒ  Dƒ d	 „  | j j ƒ  Dƒ k sjt
 ‚ | j |	 ƒ V}
 |
 d d d g k s•t
 ‚ | j ƒ  V| j ƒ  Vd  S(
   Ns   dask.bagR   i    i   i   i   c         S   s   h  |  ] } | j  ’ q S(    (   R.   (   t   .0R%   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pys	   <setcomp>¦   s   	 R   c         S   s   h  |  ] } | j  ’ q S(    (   R.   (   R?   R%   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pys	   <setcomp>°   s   	 (   R   t   importorskipR   R   R   R   t   from_sequencet   persistR0   R   R   R;   t   daskR   R/   t   keyst   valuest   computeR    (   R!   R"   R#   t   dbR$   R%   t   bagt   bagpRD   R(   R&   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_publish_bagœ   s"    08c         C   sL   xE d d d g D]4 } d } | |  j  | <|  j | ƒ | k s t ‚ q Wd  S(   NR.   i   R   (   R.   R.   (   R   R/   R   (   R   R.   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_datasets_setitem¸   s    c         C   sP   xI d d d g D]8 } d } |  j  | d | ƒ|  j | | k s t ‚ q Wd  S(   NR.   i   R   R*   (   R.   R.   (   R   R   R   (   R   R.   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_datasets_getitem¿   s    c         C   sY   xR d d d g D]A } d } |  j  | d | ƒ|  j | =| |  j ƒ  k s t ‚ q Wd  S(   NR.   i   R   R*   (   R.   R.   (   R   R   R=   R   (   R   R.   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_datasets_delitemÆ   s
    
c         C   sg   |  j  d „  t d ƒ Dƒ   t |  j j ƒ  ƒ } | g  t d ƒ D] } t | ƒ ^ qB k sc t ‚ d  S(   Nc         S   s   i  |  ] } | t  | ƒ “ q S(    (   R   (   R?   t   n(    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pys
   <dictcomp>Ï   s   	 i
   (   R   R   t   listR   RD   R   R   (   R   RD   RN   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_datasets_keysÎ   s    c         C   s5   d \ } } |  j  d | ƒ | |  j k s1 t ‚ d  S(   NR.   R   (   R.   R   (   R   R   R   (   R   R.   R   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_datasets_containsÔ   s    c         C   sr   g  t  d ƒ D] } | ^ q } |  j d „  | Dƒ   x5 t |  j ƒ D]$ \ } } | t | ƒ k sF t ‚ qF Wd  S(   Ni
   c         S   s   i  |  ] } | t  | ƒ “ q S(    (   R   (   R?   R.   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pys
   <dictcomp>Ü   s   	 (   R   R   t	   enumerateR   R   R   (   R   RN   RD   R.   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_datasets_iterÚ   s    c         c   sÔ   t  | j d t d d g ƒV} z¢ | j d d d d g ƒ V| j d ƒ V} | d k s^ t ‚ t j t ƒ  | j d d	 „  ƒ VWd  QX|  j d
 d „  ƒ Vt j t ƒ  | j d
 ƒ VWd  QXWd  | j	 ƒ  VXd  S(   NR   t   serializerst   msgpackR9   i   i   i   R:   c         S   s   |  S(   N(    (   R9   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   <lambda>ê   t    t   zc         S   s   |  S(   N(    (   R9   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyRV   ì   RW   (   i   i   i   (
   R   t   addressR   R   R/   R   R   R   t	   TypeErrorR    (   R$   R!   R"   R#   t   c2R(   (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   test_pickle_safeá   s    ($   R   RC   R    t   distributedR   t   distributed.clientR   t   distributed.metricsR   t   distributed.utils_testR   R   R   R   R   t   distributed.protocolR	   t   tornadoR
   t   FalseR)   R+   R2   R   R6   R8   R<   R>   RJ   RK   RL   RM   RP   RQ   RS   R\   (    (    (    s=   lib/python2.7/site-packages/distributed/tests/test_publish.pyt   <module>   s.   	
							