
    daf!	                     :   d dl Z d dlZd dlmZ d Z G d de j                        Z G d dej                        Z	 G d d	e	ej                        Z ej                   ee d
      d       G d de	ej                               Zedk(  r ej                           yy)    N)
functionalc                  .    t        j                  d        y N)asyncioset_event_loop_policy     @/root/Python-3.12.4/Lib/test/test_asyncio/test_buffered_proto.pytearDownModuler      s    !!$'r	   c                   $    e Zd Zd Zd Zd Zd Zy)ReceiveStuffProtoc                      || _         || _        y r   )cbcon_lost_fut)selfr   r   s      r
   __init__zReceiveStuffProto.__init__   s    (r	   c                 :    t        d      | _        | j                  S )Nd   )	bytearraybuffer)r   sizehints     r
   
get_bufferzReceiveStuffProto.get_buffer   s    n{{r	   c                 @    | j                  | j                  d |        y r   )r   r   )r   nbytess     r
   buffer_updatedz ReceiveStuffProto.buffer_updated   s    GV$%r	   c                 v    || j                   j                  d        y | j                   j                  |       y r   )r   
set_resultset_exception)r   excs     r
   connection_lostz!ReceiveStuffProto.connection_lost   s/    ;((.++C0r	   N)__name__
__module____qualname__r   r   r   r    r   r	   r
   r   r      s    )&1r	   r   c                       e Zd Zd Zd Zy)BaseTestBufferedProtocolc                     t         r   )NotImplementedErrorr   s    r
   new_loopz!BaseTestBufferedProtocol.new_loop    s    !!r	   c                     ddz   fd}fd} j                   j                  t        j                  |dd            }|j                  d   j                         } j                   j                  t        j                   ||      d             |j                           j                   j                  |j                                y )Ns	   12345678+i   c                    K   dfdj                   j                          j                   j                  fdg|   d {   \  } d {    y 7 7 w)Nr	   c                 >    | z  k(  rj                  d       y y )N   1)write)bufNOISEdatatrs    r
   on_bufz^BaseTestBufferedProtocol.test_buffered_proto_create_connection.<locals>.client.<locals>.on_buf*   s#    5=HHTN !r	   c                      t               S r   )r   )conn_lost_futr3   s   r
   <lambda>z`BaseTestBufferedProtocol.test_buffered_proto_create_connection.<locals>.client.<locals>.<lambda>3   s    )&-@ r	   )loopcreate_futurecreate_connection)addrprr5   r1   r3   r2   r0   r   s     @@@@r
   clientzNBaseTestBufferedProtocol.test_buffered_proto_create_connection.<locals>.client'   si     D# !II335M649966@ICGI IFB  I  s$   AA&A"A&A$A&$A&c                    K   |j                         | j                  d       d {    |j                          |j                          d {    y 7 -7 w)N   )r.   readexactlyclosewait_closed)readerwriterr0   s     r
   on_server_clientzXBaseTestBufferedProtocol.test_buffered_proto_create_connection.<locals>.on_server_client7   sK     LL$$Q'''LLN$$&&& (&s!   &AA'AAAAz	127.0.0.1r      )	r7   run_until_completer   start_serversocketsgetsocknamewait_forr@   rA   )r   r<   rD   srvr:   r0   s   `    @r
   %test_buffered_proto_create_connectionz>BaseTestBufferedProtocol.test_buffered_proto_create_connection#   s    t#	  	' ii**   +q23 {{1~))+		$$VD\1-	/ 					$$S__%67r	   N)r!   r"   r#   r)   rL   r   r	   r
   r%   r%      s    "#8r	   r%   c                       e Zd Zd Zy)BufferedProtocolSelectorTestsc                 *    t        j                         S r   )r   SelectorEventLoopr(   s    r
   r)   z&BufferedProtocolSelectorTests.new_loopL       ((**r	   Nr!   r"   r#   r)   r   r	   r
   rN   rN   I   s    +r	   rN   ProactorEventLoopzWindows onlyc                       e Zd Zd Zy)BufferedProtocolProactorTestsc                 *    t        j                         S r   )r   rS   r(   s    r
   r)   z&BufferedProtocolProactorTests.new_loopT   rQ   r	   NrR   r   r	   r
   rU   rU   P   s    +r	   rU   __main__)r   unittesttest.test_asyncior   
func_testsr   BufferedProtocolr   FunctionalTestCaseMixinr%   TestCaserN   
skipUnlesshasattrrU   r!   mainr   r	   r
   <module>ra      s      6(100 1&(8zAA (8V+$<$,$5$5+ WW&9:NK+$<$,$5$5+ L+ zHMMO r	   