ó
¨œž[c           @` sm  d  d l  m Z m Z 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 Z d  d l Z d  d l m Z m 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 d  d	 l m Z m Z m Z m Z d  d
 l  m! Z! m" Z" m# Z# m$ Z$ m% Z% m& Z& m' Z' d  d l( m) Z) m* Z* m+ Z+ m, Z, d  d l m- Z- y d  d l. m/ Z/ Wn e0 k
 r¯e1 Z/ n Xy d  d l2 Z2 Wn e0 k
 rÙe1 Z2 n Xd e f d „  ƒ  YZ3 d e f d „  ƒ  YZ4 d e f d „  ƒ  YZ5 d e* f d „  ƒ  YZ6 d e* f d „  ƒ  YZ7 d e* f d „  ƒ  YZ8 d e* f d „  ƒ  YZ9 d e* f d „  ƒ  YZ: d e* f d „  ƒ  YZ; d  e* f d! „  ƒ  YZ< d" e* f d# „  ƒ  YZ= d$ e* f d% „  ƒ  YZ> d& e* f d' „  ƒ  YZ? d( e f d) „  ƒ  YZ@ d* e f d+ „  ƒ  YZA d, e f d- „  ƒ  YZB d. e f d/ „  ƒ  YZC eD d0 k rie! jE ƒ  n  d S(1   i    (   t   absolute_importt   divisiont   print_functionN(   t   return_futuret   Future(   t
   url_escape(   t   AsyncHTTPClient(   t   IOLoop(   t   app_log(   t   stack_context(   t   AsyncHTTPTestCaset   AsyncTestCaset	   ExpectLogt   gen_test(   t   unittestt   skipOnTravist   skipBefore33t   skipBefore35t   skipNotCPythont	   exec_testt   ignore_deprecation(   t   Applicationt   RequestHandlert   asynchronoust	   HTTPError(   t   gen(   t   futurest   GenEngineTestc           B` s¬  e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z e ƒ   e d „  ƒ Z	 Wd QXe
 j d „  ƒ Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ d  „  Z% d! „  Z& d" „  Z' d# „  Z( d$ „  Z) d% „  Z* d& „  Z+ e, e- d' „  ƒ ƒ Z. e- d( „  ƒ Z/ e- d) „  ƒ Z0 e- d* „  ƒ Z1 e- d+ „  ƒ Z2 e- d, „  ƒ Z3 e- d- „  ƒ Z4 e- d. „  ƒ Z5 e- d/ „  ƒ Z6 d0 „  Z7 d1 „  Z8 d2 „  Z9 d3 „  Z: e- d4 „  ƒ Z; e- d5 „  ƒ Z< d6 „  Z= d7 „  Z> d8 „  Z? d9 „  Z@ d: „  ZA d; „  ZB d< „  ZC d= „  ZD d> „  ZE eF d? „  ƒ ZG RS(@   c         C` sL   t  j ƒ  |  _ |  j j ƒ  t  j d t ƒ t t |  ƒ j ƒ  g  |  _	 d  S(   Nt   ignore(
   t   warningst   catch_warningst   warning_catchert	   __enter__t   simplefiltert   DeprecationWarningt   superR   t   setUpt   named_contexts(   t   self(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR$   &   s
    c         C` s-   t  t |  ƒ j ƒ  |  j j d  d  d  ƒ d  S(   N(   R#   R   t   tearDownR   t   __exit__t   None(   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR'   -   s    c         ` s   t  j ‡  ‡ f d †  ƒ } | S(   Nc           3` s:   ˆ j  j ˆ  ƒ z	 d  VWd  ˆ j ˆ j  j ƒ  ˆ  ƒ Xd  S(   N(   R%   t   appendt   assertEqualt   pop(    (   t   nameR&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   context2   s    	(   t
   contextlibt   contextmanager(   R&   R-   R.   (    (   R-   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   named_context1   s    c         C` s   | ƒ  |  j  ƒ  S(   N(   t   wait(   R&   t   f(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   run_gen;   s    c         C` sF   | d k r | | ƒ n) |  j  j t j |  j | d | | ƒ ƒ d S(   s7   Runs callback(arg) after a number of IOLoop iterations.i    i   N(   t   io_loopt   add_callbackt	   functoolst   partialt   delay_callback(   R&   t
   iterationst   callbackt   arg(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR9   ?   s    c         C` s   |  j  j | | ƒ d  S(   N(   R5   R6   (   R&   t   resultR;   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   async_futureH   s    Nc         c` s   t  j V| ‚ d  S(   N(   R   t   moment(   R&   t   e(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   async_exceptionL   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc           ` s   ˆ  j  ƒ  d  S(   N(   t   stop(    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   R   s    (   R   t   engineR4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_no_yieldQ   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sB   t  j d ƒ Vƒ  t  j d ƒ V}  ˆ  j |  d  k ƒ ˆ  j ƒ  d  S(   Nt   k1(   R   t   Callbackt   Waitt
   assertTrueR)   RB   (   t   res(   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   X   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_inline_cbW   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc           3` s6   ˆ  j  j t j d ƒ Vƒ t j d ƒ Vˆ  j ƒ  d  S(   NRE   (   R5   R6   R   RF   RG   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   a   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_ioloop_cb`   s    c         C` s,   t  j d „  ƒ } |  j t |  j | ƒ d  S(   Nc           S` s   d d d  S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   i   s    (   R   RC   t   assertRaisest   ZeroDivisionErrorR4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_exception_phase1h   s    c         ` s2   t  j ‡  f d †  ƒ } ˆ  j t ˆ  j | ƒ d  S(   Nc           3` s4   ˆ  j  j t j d ƒ Vƒ t j d ƒ Vd d d  S(   NRE   i   i    (   R5   R6   R   RF   RG   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   o   s    (   R   RC   RL   RM   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_exception_phase2n   s    c         ` s5   d „  ‰  t  j ‡  ‡ f d †  ƒ } ˆ j | ƒ d  S(   Nc         S` s   d d d  S(   Ni   i    (    (   R;   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt	   fail_taskw   s    c           3` s@   y t  j ˆ  ƒ Vt d ƒ ‚ Wn t k
 r; ˆ j ƒ  n Xd  S(   Ns   did not get expected exception(   R   t   Taskt	   ExceptionRM   RB   (    (   RP   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   z   s
    (   R   RC   R4   (   R&   R3   (    (   RP   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_exception_in_task_phase1v   s    	c         ` s;   ‡ f d †  ‰  t  j ‡  ‡ f d †  ƒ } ˆ j | ƒ d  S(   Nc         ` s   ˆ  j  j d „  ƒ d  S(   Nc           S` s   d d S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   <lambda>†   s    (   R5   R6   (   R;   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRP   …   s    c           3` s@   y t  j ˆ  ƒ Vt d ƒ ‚ Wn t k
 r; ˆ j ƒ  n Xd  S(   Ns   did not get expected exception(   R   RQ   RR   RM   RB   (    (   RP   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ˆ   s
    (   R   RC   R4   (   R&   R3   (    (   RP   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_exception_in_task_phase2ƒ   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sB   t  j d ƒ Vd ƒ t  j d ƒ V}  ˆ  j d |  ƒ ˆ  j ƒ  d  S(   NRE   i*   (   R   RF   RG   R+   RB   (   RI   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ’   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_with_arg‘   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sB   t  j d ƒ Vd ƒ t  j d ƒ V}  ˆ  j d |  ƒ ˆ  j ƒ  d  S(	   Ni   i   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   RF   RG   R+   RB   (   RI   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ›   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_with_arg_tupleš   s    c         ` s5   t  j ‡  f d †  ƒ } ˆ  j t  j ˆ  j | ƒ d  S(   Nc           3` s*   t  j d ƒ Vt  j d ƒ Vˆ  j ƒ  d  S(   NRE   (   R   RF   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ¤   s    (   R   RC   RL   t   KeyReuseErrorR4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_key_reuse£   s    c         ` s5   t  j ‡  f d †  ƒ } ˆ  j t  j ˆ  j | ƒ d  S(   Nc           3` s*   t  j d ƒ Vt  j d ƒ Vˆ  j ƒ  d  S(   Ni   i   (   i   i   (   i   i   (   R   RF   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ¬   s    (   R   RC   RL   RX   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_key_reuse_tuple«   s    c         ` s5   t  j ‡  f d †  ƒ } ˆ  j t  j ˆ  j | ƒ d  S(   Nc           3` s*   t  j d ƒ Vt  j d ƒ Vˆ  j ƒ  d  S(   NRE   t   k2(   R   RF   RG   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ´   s    (   R   RC   RL   t   UnknownKeyErrorR4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_key_mismatch³   s    c         ` s5   t  j ‡  f d †  ƒ } ˆ  j t  j ˆ  j | ƒ d  S(   Nc           3` s*   t  j d ƒ Vt  j d ƒ Vˆ  j ƒ  d  S(   Ni   i   i   (   i   i   (   i   i   (   R   RF   RG   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ¼   s    (   R   RC   RL   R\   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_key_mismatch_tuple»   s    c         ` s5   t  j ‡  f d †  ƒ } ˆ  j t  j ˆ  j | ƒ d  S(   Nc           3` s   t  j d ƒ Vˆ  j ƒ  d  S(   NRE   (   R   RF   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Ä   s    (   R   RC   RL   t   LeakedCallbackErrorR4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_leaked_callbackÃ   s    c         ` s5   t  j ‡  f d †  ƒ } ˆ  j t  j ˆ  j | ƒ d  S(   Nc           3` s   t  j d ƒ Vˆ  j ƒ  d  S(   Ni   i   (   i   i   (   R   RF   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Ë   s    (   R   RC   RL   R_   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_leaked_callback_tupleÊ   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` s‘   x. t  d ƒ D]  }  ˆ  j j t j |  ƒ Vƒ q Wt j d ƒ Vˆ  j j t j d ƒ Vƒ t j d ƒ Vt j d ƒ Vt j d ƒ Vˆ  j ƒ  d  S(   Ni   i   i    i   (   t   rangeR5   R6   R   RF   RG   RB   (   t   k(   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Ò   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_parallel_callbackÑ   s    
c         C` s/   t  j d „  ƒ } |  j t  j |  j | ƒ d  S(   Nc           s` s	   d Vd  S(   Ni*   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ß   s    (   R   RC   RL   t   BadYieldErrorR4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_bogus_yieldÞ   s    c         C` s/   t  j d „  ƒ } |  j t  j |  j | ƒ d  S(   Nc           s` s	   d Vd  S(   Ni   i   (   i   i   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   å   s    (   R   RC   RL   Re   R4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_bogus_yield_tupleä   s    c         ` s6   t  j ‡  f d †  ƒ } ˆ  j | ƒ ˆ  j | ƒ d  S(   Nc           3` s6   ˆ  j  j t j d ƒ Vƒ t j d ƒ Vˆ  j ƒ  d  S(   Ni    (   R5   R6   R   RF   RG   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ë   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt
   test_reuseê   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc           3` s"   t  j ˆ  j j ƒ Vˆ  j ƒ  d  S(   N(   R   RQ   R5   R6   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ô   s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt	   test_taskó   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sb   t  j d ƒ Vd ƒ t  j d ƒ Vd ƒ t  j d d g ƒ V}  ˆ  j |  d d g ƒ ˆ  j ƒ  d  S(   NRE   t   v1R[   t   v2(   R   RF   t   WaitAllR+   RB   (   t   results(   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   û   s
    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_wait_allú   s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc           3` sC   y t  j d ƒ Vt d ƒ ‚ Wn t  j k
 r4 n Xˆ  j ƒ  d  S(   NRE   s   did not get expected exception(   R   RG   RR   R\   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3     s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_exception_in_yield  s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc           3` sq   y t  j d ƒ Vt d ƒ ‚ Wn t  j k
 r4 n Xt  j d ƒ Vd ƒ ˆ  j t  j d ƒ Vd ƒ ˆ  j ƒ  d  S(   NRE   s   did not get expected exceptionR[   Rk   (   R   RG   RR   R\   RF   R+   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3     s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt$   test_resume_after_exception_in_yield  s    
c         ` sZ   t  j ‡  f d †  ƒ } y ˆ  j | ƒ t d ƒ ‚ Wn t  j k
 rK n Xˆ  j ƒ  d  S(   Nc           3` s   t  j d ƒ Vˆ  _ d  S(   Ni   (   R   RF   t   orphaned_callback(    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3     s    s   did not get expected exception(   R   RC   R4   RR   R_   Rq   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_orphaned_callback  s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc           3` s   d  Vˆ  j ƒ  d  S(   N(   R)   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   (  s    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt	   test_none'  s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sk   t  j d ƒ Vd ƒ t  j d ƒ Vd ƒ t  j d ƒ t  j d ƒ g V}  ˆ  j |  d d g ƒ ˆ  j ƒ  d  S(   NRE   Rj   R[   Rk   (   R   RF   RG   R+   RB   (   Rm   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   /  s
    (   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt
   test_multi.  s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` s}   t  j d ƒ Vd ƒ t  j d ƒ Vd ƒ t d t  j d ƒ d t  j d ƒ ƒ V}  ˆ  j |  t d d d d ƒ ƒ ˆ  j ƒ  d  S(   NRE   Rj   R[   Rk   t   foot   bar(   R   RF   t   dictRG   R+   RB   (   Rm   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   9  s
    ((   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_dict8  s    c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sd   t  j t  j ˆ  j d d d ƒt  j ˆ  j d d d ƒg ƒ V}  ˆ  j |  d d g ƒ ˆ  j ƒ  d  S(   Ni   R<   Rj   i   Rk   (   R   t   MultiRQ   R9   R+   RB   (   t	   responses(   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   F  s
    "(   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_yieldpoint_delayedE  s    	c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc       
   3` sv   t  j t d t  j ˆ  j d d d ƒd t  j ˆ  j d d d ƒƒ ƒ V}  ˆ  j |  t d d d d ƒ ƒ ˆ  j ƒ  d  S(   NRu   i   R<   Rj   Rv   i   Rk   (   R   Ry   Rw   RQ   R9   R+   RB   (   Rz   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   R  s
    "(   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt"   test_multi_yieldpoint_dict_delayedQ  s    	c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sd   t  j t  j ˆ  j d d d ƒt  j ˆ  j d d d ƒg ƒ V}  ˆ  j |  d d g ƒ ˆ  j ƒ  d  S(   Ni   R<   Rj   i   Rk   (   R   t   multi_futureRQ   R9   R+   RB   (   Rz   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ^  s
    "(   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_future_delayed]  s    	c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc       
   3` sv   t  j t d t  j ˆ  j d d d ƒd t  j ˆ  j d d d ƒƒ ƒ V}  ˆ  j |  t d d d d ƒ ƒ ˆ  j ƒ  d  S(   NRu   i   R<   Rj   Rv   i   Rk   (   R   R}   Rw   RQ   R9   R+   RB   (   Rz   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   j  s
    "(   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_future_dict_delayedi  s    	c         c` s]   t  j  ƒ  } g  t d ƒ D] } t j |  j j ƒ ^ q Vt  j  ƒ  } |  j | | d ƒ d  S(   NiÐ  g      ð?(   t   timeRb   R   RQ   R5   R6   t
   assertLess(   R&   t   startt   it   end(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_performanceu  s    -c         c` s>   g  V} |  j  t | t ƒ ƒ i  V} |  j  t | t ƒ ƒ d  S(   N(   RH   t
   isinstancet   listRw   (   R&   t   xt   y(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_empty€  s    c         c` sY   t  j d ƒ Vd ƒ t  j d ƒ t  j |  j d d d ƒg V} |  j | d d g ƒ d  S(   NRE   Rj   i   R<   Rk   (   R   RF   RG   RQ   R9   R+   (   R&   Rz   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_mixed_typesˆ  s    c         c` s$   |  j  d ƒ V} |  j | d ƒ d  S(   Ni   (   R>   R+   (   R&   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_future‘  s    c         c` s9   |  j  d ƒ |  j  d ƒ g V} |  j | d d g ƒ d  S(   Ni   i   (   R>   R+   (   R&   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_future–  s    c         c` sT   |  j  d ƒ } |  j  d ƒ | |  j  d ƒ | g V} |  j | d d d d g ƒ d  S(   Ni   i   i   (   R>   R+   (   R&   R3   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_future_duplicate›  s    %c         c` sK   t  d |  j d ƒ d |  j d ƒ ƒ V} |  j | t  d d d d ƒ ƒ d  S(   NRu   i   Rv   i   (   Rw   R>   R+   (   R&   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_dict_future¡  s    (c         c` s  t  t d ƒ O |  j t ƒ 9 } t j |  j t d ƒ ƒ |  j t d ƒ ƒ g ƒ VWd  QXWd  QX|  j t | j	 ƒ d ƒ |  j t ƒ 1 t j |  j t d ƒ ƒ |  j
 d ƒ g ƒ VWd  QX|  j t ƒ = t j |  j t d ƒ ƒ |  j t d ƒ ƒ g d t ƒVWd  QXd  S(   Ns!   Multiple exceptions in yield lists   error 1s   error 2i   t   quiet_exceptions(   R   R   RL   t   RuntimeErrorR   Ry   RA   R+   t   strt	   exceptionR>   (   R&   t   cm(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_exceptions¦  s    &c         c` sû   t  t d ƒ F |  j t ƒ 0 } |  j t d ƒ ƒ |  j t d ƒ ƒ g VWd  QXWd  QX|  j t | j ƒ d ƒ |  j t ƒ ( |  j t d ƒ ƒ |  j d ƒ g VWd  QX|  j t ƒ = t	 j
 |  j t d ƒ ƒ |  j t d ƒ ƒ g d t ƒVWd  QXd  S(   Ns!   Multiple exceptions in yield lists   error 1s   error 2i   R   (   R   R   RL   R‘   RA   R+   R’   R“   R>   R   R}   (   R&   R”   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_future_exceptions¹  s    #c         ` s)   t  j ‡  f d †  ƒ } ˆ  j | ƒ d  S(   Nc          3` sœ  t  j d ƒ Vƒ  ˆ  j t  j d ƒ Vd  ƒ t  j d ƒ Vd ƒ ˆ  j t  j d ƒ Vd ƒ t  j d ƒ Vd d ƒ t  j d ƒ V}  ˆ  j t |  t  j ƒ ƒ ˆ  j d t d d ƒ f |  ƒ ˆ  j t d d ƒ |  j	 ƒ t  j d ƒ Vd d ƒ t  j d ƒ V}  ˆ  j t |  t  j ƒ ƒ ˆ  j d i  f |  ƒ ˆ  j d |  j
 ƒ d „  } t  j | ƒ V}  ˆ  j t |  t  j ƒ ƒ ˆ  j d t d	 d
 ƒ f |  ƒ ˆ  j ƒ  d  S(   Nt   noargst   1argi*   t   kwargst   valuet   2argsi+   c         S` s   |  d  d d ƒd  S(   Nt   errorRu   (   R)   (   R;   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt	   task_funcá  s    Rœ   Ru   (    (   i*   i+   (   i*   i+   (   N(   R   RF   R+   RG   R)   RH   R†   t	   ArgumentsRw   R™   t   argsRQ   RB   (   R=   R   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Î  s&    	(   R   RC   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_argumentsÍ  s    c         ` s\   d „  ‰  t  j ‡ f d †  ƒ ‰ t  j ‡  ‡ ‡ ‡ f d †  ƒ } ˆ  ƒ  ‰ ˆ j | ƒ d  S(   Nc          S` sD   t  j j d }  d } x' |  d  k	 r? | d 7} |  j d }  q W| S(   Ni   i    (   R	   t   _statet   contextsR)   t   old_contexts(   t   headt   length(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   _stack_depthí  s    
c         3` s   t  j ˆ  j j ƒ V|  ƒ  d  S(   N(   R   RQ   R5   R6   (   R;   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   inner÷  s    c          3` sS   x" t  d ƒ D] }  t j ˆ ƒ Vq Wˆ  ƒ  ˆ } ˆ j | d k ƒ ˆ j ƒ  d  S(   Ni
   i   (   Rb   R   RQ   RH   RB   (   Rƒ   t   stack_increase(   R¦   t   initial_stack_depthR§   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   outerü  s
    (   R   RC   R4   (   R&   Rª   (    (   R¦   R©   R§   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_stack_context_leakê  s
    	
!	c         ` sY   t  j ‡ f d †  ƒ ‰ t  j ‡  ‡ ‡ f d †  ƒ } t t j j ƒ ‰  ˆ j | ƒ d  S(   Nc         3` s    t  j ˆ  j j ƒ Vd d d  S(   Ni   i    (   R   RQ   R5   R6   (   R;   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR§   	  s    c          3` st   x: t  d ƒ D], }  y t j ˆ ƒ VWq t k
 r8 q Xq Wt t j j ƒ ˆ  } ˆ j | d k ƒ ˆ j	 ƒ  d  S(   Ni
   i   (
   Rb   R   RQ   RM   t   lenR	   R¡   R¢   RH   RB   (   Rƒ   R¨   (   R©   R§   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRª     s    (   R   RC   R¬   R	   R¡   R¢   R4   (   R&   Rª   (    (   R©   R§   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt!   test_stack_context_leak_exception  s    
c         ` sE   ‡  ‡ f d †  } t  j ˆ j d ƒ ƒ  ˆ j j | ƒ Wd  QXd  S(   Nc           ` s*   ˆ j  ˆ j d g ƒ ˆ j j ˆ  ƒ d  S(   Nt   a(   R+   R%   R5   R6   (    (   R;   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   step2  s    R®   (   R	   t   StackContextR1   R5   R6   (   R&   R;   R¯   (    (   R;   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   function_with_stack_context  s    c         c` sU   t  j d ƒ V} |  j | ƒ |  j |  j g  ƒ t  j d ƒ V|  j |  j g  ƒ d  S(   NRE   (   R   RF   R±   R+   R%   RG   (   R&   t   cb(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt    test_wait_transfer_stack_context&  s
    c         c` s(   t  j |  j ƒ V|  j |  j g  ƒ d  S(   N(   R   RQ   R±   R+   R%   (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt    test_task_transfer_stack_context0  s    c         ` s?   t  j ‡  f d †  ƒ } ˆ  j t ƒ  ˆ  j | ƒ Wd  QXd  S(   Nc           ` s   ˆ  j  ƒ  d d d  S(   Ni   i    (   RB   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   8  s    
(   R   RC   RL   RM   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_raise_after_stop5  s    c         ` s;   t  j ‡  f d †  ƒ } ˆ  j | ƒ } ˆ  j | d ƒ d  S(   Nc           ` s   ˆ  j  d ƒ t j ƒ  ‚ d  S(   Ni*   (   RB   R   t   Return(    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   C  s    i*   (   R   RC   R4   R+   (   R&   R3   R=   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sync_raise_return@  s    c         ` s;   t  j ‡  f d †  ƒ } ˆ  j | ƒ } ˆ  j | d ƒ d  S(   Nc           3` s1   t  j ˆ  j j ƒ Vˆ  j d ƒ t  j ƒ  ‚ d  S(   Ni*   (   R   RQ   R5   R6   RB   R¶   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   L  s    i*   (   R   RC   R4   R+   (   R&   R3   R=   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_raise_returnK  s    c         C` s<   t  j d „  ƒ } |  j t  j ƒ  |  j | ƒ Wd  QXd  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ni*   (   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   V  s    (   R   RC   RL   t   ReturnValueIgnoredErrorR4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sync_raise_return_valueU  s    c         C` s<   t  j d „  ƒ } |  j t  j ƒ  |  j | ƒ Wd  QXd  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ni   i   (   i   i   (   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ^  s    (   R   RC   RL   R¹   R4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt"   test_sync_raise_return_value_tuple]  s    c         ` sB   t  j ‡  f d †  ƒ } ˆ  j t  j ƒ  ˆ  j | ƒ Wd  QXd  S(   Nc           3` s'   t  j ˆ  j j ƒ Vt  j d ƒ ‚ d  S(   Ni*   (   R   RQ   R5   R6   R¶   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   f  s    (   R   RC   RL   R¹   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_raise_return_valuee  s    c         ` sB   t  j ‡  f d †  ƒ } ˆ  j t  j ƒ  ˆ  j | ƒ Wd  QXd  S(   Nc           3` s'   t  j ˆ  j j ƒ Vt  j d ƒ ‚ d  S(   Ni   i   (   i   i   (   R   RQ   R5   R6   R¶   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   o  s    (   R   RC   RL   R¹   R4   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt#   test_async_raise_return_value_tuplen  s    c         C` s<   t  j d „  ƒ } |  j t  j ƒ  |  j | ƒ Wd  QXd  S(   Nc           S` s   d S(   Ni*   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   z  s    (   R   RC   RL   R¹   R4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_return_valuew  s    c         C` s<   t  j d „  ƒ } |  j t  j ƒ  |  j | ƒ Wd  QXd  S(   Nc           S` s   d S(   Ni   i   (   i   i   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   „  s    (   R   RC   RL   R¹   R4   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_return_value_tuple  s    c         ` sU   t  j ‡  f d †  ƒ } ˆ  j | ƒ ˆ  j ˆ  j ƒ  d  ƒ ˆ  j ˆ  j ƒ  d  ƒ d  S(   Nc          3` sq   d t  f d „  ƒ  Y}  |  ƒ  } t j | ƒ ˆ  _ t j ˆ  j j d | ƒ} t j | ƒ ˆ  _ | Vˆ  j	 ƒ  d  S(   Nt   Fooc           B` s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRÀ   ‘  s   R<   (
   t   objectt   weakreft   reft   arg_refR   RQ   R5   R6   t   task_refRB   (   RÀ   R<   t   task(   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3     s    	(   R   RC   R4   t   assertIsRÆ   R)   RÇ   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_task_refcounting‹  s    (H   RÁ   RÂ   R$   R'   R1   R4   R9   R   R   R>   R   t	   coroutineRA   RD   RJ   RK   RN   RO   RS   RU   RV   RW   RY   RZ   R]   R^   R`   Ra   Rd   Rf   Rg   Rh   Ri   Rn   Ro   Rp   Rr   Rs   Rt   Rx   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Ê   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR   %   s‚   			
		
																									
					
					
					
			
							
	
t   GenBasicTestc           B` st  e  Z e j d  „  ƒ Z e ƒ   e d „  ƒ Z Wd QXe j d „  ƒ Z e j d „  ƒ Z	 d „  Z
 d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z e e d „  ƒ ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d „  Z$ RS(   c         c` s2   x t  | ƒ D] } t j Vq Wt j | ƒ ‚ d S(   s0   Returns arg after a number of IOLoop iterations.N(   Rb   R   R?   R¶   (   R&   R:   R<   Rƒ   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   delay£  s    c         C` s   |  j  j | | ƒ d  S(   N(   R5   R6   (   R&   R=   R;   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR>   «  s    Nc         c` s   t  j V| ‚ d  S(   N(   R   R?   (   R&   R@   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRA   ¯  s    c         c` s   t  j Vt  j | d ƒ ‚ d  S(   Ni   (   R   R?   R¶   (   R&   Rˆ   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   add_one_async´  s    c         C` s&   t  j d „  ƒ } |  j j | ƒ d  S(   Nc           S` s   d  S(   N(    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   º  s    (   R   RË   R5   t   run_sync(   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRD   ¹  s    c         C` s/   t  j d „  ƒ } |  j t |  j j | ƒ d  S(   Nc           S` s   d d d  S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   À  s    (   R   RË   RL   RM   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRN   ¿  s    c         C` s/   t  j d „  ƒ } |  j t |  j j | ƒ d  S(   Nc           s` s   t  j Vd d d  S(   Ni   i    (   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Æ  s    (   R   RË   RL   RM   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRO   Å  s    c         C` s2   t  j d „  ƒ } |  j t  j |  j j | ƒ d  S(   Nc           s` s	   d Vd  S(   Ni*   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Í  s    (   R   RË   RL   Re   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRf   Ì  s    c         C` s2   t  j d „  ƒ } |  j t  j |  j j | ƒ d  S(   Nc           s` s	   d Vd  S(   Ni   i   (   i   i   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Ó  s    (   R   RË   RL   Re   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRg   Ò  s    c         C` s6   t  j d „  ƒ } |  j j | ƒ |  j j | ƒ d  S(   Nc           s` s   t  j Vd  S(   N(   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Ù  s    (   R   RË   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRh   Ø  s    c         C` s&   t  j d „  ƒ } |  j j | ƒ d  S(   Nc           s` s	   d  Vd  S(   N(   R)   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   à  s    (   R   RË   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRs   ß  s    c         ` s,   t  j ‡  f d †  ƒ } ˆ  j j | ƒ d  S(   Nc          3` s9   ˆ  j  d ƒ ˆ  j  d ƒ g V}  ˆ  j |  d d g ƒ d  S(   Ni   i   i   (   RÎ   R+   (   Rm   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   æ  s    (   R   RË   R5   RÏ   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRt   å  s    c         ` s,   t  j ‡  f d †  ƒ } ˆ  j j | ƒ d  S(   Nc          3` sK   t  d ˆ  j d ƒ d ˆ  j d ƒ ƒ V}  ˆ  j |  t  d d d d ƒ ƒ d  S(   NRu   i   Rv   i   i   (   Rw   RÎ   R+   (   Rm   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   í  s    ((   R   RË   R5   RÏ   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRx   ì  s    c         ` s,   t  j ‡  f d †  ƒ } ˆ  j j | ƒ d  S(   Nc          3` sH   t  j ˆ  j d d ƒ ˆ  j d d ƒ g ƒ V}  ˆ  j |  d d g ƒ d  S(   Ni   Rj   i   Rk   (   R   R}   RÍ   R+   (   Rz   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ô  s    (   R   RË   R5   RÏ   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_delayedó  s    c         ` s,   t  j ‡  f d †  ƒ } ˆ  j j | ƒ d  S(   Nc          3` sZ   t  j t d ˆ  j d d ƒ d ˆ  j d d ƒ ƒ ƒ V}  ˆ  j |  t d d d d ƒ ƒ d  S(   NRu   i   Rj   Rv   i   Rk   (   R   R}   Rw   RÍ   R+   (   Rz   (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ÿ  s    (   R   RË   R5   RÏ   (   R&   R3   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_dict_delayedþ  s    c         c` sQ   t  j  ƒ  } g  t d ƒ D] } t j ^ q Vt  j  ƒ  } |  j | | d ƒ d  S(   NiÐ  g      ð?(   R€   Rb   R   R?   R   (   R&   R‚   Rƒ   R„   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR…   	  s    !c         c` s>   g  V} |  j  t | t ƒ ƒ i  V} |  j  t | t ƒ ƒ d  S(   N(   RH   R†   R‡   Rw   (   R&   Rˆ   R‰   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRŠ     s    c         c` s$   |  j  d ƒ V} |  j | d ƒ d  S(   Ni   (   R>   R+   (   R&   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRŒ     s    c         c` s9   |  j  d ƒ |  j  d ƒ g V} |  j | d d g ƒ d  S(   Ni   i   (   R>   R+   (   R&   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR   !  s    c         c` sT   |  j  d ƒ } |  j  d ƒ | |  j  d ƒ | g V} |  j | d d d d g ƒ d  S(   Ni   i   i   (   R>   R+   (   R&   R3   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRŽ   &  s    %c         c` sK   t  d |  j d ƒ d |  j d ƒ ƒ V} |  j | t  d d d d ƒ ƒ d  S(   NRu   i   Rv   i   (   Rw   R>   R+   (   R&   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR   ,  s    (c         c` s  t  t d ƒ O |  j t ƒ 9 } t j |  j t d ƒ ƒ |  j t d ƒ ƒ g ƒ VWd  QXWd  QX|  j t | j	 ƒ d ƒ |  j t ƒ 1 t j |  j t d ƒ ƒ |  j
 d ƒ g ƒ VWd  QX|  j t ƒ = t j |  j t d ƒ ƒ |  j t d ƒ ƒ g d t ƒVWd  QXd  S(   Ns!   Multiple exceptions in yield lists   error 1s   error 2i   R   (   R   R   RL   R‘   R   Ry   RA   R+   R’   R“   R>   (   R&   R”   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR•   1  s    &c         c` sû   t  t d ƒ F |  j t ƒ 0 } |  j t d ƒ ƒ |  j t d ƒ ƒ g VWd  QXWd  QX|  j t | j ƒ d ƒ |  j t ƒ ( |  j t d ƒ ƒ |  j d ƒ g VWd  QX|  j t ƒ = t	 j
 |  j t d ƒ ƒ |  j t d ƒ ƒ g d t ƒVWd  QXd  S(   Ns!   Multiple exceptions in yield lists   error 1s   error 2i   R   (   R   R   RL   R‘   RA   R+   R’   R“   R>   R   R}   (   R&   R”   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR–   D  s    #c         C` s&   t  j d „  ƒ } |  j j | ƒ d  S(   Nc           S` s   t  j ƒ  ‚ d  S(   N(   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Y  s    (   R   RË   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR·   X  s    c         C` s&   t  j d „  ƒ } |  j j | ƒ d  S(   Nc           s` s   t  j Vt  j ƒ  ‚ d  S(   N(   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   `  s    (   R   RË   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR¸   _  s    c         C` s2   t  j d „  ƒ } |  j d |  j j | ƒ ƒ d  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ni*   (   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   h  s    i*   (   R   RË   R+   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRº   g  s    c         C` s2   t  j d „  ƒ } |  j d |  j j | ƒ ƒ d  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ni   i   (   i   i   (   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   o  s    i   i   (   i   i   (   R   RË   R+   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR»   n  s    c         C` s2   t  j d „  ƒ } |  j d |  j j | ƒ ƒ d  S(   Nc           s` s   t  j Vt  j d ƒ ‚ d  S(   Ni*   (   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   v  s    i*   (   R   RË   R+   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR¼   u  s    c         C` s2   t  j d „  ƒ } |  j d |  j j | ƒ ƒ d  S(   Nc           s` s   t  j Vt  j d ƒ ‚ d  S(   Ni   i   (   i   i   (   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ~  s    i   i   (   i   i   (   R   RË   R+   R5   RÏ   (   R&   R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR½   }  s    (%   RÁ   RÂ   R   RË   RÍ   R   R   R>   RA   RÎ   RD   RN   RO   Rf   Rg   Rh   Rs   Rt   Rx   RÐ   RÑ   R   R   R…   RŠ   RŒ   R   RŽ   R   R•   R–   R·   R¸   Rº   R»   R¼   R½   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRÌ   ¢  s>   
											
					t   GenCoroutineTestc           B` s+  e  Z d  „  Z d „  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e
 e d „  ƒ ƒ Z e
 e d „  ƒ ƒ Z e e d	 „  ƒ ƒ Z e e d
 „  ƒ ƒ Z e e d „  ƒ ƒ Z e e d „  ƒ ƒ Z e e d „  ƒ ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e
 e d „  ƒ ƒ Z e e  j! d" e" j# k  oÇd# k  n d ƒ d „  ƒ ƒ Z$ e  j! e" j# d$ k  d ƒ d „  ƒ Z% e  j! e& d% k d  ƒ e d! „  ƒ ƒ Z( RS(&   c         C` s    t  |  _ t t |  ƒ j ƒ  d  S(   N(   t   Falset   finishedR#   RÒ   R$   (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR$   ‡  s    	c         C` s&   t  t |  ƒ j ƒ  |  j s" t ‚ d  S(   N(   R#   RÒ   R'   RÔ   t   AssertionError(   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR'   Ž  s    c         C` sd   t  |  _ d „  } t j | ƒ } |  j | j | j ƒ |  j | j | j ƒ |  j | j | ƒ d  S(   Nc           s` s   t  j Vd  S(   N(   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   •  s    (	   t   TrueRÔ   R   RË   R+   RÁ   RÂ   RÉ   t   __wrapped__(   R&   R3   t   coro(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_attributes’  s    		c         C` sj   t  |  _ d „  } t j | ƒ } |  j t j | ƒ ƒ |  j t j | ƒ ƒ |  j t j | ƒ  ƒ ƒ d  S(   Nc           s` s   t  j Vd  S(   N(   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3      s    (   RÖ   RÔ   R   RË   t   assertFalset   is_coroutine_functionRH   (   R&   R3   RØ   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_is_coroutine_function  s    		c         c` s9   t  j d „  ƒ } | ƒ  V} |  j | d ƒ t |  _ d  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ni*   (   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ª  s    i*   (   R   RË   R+   RÖ   RÔ   (   R&   R3   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sync_gen_return¨  s    
c         c` s9   t  j d „  ƒ } | ƒ  V} |  j | d ƒ t |  _ d  S(   Nc           s` s   t  j Vt  j d ƒ ‚ d  S(   Ni*   (   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ³  s    i*   (   R   RË   R+   RÖ   RÔ   (   R&   R3   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_gen_return±  s    
c         c` s9   t  j d „  ƒ } | ƒ  V} |  j | d ƒ t |  _ d  S(   Nc           S` s   d S(   Ni*   (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   ½  s    i*   (   R   RË   R+   RÖ   RÔ   (   R&   R3   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sync_return»  s    
c         c` sC   t  t ƒ  t ƒ  d ƒ } | d ƒ  V} |  j | d ƒ t |  _ d  S(   Nsd   
        @gen.coroutine
        def f():
            yield gen.moment
            return 42
        R3   i*   (   R   t   globalst   localsR+   RÖ   RÔ   (   R&   t	   namespaceR=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_returnÄ  s
    	c         c` sC   t  t ƒ  t ƒ  d ƒ } | d ƒ  V} |  j | d ƒ t |  _ d  S(   Ns–   
        @gen.coroutine
        def f():
            if True:
                return 42
            yield gen.Task(self.io_loop.add_callback)
        R3   i*   (   R   Rà   Rá   R+   RÖ   RÔ   (   R&   Râ   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_early_returnÑ  s
    	c         c` sU   t  j d „  ƒ } t t ƒ  t ƒ  d ƒ } | d ƒ  V} |  j | d ƒ t |  _ d  S(   Nc           s` s   t  j Vt  j d ƒ ‚ d  S(   Ni*   (   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   f1å  s    s[   
        async def f2():
            result = await f1()
            return result
        t   f2i*   (   R   RË   R   Rà   Rá   R+   RÖ   RÔ   (   R&   Rå   Râ   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_awaitâ  s    	c         c` sC   t  t ƒ  t ƒ  d ƒ } | d ƒ  V} |  j | d ƒ t |  _ d  S(   Nst   
        async def f():
            import asyncio
            await asyncio.sleep(0)
            return 42
        R3   i*   (   R   Rà   Rá   R+   RÖ   RÔ   (   R&   Râ   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_asyncio_sleep_zeroö  s
    	c         c` sv   t  j d „  ƒ } t t ƒ  t ƒ  d ƒ } t  j d „  ƒ } | d ƒ  | ƒ  g V} |  j | d d g ƒ t |  _ d  S(   Nc           s` s   t  j Vd  S(   N(   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRå     s    sN   
        async def f2():
            await f1()
            return 42
        c           s` s   t  j Vt  j d ƒ ‚ d  S(   Ni+   (   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   f3  s    Ræ   i*   i+   (   R   RË   R   Rà   Rá   R+   RÖ   RÔ   (   R&   Rå   Râ   Ré   Rm   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt*   test_async_await_mixed_multi_native_future  s    	c         #` s—   t  t ƒ  t ƒ  d ƒ } t j ‡  f d †  ƒ } t ƒ  9 | d t j d ƒ Vƒ | d ƒ  t j d ƒ g V} Wd  QXˆ  j | d d g ƒ t	 ˆ  _
 d  S(   Nsm   
        async def f1():
            await gen.Task(self.io_loop.add_callback)
            return 42
        c           3` s'   t  j ˆ  j j ƒ Vt  j d ƒ ‚ d  S(   Ni+   (   R   RQ   R5   R6   R¶   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRæ   $  s    R;   R²   Rå   i*   i+   (   R   Rà   Rá   R   RË   R   RF   RG   R+   RÖ   RÔ   (   R&   Râ   Ræ   Rm   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt.   test_async_await_mixed_multi_native_yieldpoint  s    	
#c         c` s[   t  t ƒ  t ƒ  d ƒ } t j t j d d ƒ | d ƒ  ƒ V} |  j | d ƒ t |  _	 d  S(   Ns7   
        async def f1():
            return 42
        t   hoursi   Rå   i*   (
   R   Rà   Rá   R   t   with_timeoutt   datetimet	   timedeltaR+   RÖ   RÔ   (   R&   Râ   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_with_timeout/  s    	c         c` s9   t  j d „  ƒ } | ƒ  V} |  j | d  ƒ t |  _ d  S(   Nc           S` s   d  S(   N(    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   >  s    (   R   RË   R+   R)   RÖ   RÔ   (   R&   R3   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sync_return_no_value<  s    
c         c` s9   t  j d „  ƒ } | ƒ  V} |  j | d  ƒ t |  _ d  S(   Nc           s` s   t  j Vd  S(   N(   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   H  s    (   R   RË   R+   R)   RÖ   RÔ   (   R&   R3   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_return_no_valueE  s    
c         c` sC   t  j d „  ƒ } | ƒ  } |  j t ƒ 
 | VWd  QXt |  _ d  S(   Nc           S` s   d d d  S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   R  s    (   R   RË   RL   RM   RÖ   RÔ   (   R&   R3   t   future(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sync_raiseP  s
    	c         c` sC   t  j d „  ƒ } | ƒ  } |  j t ƒ 
 | VWd  QXt |  _ d  S(   Nc           s` s   t  j Vd d d  S(   Ni   i    (   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   _  s    (   R   RË   RL   RM   RÖ   RÔ   (   R&   R3   Ró   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_async_raise]  s
    	c         c` sO   t  ƒ  ' t j d „  ƒ } t j | ƒ V} Wd  QX|  j | d ƒ t |  _ d  S(   Nc           S` s   t  j d ƒ ‚ d  S(   Ni*   (   R   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   k  s    i*   (   R   R   RË   RQ   R+   RÖ   RÔ   (   R&   R3   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_pass_callbackh  s
    
c         #` s[   t  j d „  ƒ ‰  t  j ‡  f d †  ƒ } | ƒ  } |  j t ƒ 
 | VWd  QXt |  _ d  S(   Nc           S` s   d d d  S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRå   v  s    c           3` s-   y ˆ  ƒ  VWn t  k
 r( t ƒ  ‚ n Xd  S(   N(   RM   t   KeyError(    (   Rå   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRæ   z  s    (   R   RË   RL   R÷   RÖ   RÔ   (   R&   Ræ   Ró   (    (   Rå   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt!   test_replace_yieldpoint_exceptionr  s    	c         #` sQ   t  j d „  ƒ ‰  t  j ‡  f d †  ƒ } | ƒ  V} |  j | d ƒ t |  _ d  S(   Nc           S` s   d d d  S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRå   Š  s    c           3` s3   y ˆ  ƒ  VWn  t  k
 r. t j d ƒ ‚ n Xd  S(   Ni*   (   RM   R   R¶   (    (   Rå   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRæ   Ž  s    i*   (   R   RË   R+   RÖ   RÔ   (   R&   Ræ   R=   (    (   Rå   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt!   test_swallow_yieldpoint_exception†  s
    
c      	   #` sY   t  ƒ  J t j ‡  f d †  ƒ } | ƒ  } ˆ  j t ƒ 
 | VWd  QXt ˆ  _ Wd  QXd  S(   Nc           3` s{   t  j d ƒ Vƒ  t  j d ƒ Vˆ  j j d „  ƒ y( t  j ˆ  j j ˆ  j j ƒ  d ƒ VWn t k
 rv t	 ƒ  ‚ n Xd  S(   Ni   c           S` s   d d S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT   ¦  s    i
   (
   R   RF   RG   R5   R6   RQ   t   add_timeoutR€   RM   R÷   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRæ   ¢  s    (   R   R   RË   RL   R÷   RÖ   RÔ   (   R&   Ræ   Ró   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_replace_context_exception™  s    
	c         #` sO   t  ƒ  @ t j ‡  f d †  ƒ } | ƒ  V} ˆ  j | d ƒ t ˆ  _ Wd  QXd  S(   Nc           3` s   t  j d ƒ Vƒ  t  j d ƒ Vˆ  j j d „  ƒ y( t  j ˆ  j j ˆ  j j ƒ  d ƒ VWn  t k
 r| t  j	 d ƒ ‚ n Xd  S(   Ni   c           S` s   d d S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT   »  s    i
   i*   (
   R   RF   RG   R5   R6   RQ   Rú   R€   RM   R¶   (    (   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRæ   ·  s    i*   (   R   R   RË   R+   RÖ   RÔ   (   R&   Ræ   R=   (    (   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_swallow_context_exception²  s
    

c         #` sø   g  ‰  t  j ‡  f d †  ƒ } t ƒ  } | j d  ƒ | d | ƒ | d | ƒ g V|  j d j ˆ  ƒ d ƒ g  ‰  | d t  j ƒ | d t  j ƒ g V|  j d j ˆ  ƒ d ƒ t |  _	 g  ‰  | d t  j ƒ | d | ƒ g V|  j d j ˆ  ƒ d ƒ d  S(   Nc         3` s-   x& t  d ƒ D] } ˆ  j |  ƒ | Vq Wd  S(   Ni   (   Rb   R*   (   R-   t	   yieldableRƒ   (   t   calls(    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   Ê  s    R®   t   bt    t
   aaaaabbbbbt
   abababababt
   abbbbbaaaa(
   R   RË   R   t
   set_resultR)   R+   t   joinR?   RÖ   RÔ   (   R&   R3   t	   immediate(    (   Rþ   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_momentÆ  s    	#	 c         c` s   t  j d ƒ Vt |  _ d  S(   Ng{®Gáz„?(   R   t   sleepRÖ   RÔ   (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt
   test_sleepà  s    c         #` sÑ   d t  f d „  ƒ  Y‰  t j ‡  f d †  ƒ } y | d ƒ VWn9 ˆ  k
 rx } |  j t | ƒ d ƒ |  j | j ƒ n Xy | d ƒ VWn9 ˆ  k
 rÃ } |  j t | ƒ d ƒ |  j | j ƒ n Xt |  _ d  S(   Nt   LeakedExceptionc           B` s   e  Z RS(    (   RÁ   RÂ   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR
  è  s   c         ` s   ˆ  |  ƒ ‚ d  S(   N(    (   t	   iteration(   R
  (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR§   ë  s    i   t   1i   t   2(	   RR   R   RË   R+   R’   t   assertIsNonet   __context__RÖ   RÔ   (   R&   R§   R@   (    (   R
  s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_py3_leak_exception_contextå  s    i   i   s#   asyncio.Future has reference cyclesc         ` si   t  j ‡ f d †  ƒ ‰  t  j ‡  f d †  ƒ } ˆ j j | d d ƒˆ j ˆ j ƒ  d  ƒ t ˆ _ d  S(   Nc          3` sU   d t  f d „  ƒ  Y}  |  ƒ  } t j | ƒ ˆ  _ t j d „  ƒ ƒ  Vt d ƒ ‚ d  S(   NRÀ   c           B` s   e  Z RS(    (   RÁ   RÂ   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRÀ     s   c           S` s   d  S(   N(   R)   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT   	  s    s
   Some error(   RÃ   RÄ   RÅ   t	   local_refR   RË   t
   ValueError(   RÀ   t	   local_var(   R&   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR§     s
    	c           3` s$   y ˆ  ƒ  VWn t  k
 r n Xd  S(   N(   R  (    (   R§   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   inner2  s    t   timeouti   (	   R   RË   R5   RÏ   RÉ   R  R)   RÖ   RÔ   (   R&   R  (    (   R§   R&   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_coroutine_refcountingý  s
    	s'   test only relevant with asyncio Futuresc         C` s£   t  |  _ t j ƒ  } |  j | j | j ƒ  ƒ | j t  ƒ d „  } t j | ƒ ƒ  } |  j	 | t j
 ƒ d t | j j d f } t | ƒ } |  j | | ƒ d  S(   Nc           s` s   t  j Vd  S(   N(   R   R?   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   !  s    s   created at %s:%di   (   RÖ   RÔ   t   asynciot   get_event_loopt
   addCleanupt	   set_debugt	   get_debugR   RË   t   assertIsInstanceR   t   __file__t   __code__t   co_firstlinenot   reprt   assertIn(   R&   t   asyncio_loopR3   RØ   t   expectedt   actual(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_asyncio_future_debug_info  s    		s   asyncio module not presentc         c` sN   t  j d „  ƒ } t j | ƒ  | ƒ  ƒ V} |  j | d d g ƒ t |  _ d  S(   Nc           s` s   t  j Vt  j d ƒ ‚ d  S(   Ni   (   R   R?   R¶   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3   2  s    i   (   R   RË   R  t   gatherR+   RÖ   RÔ   (   R&   R3   t   ret(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_asyncio_gather-  s    (   i   (   i   i   (   i   N()   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   skipIft   syst   version_infoR  R%  R  R)   R(  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRÒ   †  sR   					
		
"t   GenSequenceHandlerc           B` s0   e  Z e ƒ   e e j d  „  ƒ ƒ Z Wd QXRS(   c         c` sÈ   t  ƒ  ¹ |  j j j j |  _ |  j j t j d ƒ Vƒ t j d ƒ V|  j	 d ƒ |  j j t j d ƒ Vƒ t j d ƒ V|  j	 d ƒ |  j j t j d ƒ Vƒ t j d ƒ V|  j
 d ƒ Wd  QXd  S(   NRE   R  R[   R  t   3(   R   t   requestt
   connectiont   streamR5   R6   R   RF   RG   t   writet   finish(   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   get>  s    
N(   RÁ   RÂ   R   R   R   RC   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR,  <  s   
t   GenCoroutineSequenceHandlerc           B` s   e  Z e j d  „  ƒ Z RS(   c         c` sC   t  j V|  j d ƒ t  j V|  j d ƒ t  j V|  j d ƒ d  S(   NR  R  R-  (   R   R?   R1  R2  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  R  s    (   RÁ   RÂ   R   RË   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR4  Q  s   t%   GenCoroutineUnfinishedSequenceHandlerc           B` s   e  Z e j d  „  ƒ Z RS(   c         c` sC   t  j V|  j d ƒ t  j V|  j d ƒ t  j V|  j d ƒ d  S(   NR  R  R-  (   R   R?   R1  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  ]  s    (   RÁ   RÂ   R   RË   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR5  \  s   t   GenTaskHandlerc           B` s   e  Z e j d  „  ƒ Z RS(   c         c` sZ   t  ƒ  } t ƒ  $ t j | j |  j d ƒ ƒ V} Wd  QX| j ƒ  |  j d | j ƒ d  S(   Nt   urls   got response: (	   R   R   R   RQ   t   fetcht   get_argumentt   rethrowR2  t   body(   R&   t   clientt   response(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  i  s
    	
%
(   RÁ   RÂ   R   RË   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR6  h  s   t   GenExceptionHandlerc           B` s0   e  Z e ƒ   e e j d  „  ƒ ƒ Z Wd QXRS(   c         c` s3   |  j  j j j } t j | j ƒ Vt d ƒ ‚ d  S(   Nt   oops(   R.  R/  R0  R5   R   RQ   R6   RR   (   R&   R5   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  t  s    N(   RÁ   RÂ   R   R   R   RC   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR>  r  s   
t   GenCoroutineExceptionHandlerc           B` s   e  Z e j d  „  ƒ Z RS(   c         c` s3   |  j  j j j } t j | j ƒ Vt d ƒ ‚ d  S(   NR?  (   R.  R/  R0  R5   R   RQ   R6   RR   (   R&   R5   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  ~  s    (   RÁ   RÂ   R   RË   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR@  }  s   t   GenYieldExceptionHandlerc           B` s   e  Z e j d  „  ƒ Z RS(   c      	   #` st   |  j  j j j ‰  t ƒ  S ‡  f d †  } y t j | ƒ Vt d ƒ ‚ Wn t k
 ri |  j	 d ƒ n XWd  QXd  S(   Nc         ` s   ˆ  j  d „  ƒ d  S(   Nc           S` s   d d S(   Ni   i    (    (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT     s    (   R6   (   R;   (   R5   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRP   Œ  s    s   did not get expected exceptiont   ok(
   R.  R/  R0  R5   R   R   RQ   RR   RM   R2  (   R&   RP   (    (   R5   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  ‡  s    
(   RÁ   RÂ   R   RË   R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRA  †  s   t   UndecoratedCoroutinesHandlerc           B` s,   e  Z e j d  „  ƒ Z e j d „  ƒ Z RS(   c         c` s%   g  |  _  t j V|  j  j d ƒ d  S(   NR  (   t   chunksR   R?   R*   (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   prepare—  s    	c         c` sM   |  j  j d ƒ t j V|  j  j d ƒ t j V|  j d j |  j  ƒ ƒ d  S(   NR  R-  R   (   RD  R*   R   R?   R1  R  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3    s
    (   RÁ   RÂ   R   RË   RE  R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRC  –  s   t   AsyncPrepareErrorHandlerc           B` s#   e  Z e j d  „  ƒ Z d „  Z RS(   c         c` s   t  j Vt d ƒ ‚ d  S(   Ni“  (   R   R?   R   (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRE  §  s    c         C` s   |  j  d ƒ d  S(   NRB  (   R2  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR3  ¬  s    (   RÁ   RÂ   R   RË   RE  R3  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRF  ¦  s   t   NativeCoroutineHandlerc           B` s+   e  Z e j d k r) e j d ƒ d Un  RS(   i   i   s   
        async def get(self):
            import asyncio
            await asyncio.sleep(0)
            self.write("ok")
        N(   i   i   (   RÁ   RÂ   R*  R+  t   textwrapt   dedent(    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRG  °  s   t
   GenWebTestc           B` sq   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z e d
 „  ƒ Z RS(   c         C` sd   t  d t f d t f d t f d t f d t f d t f d t f d t f d	 t	 f d
 t
 f g
 ƒ S(   Ns	   /sequences   /coroutine_sequences   /coroutine_unfinished_sequences   /tasks
   /exceptions   /coroutine_exceptions   /yield_exceptions   /undecorated_coroutines   /async_prepare_errors   /native_coroutine(   R   R,  R4  R5  R6  R>  R@  RA  RC  RF  RG  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   get_app»  s    								c         C` s&   |  j  d ƒ } |  j | j d ƒ d  S(   Ns	   /sequencet   123(   R8  R+   R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_sequence_handlerÊ  s    c         C` s&   |  j  d ƒ } |  j | j d ƒ d  S(   Ns   /coroutine_sequenceRL  (   R8  R+   R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_coroutine_sequence_handlerÎ  s    c         C` s&   |  j  d ƒ } |  j | j d ƒ d  S(   Ns   /coroutine_unfinished_sequenceRL  (   R8  R+   R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt*   test_coroutine_unfinished_sequence_handlerÒ  s    c         C` s9   |  j  d t |  j d ƒ ƒ ƒ } |  j | j d ƒ d  S(   Ns   /task?url=%ss	   /sequences   got response: 123(   R8  R   t   get_urlR+   R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_task_handlerÖ  s    "c         C` s<   t  t d ƒ  |  j d ƒ } Wd  QX|  j d | j ƒ d  S(   Ns!   Uncaught exception GET /exceptions
   /exceptioniô  (   R   R   R8  R+   t   code(   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_exception_handlerÚ  s    c         C` s<   t  t d ƒ  |  j d ƒ } Wd  QX|  j d | j ƒ d  S(   Ns+   Uncaught exception GET /coroutine_exceptions   /coroutine_exceptioniô  (   R   R   R8  R+   RR  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt    test_coroutine_exception_handlerà  s    c         C` s&   |  j  d ƒ } |  j | j d ƒ d  S(   Ns   /yield_exceptionRB  (   R8  R+   R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_yield_exception_handleræ  s    c         C` s&   |  j  d ƒ } |  j | j d ƒ d  S(   Ns   /undecorated_coroutineRL  (   R8  R+   R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_undecorated_coroutinesê  s    c         C` s&   |  j  d ƒ } |  j | j d ƒ d  S(   Ns   /async_prepare_errori“  (   R8  R+   RR  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt    test_async_prepare_error_handlerî  s    c         C` s9   |  j  d ƒ } |  j | j d ƒ |  j | j d ƒ d  S(   Ns   /native_coroutineiÈ   RB  (   R8  R+   RR  R;  (   R&   R=  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_native_coroutine_handlerò  s    (   RÁ   RÂ   RK  RM  RN  RO  RQ  RS  RT  RU  RV  RW  R   RX  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRJ  º  s   										t   WithTimeoutTestc           B` s¹   e  Z e d  „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e j e	 d k d ƒ e d „  ƒ ƒ Z e j e	 d k d ƒ e d „  ƒ ƒ Z e j e	 d k d ƒ e d „  ƒ ƒ Z RS(	   c         c` s=   |  j  t j ƒ % t j t j d d ƒ t ƒ  ƒ VWd  QXd  S(   Nt   secondsgš™™™™™¹?(   RL   R   t   TimeoutErrorRí   Rî   Rï   R   (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_timeoutú  s    c         #` sd   t  ƒ  ‰  |  j j t j d d ƒ ‡  f d †  ƒ t j t j d d ƒ ˆ  ƒ V} |  j | d ƒ d  S(   NRZ  gš™™™™™¹?c           ` s   ˆ  j  d ƒ S(   Nt   asdf(   R  (    (   Ró   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT     s    i  R]  (   R   R5   Rú   Rî   Rï   R   Rí   R+   (   R&   R=   (    (   Ró   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_completes_before_timeout   s    	
c         #` sh   t  ƒ  ‰  |  j j t j d d ƒ ‡  f d †  ƒ |  j t ƒ " t j t j d d ƒ ˆ  ƒ VWd  QXd  S(   NRZ  gš™™™™™¹?c           ` s   ˆ  j  t ƒ  ƒ S(   N(   t   set_exceptionRM   (    (   Ró   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT     s    i  (	   R   R5   Rú   Rî   Rï   RL   RM   R   Rí   (   R&   (    (   Ró   s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_fails_before_timeout	  s    		c         c` sI   t  ƒ  } | j d ƒ t j t j d d ƒ | ƒ V} |  j | d ƒ d  S(   NR]  RZ  i  (   R   R  R   Rí   Rî   Rï   R+   (   R&   Ró   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_already_resolved  s
    	
s   futures module not presentc         c` s^   t  j d ƒ I } |  j t j ƒ . t j |  j j ƒ  | j t j	 d ƒ ƒ VWd  QXWd  QXd  S(   Ni   gš™™™™™¹?(
   R   t   ThreadPoolExecutorRL   R   R[  Rí   R5   R€   t   submitR  (   R&   t   executor(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_timeout_concurrent_future  s    c         c` sU   t  j d ƒ @ } | j d „  ƒ } | j ƒ  t j t j d d ƒ | ƒ VWd  QXd  S(   Ni   c           S` s   d  S(   N(   R)   (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT   *  s    RZ  i  (   R   Rb  Rc  R=   R   Rí   Rî   Rï   (   R&   Rd  R3   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt    test_completed_concurrent_future$  s    
c         c` sE   t  j d ƒ 0 } t j t j d d ƒ | j d „  ƒ ƒ VWd  QXd  S(   Ni   RZ  i  c           S` s   t  j d ƒ S(   Ng{®Gáz„?(   R€   R  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRT   4  s    (   R   Rb  R   Rí   Rî   Rï   Rc  (   R&   Rd  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_normal_concurrent_future.  s    N(   RÁ   RÂ   R   R\  R^  R`  Ra  R   R)  R   R)   Re  Rf  Rg  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRY  ù  s   	
	t   WaitIteratorTestc           B` sb   e  Z e d  „  ƒ Z e d „  ƒ Z d „  Z e d „  ƒ Z e e d „  ƒ ƒ Z e d „  ƒ Z	 RS(   c         C` s}   t  j ƒ  } |  j | j ƒ  d ƒ |  j t ƒ  t  j t d t ƒ} Wd  QX|  j | j d  d ƒ |  j | j
 d  d ƒ d  S(   Ns   empty generator iteratedRv   s   bad nil current indexs   bad nil current future(   R   t   WaitIteratorRH   t   doneRL   R  RÓ   R+   t   current_indexR)   t   current_future(   R&   t   g(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_empty_iterator8  s    c   	      c` s{  t  ƒ  } t  ƒ  } t  ƒ  } | j d ƒ | j d ƒ | j d ƒ t j | | | ƒ } d } xö | j ƒ  sU| j ƒ  V} | d k r¾ |  j | j d ƒ |  j | j	 | ƒ |  j | d ƒ nŠ | d k r|  j | j d ƒ |  j | j	 | ƒ |  j | d ƒ nE | d k rH|  j | j d ƒ |  j | j	 | ƒ |  j | d ƒ n  | d 7} q` W|  j | j d  d ƒ |  j | j	 d  d ƒ t j d	 | d
 | ƒ } x® | j ƒ  sJ| j ƒ  V} | j d	 k rí|  j | j	 | k oã| d k d ƒ nP | j d
 k r$|  j | j	 | k o| d k d ƒ n |  j d j | j ƒ ƒ | d 7} qW|  j | j d  d ƒ |  j | j	 d  d ƒ d  S(   Ni   i*   iT   i    i   i   s   bad nil current indexs   bad nil current futureRå   Ræ   s"   WaitIterator dict status incorrects   got bad WaitIterator index {}(   R   R  R   Ri  Rj  t   nextR+   Rk  RÉ   Rl  R)   RH   t   failt   format(	   R&   Rå   Ræ   Ré   Rm  Rƒ   t   rt   dgt   dr(    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_already_doneC  sN    			

c         C` s¤   | d k r  | d j  d ƒ nT | d k rC | d j t ƒ  ƒ n1 | d k rt | d j  d ƒ | d j  d	 ƒ n  | d k  r  |  j j |  j | d | ƒ n  d  S(
   Ni   i   i   i   i    i   i   i*   iT   (   R  R_  RM   R5   R6   t   finish_coroutines(   R&   R  R   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRv  v  s    c         c` sK  t  ƒ  t  ƒ  t  ƒ  t  ƒ  g } |  j d | ƒ t j | Œ  } d } x| j ƒ  sFy | j ƒ  V} Wn+ t k
 r |  j | j | d d ƒ n© X| d k rÉ |  j	 | d d ƒ |  j	 | j
 d d ƒ np | d k r|  j	 | d d ƒ |  j	 | j
 d d ƒ n8 | d	 k r9|  j	 | d
 d ƒ |  j	 | j
 d	 d ƒ n  | d 7} qF Wd  S(   Ni    s   exception future invalidi   s   iterator value incorrecti   s   wrong indexi*   i   i   iT   (   R   Rv  R   Ri  Rj  Ro  RM   RÉ   Rl  R+   Rk  (   R&   R   Rm  Rƒ   Rr  (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_iterator‚  s(    c         c` so   t  ƒ  t  ƒ  t  ƒ  t  ƒ  g } |  j d | ƒ t |  _ t t ƒ  t ƒ  d ƒ } | d ƒ  V|  j |  j ƒ d  S(   Ni    s  
        async def f():
            i = 0
            g = gen.WaitIterator(*futures)
            try:
                async for r in g:
                    if i == 0:
                        self.assertEqual(r, 24, 'iterator value incorrect')
                        self.assertEqual(g.current_index, 2, 'wrong index')
                    else:
                        raise Exception("expected exception on iteration 1")
                    i += 1
            except ZeroDivisionError:
                i += 1
            async for r in g:
                if i == 2:
                    self.assertEqual(r, 42, 'iterator value incorrect')
                    self.assertEqual(g.current_index, 1, 'wrong index')
                elif i == 3:
                    self.assertEqual(r, 84, 'iterator value incorrect')
                    self.assertEqual(g.current_index, 3, 'wrong index')
                else:
                    raise Exception("didn't expect iteration %d" % i)
                i += 1
            self.finished = True
        R3   (   R   Rv  RÓ   RÔ   R   Rà   Rá   RH   (   R&   R   Râ   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_iterator_async_await  s    		c         c` s9   t  j t j d d ƒ t  j t  j d ƒ ƒ j ƒ  ƒ Vd  S(   NRZ  gš™™™™™¹?i    (   R   Rí   Rî   Rï   Ri  R  Ro  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_no_refÄ  s    (
   RÁ   RÂ   R   Rn  Ru  Rv  Rw  R   Rx  Ry  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRh  7  s   3	&t   RunnerGCTestc           B` sA   e  Z d  „  Z e d „  ƒ Z d „  Z e d „  ƒ Z d „  Z RS(   c         C` s   t  j ƒ  d k o t j d k S(   Nt   PyPyi   (   i   (   t   platformt   python_implementationR*  R+  (   R&   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   is_pypy3Ï  s    c         #` sZ   d  g ‰ ‡ f d †  ‰  t j ‡  ‡ ‡ f d †  ƒ } t j t j d d ƒ | ƒ  ƒ Vd  S(   Nc           ` s%   t  j d ƒ ˆ  d ƒ  j d ƒ d  S(   Ni   i    i{   (   t   gct   collectR  (    (   t   weakref_scope(    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR;   Ù  s    c          3` s5   t  ƒ  }  t j |  ƒ ˆ d <ˆ j j ˆ  ƒ |  Vd  S(   Ni    (   R   RÄ   RÅ   R5   R6   (   t   fut(   R;   R&   R  (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   testerÝ  s    	RZ  gš™™™™™É?(   R)   R   RË   Rí   Rî   Rï   (   R&   Rƒ  (    (   R;   R&   R  s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_gcÓ  s    	c         ` sê   t  j ƒ  j j d ƒ r* t j d ƒ ‚ n  |  j ƒ  } g  ‰ g  ‰ t j ‡ f d †  ƒ ‰  t j ‡  ‡ f d †  ƒ } | j	 | ƒ | j
 ƒ  t j ƒ  |  j ˆ d ƒ  d  ƒ |  j t ˆ ƒ d ƒ |  j ƒ  sæ |  j ˆ d d  ƒ n  d  S(   Nt   TwistedIOLoops   Test may fail on TwistedIOLoopc           3` sA   z, x% t  r* t j d ƒ Vˆ  j t  ƒ q WWd  ˆ  j d  ƒ Xd  S(   Ngü©ñÒMbP?(   RÖ   R   R  R*   R)   (    (   R=   (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   infinite_coroô  s
    	c          3` s:   ˆ  ƒ  }  |  |  _  ˆ j t j |  ƒ ƒ t j d ƒ Vd  S(   Ngš™™™™™É?(   t	   _refcycleR*   RÄ   RÅ   R   R  (   R‚  (   R†  t   wfut(    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   do_somethingþ  s    		i    i   iÿÿÿÿ(   R   t   configured_classRÁ   t   endswithR   t   SkipTestt   get_new_ioloopR   RË   RÏ   t   closeR  R€  RÉ   R)   t   assertGreaterEqualR¬   R~  (   R&   t   loopR‰  (    (   R†  R=   Rˆ  s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_gc_infinite_coroé  s    


c         ` sò   d d  l  ‰  t t ƒ  t ƒ  d ƒ } | d ‰ |  j ƒ  } g  ‰ g  ‰ t j ‡  ‡ ‡ ‡ f d †  ƒ } | j | ƒ t d d ƒ  | j	 ƒ  t
 j ƒ  Wd  QX|  j ˆ d ƒ  d  ƒ |  j t ˆ ƒ d ƒ |  j ƒ  sî |  j ˆ d d  ƒ n  d  S(	   Ni    s  
        async def infinite_coro(result):
            try:
                while True:
                    await gen.sleep(1e-3)
                    result.append(True)
            finally:
                # coroutine finalizer
                result.append(None)
        R†  c          3` sL   ˆ  j  ƒ  j ˆ ˆ ƒ ƒ }  |  |  _ ˆ j t j |  ƒ ƒ t j d ƒ Vd  S(   Ngš™™™™™É?(   R  t   create_taskR‡  R*   RÄ   RÅ   R   R  (   R‚  (   R  R†  R=   Rˆ  (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyR‰  %  s    	R  s$   Task was destroyed but it is pendingi   iÿÿÿÿ(   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ˆ  s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_gc_infinite_async_await  s     		
!
c         C` sG   t  j d „  ƒ } |  j ƒ  } | j | ƒ } |  j | d  d  g ƒ d  S(   Nc          s` s/   t  j t  j t  j g ƒ V}  t  j |  ƒ ‚ d  S(   N(   R   t   multiR?   R¶   (   R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   wait_a_moment;  s    (   R   RË   R  RÏ   R+   R)   (   R&   R•  R  R=   (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   test_multi_moment8  s    (	   RÁ   RÂ   R~  R   R„  R‘  R   R“  R–  (    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyRz  Î  s
   		'(t   __main__(F   t
   __future__R    R   R   R  R/   Rî   R7   R|  R*  RH  R€   RÄ   R   t   tornado.concurrentR   R   t   tornado.escapeR   t   tornado.httpclientR   t   tornado.ioloopR   t   tornado.logR   t   tornadoR	   t   tornado.testingR
   R   R   R   t   tornado.test.utilR   R   R   R   R   R   R   t   tornado.webR   R   R   R   R   t
   concurrentR   t   ImportErrorR)   R  R   RÌ   RÒ   R,  R4  R5  R6  R>  R@  RA  RC  RF  RG  RJ  RY  Rh  Rz  RÁ   t   main(    (    (    s4   lib/python2.7/site-packages/tornado/test/gen_test.pyt   <module>   sd   "4"

ÿ ÿ äÿ ·
	

?>—w