
    <e6                     6   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z
 d 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                     dS dS )    N)socket_helper)utils)
functionalc                  .    t          j        d            d S N)asyncioset_event_loop_policy     4/usr/lib/python3.11/test/test_asyncio/test_server.pytearDownModuler      s    !$'''''r   c                       e Zd Zd Zd ZdS )BaseStartServerc                     t           r   )NotImplementedErrorselfs    r   new_loopzBaseStartServer.new_loop   s    !!r   c                 2   ddz  dz   fdfd}d }| j                             t          j        |t          j        dd	                    |                                                                | j                              |                    j	        d         
                                |                     t          j                  5  |                     fd
          5  | j                                        d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   |                     j	        d           |                     j                   |                     j                   |                                                                |                     t&          d          5  | j                                                                        d d d            d S # 1 swxY w Y   d S )N   1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111      
c                 ^   t          d          D ],}t          j        d                                           r n-t          |                     d           |                     |           |                                |                     d           | 	                                 d S )N
   g?      )
rangetimesleep
is_servingRuntimeError
settimeoutconnectsendrecv_allclose)sockaddri	HELLO_MSGsrvs      r   clientz3BaseStartServer.test_start_server_1.<locals>.client   s    2YY # #
3>>## E #"OOALLIIi   MM!JJLLLLLr   c                    K   |                                   d {V                                   |                    d           |                                 |                                 d {V  d S N   1readlinecancelwriter&   wait_closedreaderwriter	main_tasks     r   servez2BaseStartServer.test_start_server_1.<locals>.serve%         //#########LLLLNNN$$&&&&&&&&&&&r   c                    K   | 4 d {V  |                                   d {V  d d d           d {V  d S # 1 d {V swxY w Y   d S r   )serve_forever)r+   s    r   mainz1BaseStartServer.test_start_server_1.<locals>.main,   s       * * * * * * * *'')))))))))* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *s   9
AAr   Fstart_servingc                      |           S r   r
   r'   r(   r,   s    r   <lambda>z5BaseStartServer.test_start_server_1.<locals>.<lambda>9   s    ffT4.@.@ r   r
   	is closed)looprun_until_completer   start_serverr   HOSTv4assertFalser    create_tasksocketsgetsocknameassertRaisesCancelledError
tcp_clientassertEqualassertIsNone_sockets_waitersassertRaisesRegexr!   r<   )r   r9   r=   r*   r(   r,   r8   r+   s      @@@@@r   test_start_server_1z#BaseStartServer.test_start_server_1   s   !Oe+		 	 	 	 	 		' 	' 	' 	' 	'	* 	* 	* i**7+?='%,A ,A ,A B B 	))***I))$$s))44	{1~))++w566 	8 	8!@!@!@!@!@AA 8 8	,,Y7778 8 8 8 8 8 8 8 8 8 8 8 8 8 8	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	b)))#,'''#,'''))***##L,?? 	> 	>I(():):)<)<===	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	>sH   D68DD6D#	#D6&D#	'D66D:=D:-HHHN)__name__
__module____qualname__r   rT   r
   r   r   r   r      s2        " " "/> /> /> /> />r   r   c                   4    e Zd Zd Zej        d             ZdS )SelectorStartServerTestsc                 (    t          j                    S r   )r   SelectorEventLoopr   s    r   r   z!SelectorStartServerTests.new_loopH       (***r   c                     ddz  dz   t          j                    fdfd} fd}t          j                    5  j                            t          j        |d                    } j                             ||                     	                    t          j
                  5                       fd	          5   j                                       d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y                        |j        d
                                |j                                        |j                                        |                                                                t(          d          5   j                            |                                           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   r   c                    |                      d                               d           |                     |           |                                |                     d           |                                  d S )Nr   r   r   )r"   waitr#   r$   r%   r&   )r'   r(   r*   starteds     r   r,   zASelectorStartServerTests.test_start_unix_server_1.<locals>.clientP   sk    OOALLOOOLLIIi   MM!JJLLLLLr   c                    K   |                                   d {V                                   |                    d           |                                 |                                 d {V  d S r.   r0   r5   s     r   r9   z@SelectorStartServerTests.test_start_unix_server_1.<locals>.serveX   r:   r   c                   K   | 4 d {V                       |                                            |                                  d {V                      |                                                                             |                                  d {V  d d d           d {V  d S # 1 d {V swxY w Y   d S r   )rH   r    r?   
assertTruesetr<   )r+   r   r`   s    r   r=   z?SelectorStartServerTests.test_start_unix_server_1.<locals>.main_   sZ      * * * * * * * *  !1!1222''))))))))) 0 0111'')))))))))* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *s   BB66
C C Fr>   c                      |           S r   r
   rA   s    r   rB   zCSelectorStartServerTests.test_start_unix_server_1.<locals>.<lambda>n   s    66$3E3E r   r
   rC   )	threadingEvent
test_utilsunix_socket_pathrD   rE   r   start_unix_serverrI   rL   rM   unix_clientrO   rJ   rP   rQ   rR   rH   r    rS   r!   r<   )	r   r9   r=   r+   r*   r(   r,   r8   r`   s	   `   @@@@@r   test_start_unix_server_1z1SelectorStartServerTests.test_start_unix_server_1K   sH   !Oe+	/##	 	 	 	 	 		' 	' 	' 	' 	'	* 	* 	* 	* 	* 	* (** 	Bd)..w/Ht502 02 02 3 3C 	--dd3ii88I""7#9:: < <%%&E&E&E&E&EFF < <I00;;;< < < < < < < < < < < < < < << < < < < < < < < < < < < < < S["---cl+++cl+++S^^--...''lCC B B	,,S->->-@-@AAAB B B B B B B B B B B B B B B!	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	B 	Bs   A2G=8DC9-D9C==D C=DG=D	G=D	BG=,-G%G=%G)	)G=,G)	-G==HHN)rU   rV   rW   r   r   skip_unless_bind_unix_socketrl   r
   r   r   rY   rY   F   sG        + + + /,B ,B 0/,B ,B ,Br   rY   ProactorEventLoopzWindows onlyc                       e Zd Zd ZdS )ProactorStartServerTestsc                 (    t          j                    S r   )r   rn   r   s    r   r   z!ProactorStartServerTests.new_loop~   r\   r   N)rU   rV   rW   r   r
   r   r   rp   rp   {   s#        + + + + +r   rp   __main__)r   r   rf   unittesttest.supportr   test.test_asyncior   rh   r   
func_testsr   FunctionalTestCaseMixinr   TestCaserY   
skipUnlesshasattrrp   rU   r=   r
   r   r   <module>r{      sV          & & & & & & 1 1 1 1 1 1 6 6 6 6 6 6( ( (4> 4> 4> 4> 4>j8 4> 4> 4>n2B 2B 2B 2B 2B0A 2B 2B 2Bj WWW&9::NKK+ + + + +0A + + LK+ zHMOOOOO r   