ó
ßüÚ\c           @` sŒ   d  d l  m Z m Z m Z d  d l m Z d  d l m Z m Z d  d l	 m
 Z
 e d e ƒ d „  ƒ Z e d g  d e ƒ d „  ƒ Z d	 S(
   i    (   t   print_functiont   divisiont   absolute_import(   t   Worker(   t   inct   gen_cluster(   t   SchedulerPlugint   clientc   	      c` sÌ   d t  f d „  ƒ  Y} | ƒ  } | j | ƒ | | j k sA t ‚ | j d k sV t ‚ |  j t d ƒ } |  j t | ƒ } |  j t | ƒ } | V| j d k s¦ t ‚ | j | ƒ | | j k sÈ t ‚ d  S(   Nt   Counterc           B` s   e  Z d  „  Z d „  Z RS(   c         S` s#   | |  _  | j |  ƒ d |  _ d  S(   Ni    (   t	   schedulert
   add_plugint   count(   t   selfR	   (    (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyt   start   s    	c         _` s.   | d k r* | d k r* |  j  d 7_  n  d  S(   Nt
   processingt   memoryi   (   R   (   R   t   keyR   t   finisht   argst   kwargs(    (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyt
   transition   s    (   t   __name__t
   __module__R   R   (    (    (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyR   
   s   	i    i   i   (   R   R   t   pluginst   AssertionErrorR   t   submitR   t   remove_plugin(	   t   ct   st   at   bR   t   countert   xt   yt   z(    (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyt   test_simple   s    
	t   ncoresc         #` s  g  ‰  d t  f ‡  ‡ f d †  ƒ  Y} | ƒ  } ˆ j | ƒ ˆ  g  k sM t ‚ t ˆ j ƒ } t ˆ j ƒ } | V| V| j ƒ  V| j ƒ  Vˆ  d | j f d | j f d | j f d | j f g k sÍ t ‚ g  ˆ  (ˆ j | ƒ t ˆ j ƒ V} | j ƒ  Vˆ  g  k st ‚ d  S(   Nt   MyPluginc           ` s,   e  Z ‡  ‡ f d  †  Z ‡  ‡ f d †  Z RS(   c         ` s)   | ˆ k s t  ‚ ˆ  j d | f ƒ d  S(   Nt
   add_worker(   R   t   append(   R   t   workerR	   (   t   eventsR   (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyR&   *   s    c         ` s)   | ˆ k s t  ‚ ˆ  j d | f ƒ d  S(   Nt   remove_worker(   R   R'   (   R   R(   R	   (   R)   R   (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyR*   .   s    (   R   R   R&   R*   (    (   R)   R   (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyR%   )   s   R&   R*   (   R   R
   R   R   t   addresst   closeR   (   R   R%   t   pluginR   R   (    (   R)   R   sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyt   test_add_remove_worker%   s*    		N(   t
   __future__R    R   R   t   distributedR   t   distributed.utils_testR   R   t   distributed.diagnostics.pluginR   t   TrueR#   t   FalseR.   (    (    (    sH   lib/python2.7/site-packages/distributed/diagnostics/tests/test_plugin.pyt   <module>   s
   