ó
úR‹_c           @@ s¤   d  d l  m Z m Z d  d l j Z d  d l m Z d  d l m	 Z	 d  d l
 m Z d  d l
 m Z d e j f d „  ƒ  YZ d	 „  Z e d
 k r  e j ƒ  n  d S(   i    (   t   absolute_importt   print_functionN(   t   config(   t   CFFI_BACKEND(   t   READ(   t   WRITEt   Testc           B@ se   e  Z d	 Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 e j d ƒ d „  ƒ Z RS(
   c         C@ sA   t  t |  ƒ j ƒ  t j d t ƒ |  _ |  j j d ƒ |  _ d  S(   Nt   defaultg{®Gáz„?(   t   superR   t   setUpR   t   loopt   Falset   timer(   t   self(    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyR	      s    c         C@ se   |  j  d  k	 r |  j  j ƒ  n  |  j d  k	 r> |  j j ƒ  n  d  |  _ |  _  t t |  ƒ j ƒ  d  S(   N(   R   t   Nonet   closeR
   t   destroyR   R   t   tearDown(   R   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyR      s    c         C@ s6   |  j  t |  j j d  ƒ |  j  t |  j j d ƒ d  S(   Ni   (   t   assertRaisest	   TypeErrorR   t   startR   (   R   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   test_non_callable_to_start   s    c         C@ sa   g  } |  j  } | j | j ƒ |  j t ƒ  t | _ Wd  QX|  j t ƒ  d | _ Wd  QXd  S(   Ni   (   R   R   t   appendR   R   R   t   callback(   R   t   lstR   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   test_non_callable_after_start!   s    	c         C@ sÈ   g  } |  j  } |  j  j | j ƒ |  j | j d ƒ d | _ |  j | j d ƒ |  j t ƒ  d | _ Wd  QX|  j t ƒ  d d g | _ Wd  QX|  j | j d	 ƒ d  | _ |  j | j d  ƒ d  S(
   Ni   i   i   i   i   (    (   i   i   i   (   i   i   i   (   i   i   i   (   R   R   R   t   assertEqualt   argsR   R   R   (   R   R   R   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt$   test_args_can_be_changed_after_start.   s    			c         @ s•   |  j  } g  ‰  |  j j ‡  f d †  ƒ | j ƒ  | j ƒ  |  j ˆ  d g ƒ |  j j t |  j ˆ  ƒ d  |  _ | j ƒ  |  j ˆ  d d g ƒ d  S(   Nc          @ s   ˆ  j  |  ƒ S(   N(   R   (   R   (   R   (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   <lambda>H   t    i   (    (    (   R
   R   R   t   runt
   update_nowR   t   resetR   (   R   R
   (    (   R   sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   test_runD   s    	

	
c         C@ s<   |  j  } |  j t t t f ƒ  | j d t ƒ Wd  QXd  S(   Niÿÿÿÿ(   R
   R   t
   ValueErrort   OSErrort   IOErrort   ioR   (   R   R
   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   test_invalid_fdV   s    	s    Stdout can't be watched on Win32c         C@ s’   |  j  } | j d t ƒ } t r* | j n | } | j ƒ  ~ d d  l } | j ƒ  | j d t ƒ } |  j t rz | j n | | ƒ | j ƒ  d  S(   Ni   i    (	   R
   R&   R   R   t   _watcherR   t   gct   collectt   assertIsNot(   R   R
   t   tty_watchert   watcher_handleR)   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   test_reuse_io_   s    	

N(   t   __name__t
   __module__R   t   __timeout__R	   R   R   R   R   R"   R'   t	   greentestt   skipOnWindowsR.   (    (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyR      s   								c         C@ s0   d  |  _ d „  |  _ | j d ƒ |  j ƒ  d  S(   Nc           S@ s   d  S(   N(   R   (    (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyR   v   R   i   (   R   R   R   R   R   (   t   watcherR   (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyR!   t   s    	t   __main__(   t
   __future__R    R   t   gevent.testingt   testingR2   t   geventR   t   gevent.testing.sysinfoR   t   gevent.coreR   R   t   TestCaseR   R!   R/   t   main(    (    (    sX   /var/www/syncserver/local/lib/python2.7/site-packages/gevent/tests/test__core_watcher.pyt   <module>   s   i	