ó
¦–Õ\c           @   sö  d  d l  Z  e  j d ƒ Z d  d l m Z d  d l m Z d  d l m Z d  d l	 Z	 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 m Z m Z d  d l m Z m Z m Z m Z d e e ƒ k re e d e ƒZ e e d e ƒZ n  d „  Z e d e ƒ d „  ƒ Z d „  Z d „  Z  d „  Z! d „  Z" e d e ƒ d „  ƒ Z# d „  Z$ e  j% j& d d ƒ e  j% j' d d d d g ƒ d „  ƒ ƒ Z( e d e ƒ d „  ƒ Z) d „  Z* d „  Z+ d  „  Z, d! „  Z- d S("   iÿÿÿÿNt   distributed(   t   partial(   t   add(   t   gen(   t   persistt   delayedt   compute(   t   get_named_args(   t   Delayed(   t   tmpdir(   t   waitt   Client(   t   gen_clustert   inct   clustert   loopt   should_check_statec          C   s   d d l  m }  d  S(   Niÿÿÿÿ(   R   (   t   dask.distributedR   (   R   (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_can_import_client   s    t   clientc   	      c   s¶   t  t ƒ d ƒ } t | ƒ \ } t | ƒ V| j | j k sV | j | j k sV t ‚ t  t ƒ d ƒ } t | d ƒ \ } } t | ƒ V| j | j k s² | j | j k s² t ‚ d  S(   Ni   i
   (   R   R   R   R
   t   keyt   datat   AssertionError(	   t   ct   st   at   bt   xt   x2t   yt   y2t   one(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_persist   s    *c         C   sÊ  t  ƒ  »\ } \ } } t | d d |  ƒt d ƒ d } | d } | d } t i | d 6d d | g d 6| d f d d g ƒ } t | d	 d t ƒ s¥ t ‚ t | d	 d d t ƒ sÆ t ‚ t | d d	 t ƒ sã t ‚ i d
 d 6d d d g d 6d d d g f } t | Œ  | k s't ‚ t | | g | d d g d t ƒ} | d	 d	 | k set ‚ | d	 d | k st ‚ | d j ƒ  d k s›t ‚ | d d d g f k sºt ‚ Wd  QXWd  QXd  S(   Nt   addressR   i   i   i   R   R   i   i    i   i   i   t   traverse(   i   i   (	   R   R   R   R   t
   isinstanceR   R   R   t   False(   R   R   R   R   R   t   resultt   solt   res(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_persist_nested)   s     

5!,$c   
      C   sû   t  j d ƒ } t  j d ƒ } | j i d d d g d 6ƒ } t ƒ  ¯ \ } \ } } t | d d |  ƒ„ } | j | | g ƒ } | j | ƒ }	 | j j |	 j	 ƒ  | j
 | | g d	 d
 ƒƒ t  j t ƒ  | j d d g ƒ }	 Wd  QXWd  QXWd  QXd  S(   Nt   pandass   dask.dataframei   i   i   R   R!   R   t   axisi    (   t   pytestt   importorskipt	   DataFrameR   R   t   scattert   from_delayedt   utilst	   assert_eqR   t   concatt   raisest	   TypeError(
   R   t   pdt   ddt   dfR   R   R   R   t   futurest   ddf(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt!   test_futures_to_delayed_dataframe>   s    .c         C   sŸ   t  j d ƒ } d d d g } t ƒ  r \ } \ } } t | d d |  ƒG } | j | | g ƒ } | j | ƒ } t | ƒ | | k s t ‚ Wd  QXWd  QXd  S(   Ns   dask.bagi   i   i   R!   R   (   R+   R,   R   R   R.   R/   t   listR   (   R   t   dbt   LR   R   R   R   R8   (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_futures_to_delayed_bagL   s    c         C   sþ   t  j d ƒ } d d l m } t  j d ƒ } | j d ƒ } t ƒ  ² \ } \ } } t | d d |  ƒ‡ } | j | | g ƒ }	 | j g  |	 D]' }
 | j	 |
 d | j
 d	 | j ƒ^ q d
 d ƒ} | | j ƒ  | j | | g d
 d ƒƒ Wd  QXWd  QXd  S(   Ns
   dask.arrayiÿÿÿÿ(   R1   t   numpyi   R!   R   t   shapet   dtypeR*   i    (   R+   R,   t   dask.array.utilsR1   t   arangeR   R   R.   t   concatenateR/   R@   RA   R   (   R   t   daR1   t   npR   R   R   R   R   R8   t   ft   A(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_futures_to_delayed_arrayV   s    	:c         c   s’   t  j j d d ƒ  t t ƒ d ƒ j ƒ  } Wd  QXt j d ƒ V| j sR t	 ‚ t t ƒ d ƒ j d d ƒ } t j d ƒ V| j sŽ t	 ‚ d  S(   Nt	   schedulert   synci   g{®Gáz„?i   (
   t   daskt   configt   setR   R   R   R   t   sleept   tasksR   (   R   R   R   R   R   (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt&   test_local_get_with_distributed_activec   s    c      	   C   sY   d d l  m } t ƒ  : \ } \ } } t j | d d |  ƒ | ƒ  Wd  QXWd  QXd  S(   Ni   (   t   test_to_hdfR!   R   (   t   dataframe.io.tests.test_hdfRR   R   R    R   (   R   RR   R   R   R   (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_to_hdf_distributedo   s    t   reasons   HDF not multi-process safet   npartitionsi   i   i
   c         C   s_   d d l  m } t ƒ  @ \ } \ } } t j | d d | ƒ | d  |  ƒ Wd  QXWd  QXd  S(   Ni   (   t   test_to_hdf_schedulersR!   R   (   RS   RW   R   R    R   t   None(   RV   R   RW   R   R   R   (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt!   test_to_hdf_scheduler_distributedv   s    c   	      c   s’   t  j d ƒ } t  j d ƒ } | j i d d d d g d 6d d d d g d	 6ƒ } | j | d
 d ƒ} | j d	 ƒ j d ƒ } |  j | ƒ Vd  S(   NR)   s   dask.dataframei   i   i   i   R   i    R   RV   t   count(   R+   R,   R-   t   from_pandast   groupbyt   aggR   (	   R   R   R   R   R5   R6   R7   R9   R%   (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_serializable_groupby_agg   s    5c         C   sã   t  ƒ  Ô \ } \ } } t | d d |  ƒ© } t d ƒ t d ƒ } } t t ƒ | | ƒ } t t ƒ | | ƒ } t t ƒ | | ƒ }	 | j |	 ƒ }
 t t ƒ |
 d ƒ } | j d d ƒ d d	 d k sÓ t ‚ Wd  QXWd  QXd  S(
   NR!   R   i   i   i
   RJ   s   dask.distributedi   i   (   R   R   R   R   R   R   R   (   R   R   R   R   R   R   R   t   xxt   yyt   xxyyt   xxyy2t   xxyy3(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_futures_in_graph‹   s    c         C   sÏ   t  j d ƒ } t  j d ƒ | j j } t ƒ  ˜ \ } \ } } t | d d |  ƒm t ƒ  ] } | j d d d	 ƒ} | j | ƒ | j	 | ƒ } | | | ƒ | j
 | j
 k s¹ t ‚ Wd  QXWd  QXWd  QXd  S(
   Ns
   dask.arrayt   zarrR!   R   i   t   chunksi   (   i   i   (   i   i   (   R+   R,   R0   R1   R   R   R	   t   zerost   to_zarrt	   from_zarrRf   R   (   R   RE   R1   R   R   R   t   dt   a2(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_zarr_distributed_roundtrip™   s    c         C   s¿   t  j d ƒ } t  j d ƒ } t ƒ  ’ \ } \ } } t | d d |  d i t d 6ƒZ } t  j t ƒ B d
 } | j d d	 | ƒ} | j | d	 | ƒ} | j	 | ƒ Wd  QXWd  QXWd  QXd  S(   Ns
   dask.arrayRe   R!   R   t   client_kwargst   set_as_defaulti   i   Rf   (   i   i   (   i   i   (
   R+   R,   R   R   t   TrueR3   t   RuntimeErrort   onest
   zeros_likeRh   (   R   RE   Re   R   R   R   R   t   z(    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt#   test_zarr_in_memory_distributed_err§   s    c            s   t  ƒ  € \ } \ } } t | d d |  ƒU } t d „  ƒ ƒ  ‰  ˆ  j d | ƒ d k sa t ‚ | j ‡  f d †  ƒ s t ‚ Wd  QXWd  QXd  S(   NR!   R   c           S   s   d S(   Ni   (    (    (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   <lambda>·   t    RJ   i   c            s   |  j  ˆ  j ƒ S(   N(   t   storyR   (   t   dask_scheduler(   R   (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyRu   ¹   Rv   (   R   R   R   R   R   t   run_on_scheduler(   R   R   R   R   R   (    (   R   s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   test_scheduler_equals_client´   s
    (.   R+   R,   R    t	   functoolsR   t   operatorR   t   tornadoR   RL   R   R   R   t   dask.compatibilityR   t   dask.delayedR   t
   dask.utilsR	   t   distributed.clientR
   R   t   distributed.utils_testR   R   R   R   R$   R   Ro   R    R(   R:   R>   RI   RQ   RT   t   markt   xfailt   parametrizeRY   R^   Rd   Rl   Rt   Rz   (    (    (    s:   lib/python2.7/site-packages/dask/tests/test_distributed.pyt   <module>   s:   "				
		*			