
    Mh                        d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
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mZmZ  G d	 d
e          Z G d de          Z G d de          Z G d de          Z G d d          Z G d de          Z G d de          Z G d de          Z e!dk    r ej"                     dS dS )    )futuresN)Futurechain_futurerun_on_executor"future_set_result_unless_cancelled)utf8
to_unicode)gen)IOStream)	TCPServer)AsyncTestCasebind_unused_portgen_testc                       e Zd Zd ZdS )MiscFutureTestc                    t                      }t          |d           |                     |                                d           |                     |                                           t                      }|                                 |                                }t          |d           |                     |                                |           |s*|                     |                                d           d S d S N*   )r   r   assertEqualresultassertFalse	cancelledcancel)selffutis_cancelleds      \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/tornado/test/concurrent_test.py'test_future_set_result_unless_cancelledz6MiscFutureTest.test_future_set_result_unless_cancelled#   s    hh*3333r***)))hh

}}*3333,777 	/SZZ\\2.....	/ 	/    N)__name__
__module____qualname__r    r   r   r   r   "   s#        / / / / /r   r   c                   :    e Zd Zed             Zed             ZdS )ChainFutureTestc                    K   t                      }t                      }t          ||           |                    d           | d {V }|                     |d           d S r   )r   r   
set_resultr   )r   r   fut2r   s       r   test_asyncio_futuresz$ChainFutureTest.test_asyncio_futures3   sg      !88"HHS$r$$$$$r   c                   K   t          j                    }t          j                    }t                      }t          ||           t          ||           |                    d           | d {V }|                     |d           d S r   )r   r   r   r'   r   )r   r   r(   fut3r   s        r   test_concurrent_futuresz'ChainFutureTest.test_concurrent_futures<   s      
 $+>#3#3$+N$4$4"HHS$T4   r$$$$$r   N)r    r!   r"   r   r)   r,   r#   r   r   r%   r%   2   sH        % % X% % % X% % %r   r%   c                   .    e Zd Zej        d             ZdS )	CapServerc              #   H  K   |                     d          V }t          |          }||                                k    r|                    d           n7|                    t	          d|                                z                       |                                 d S )N   
s   error	already capitalized
zok	%s)
read_untilr	   upperwriter   close)r   streamaddressdatas       r   handle_streamzCapServer.handle_streamP   s      &&u----$4::<<LL89999 LLh566777r   N)r    r!   r"   r
   	coroutiner8   r#   r   r   r.   r.   O   s/        ]  ]  r   r.   c                       e Zd ZdS )CapErrorN)r    r!   r"   r#   r   r   r;   r;   \   s        Dr   r;   c                       e Zd Zd Zd ZdS )BaseCapClientc                     || _         d S Nport)r   rA   s     r   __init__zBaseCapClient.__init__a   s    			r   c                     t          j        dt          |                    }|t          d          |                                \  }}|dk    r|S t          |          )Nz
(.*)	(.*)
zdid not matchok)rematchr	   	Exceptiongroupsr;   )r   r7   mstatusmessages        r   process_responsezBaseCapClient.process_responsed   s[    H^Z%5%5669O,,,((**T>>N7###r   N)r    r!   r"   rB   rL   r#   r   r   r=   r=   `   s2          $ $ $ $ $r   r=   c                   .    e Zd Zej        d             ZdS )GeneratorCapClientc              #     K   t          j        d           t          t          j                              }t          j        d           |                    d| j        f          V  |                    t          |dz                        t          j        d           |                    d          V }t          j        d           |	                                 t          j        |                     |                    )N
capitalize
connectingz	127.0.0.1
readingr0   	returning)loggingdebugr   socketconnectrA   r3   r   r1   r4   r
   ReturnrL   )r   request_datar5   r7   s       r   rP   zGeneratorCapClient.capitalizep   s      l###&-//**l###nnk49566666T,-..///i   &&u----k"""j..t44555r   N)r    r!   r"   r
   r9   rP   r#   r   r   rN   rN   o   s/        ]
6 
6 ]
6 
6 
6r   rN   c                   @     e Zd Z fdZ fdZd Zd Zd Zd Z xZ	S )GeneratorCapClientTestc                     t                                                       t                      | _        t	                      \  }}| j                            |g           t          |          | _        d S )Nr@   )supersetUpr.   serverr   add_socketsrN   client)r   sockrA   	__class__s      r   r_   zGeneratorCapClientTest.setUp   s\    kk%''
d'''(d333r   c                 z    | j                                          t                                                       d S r?   )r`   stopr^   tearDown)r   rd   s    r   rg   zGeneratorCapClientTest.tearDown   s3    r   c                     | j                             d          }| j                            || j                   |                                  |                     |                                d           d S NhelloHELLO)rb   rP   io_loop
add_futurerf   waitr   r   r   futures     r   test_futurez"GeneratorCapClientTest.test_future   sb    ''00	222		'22222r   c                     | j                             d          }| j                            || j                   |                                  |                     t          d|j                   d S )Nrk   already capitalized)	rb   rP   rl   rm   rf   rn   assertRaisesRegexr;   r   ro   s     r   test_future_errorz(GeneratorCapClientTest.test_future_error   s_    ''00	222		x)>NNNNNr   c                 j     t           j         fd            } j                            |           d S )Nc               3   p   K   j                             d          V }                     | d           d S ri   )rb   rP   r   )r   r   s    r   fz0GeneratorCapClientTest.test_generator.<locals>.f   s>      ;11'::::FVW-----r   r
   r9   rl   run_syncr   rx   s   ` r   test_generatorz%GeneratorCapClientTest.test_generator   sF    		. 	. 	. 	. 
	. 	a     r   c                 j     t           j         fd            } j                            |           d S )Nc               3      K                         t          d          5   j                            d          V  d d d            d S # 1 swxY w Y   d S )Nrs   rk   )rt   r;   rb   rP   r   s   r   rx   z6GeneratorCapClientTest.test_generator_error.<locals>.f   s      ''2GHH 6 6k,,W555556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   A		AAry   r{   s   ` r   test_generator_errorz+GeneratorCapClientTest.test_generator_error   sF    		6 	6 	6 	6 
	6 	a     r   )
r    r!   r"   r_   rg   rq   ru   r|   r   __classcell__)rd   s   @r   r\   r\   ~   s        4 4 4 4 4    3 3 3O O O! ! !! ! ! ! ! ! !r   r\   c                   f    e Zd Zed             Zed             Zed             Zed             ZdS )RunOnExecutorTestc              #      K    G d d          } |            }|                                 V }|                     |d           d S )Nc                   *    e Zd Zd Zed             ZdS )1RunOnExecutorTest.test_no_calling.<locals>.Objectc                 N    t           j                            d          | _        d S N   r   threadThreadPoolExecutorexecutorr   s    r   rB   z:RunOnExecutorTest.test_no_calling.<locals>.Object.__init__        ' A A! D Dr   c                     dS r   r#   r   s    r   rx   z3RunOnExecutorTest.test_no_calling.<locals>.Object.f       rr   Nr    r!   r"   rB   r   rx   r#   r   r   Objectr      sA        E E E   _  r   r   r   rx   r   r   r   oanswers       r   test_no_callingz!RunOnExecutorTest.test_no_calling   h      	 	 	 	 	 	 	 	 FHHssuu$$$$$r   c              #      K    G d d          } |            }|                                 V }|                     |d           d S )Nc                   :    e Zd Zd Z e            d             ZdS )8RunOnExecutorTest.test_call_with_no_args.<locals>.Objectc                 N    t           j                            d          | _        d S r   r   r   s    r   rB   zARunOnExecutorTest.test_call_with_no_args.<locals>.Object.__init__   r   r   c                     dS r   r#   r   s    r   rx   z:RunOnExecutorTest.test_call_with_no_args.<locals>.Object.f   r   r   Nr   r#   r   r   r   r      J        E E E _    r   r   r   r   r   s       r   test_call_with_no_argsz(RunOnExecutorTest.test_call_with_no_args   r   r   c              #      K    G d d          } |            }|                                 V }|                     |d           d S )Nc                   >    e Zd Zd Z ed          d             ZdS )9RunOnExecutorTest.test_call_with_executor.<locals>.Objectc                 N    t           j                            d          | _        d S r   )r   r   r   _Object__executorr   s    r   rB   zBRunOnExecutorTest.test_call_with_executor.<locals>.Object.__init__   s    ")."C"CA"F"Fr   r   )r   c                     dS r   r#   r   s    r   rx   z;RunOnExecutorTest.test_call_with_executor.<locals>.Object.f   r   r   Nr   r#   r   r   r   r      sP        G G G _&9:::  ;:  r   r   r   r   r   s       r   test_call_with_executorz)RunOnExecutorTest.test_call_with_executor   r   r   c              #      K    G d d          } |            fd} |            V }|                      |d           d S )Nc                   :    e Zd Zd Z e            d             ZdS )2RunOnExecutorTest.test_async_await.<locals>.Objectc                 N    t           j                            d          | _        d S r   r   r   s    r   rB   z;RunOnExecutorTest.test_async_await.<locals>.Object.__init__   r   r   c                     dS r   r#   r   s    r   rx   z4RunOnExecutorTest.test_async_await.<locals>.Object.f   r   r   Nr   r#   r   r   r   r      r   r   r   c                  @   K                                     d {V } | S r?   )rx   )r   r   s    r   rx   z-RunOnExecutorTest.test_async_await.<locals>.f   s%      3355[[[[[[FMr   r   )r   )r   r   rx   r   r   s       @r   test_async_awaitz"RunOnExecutorTest.test_async_await   s      	 	 	 	 	 	 	 	 FHH	 	 	 	 	 qss$$$$$r   N)r    r!   r"   r   r   r   r   r   r#   r   r   r   r      s~        % % X% % % X% % % X% % % X% % %r   r   __main__)#
concurrentr   rU   rE   rW   unittesttornado.concurrentr   r   r   r   tornado.escaper   r	   tornador
   tornado.iostreamr   tornado.tcpserverr   tornado.testingr   r   r   r   r%   r.   rG   r;   r=   rN   r\   r   r    mainr#   r   r   <module>r      s]          				              , + + + + + + +       % % % % % % ' ' ' ' ' ' E E E E E E E E E E/ / / / /] / / / % % % % %m % % %:
 
 
 
 
	 
 
 
	 	 	 	 	y 	 	 	$ $ $ $ $ $ $ $6 6 6 6 6 6 6 6&! &! &! &! &!] &! &! &!R<% <% <% <% <% <% <% <%~ zHMOOOOO r   