
    X-Ph~                        d dl mZ d dlZd dlZd dlmZmZ d dlmZm	Z	 d dl
Z
d dlmZmZ dZddZddZ G d de          Zedk    r e	             dS dS )    )annotationsN)Queueget_context)TestCasemain)	IPCClient	IPCServerzdmypy-test-ipcmsgstrq
Queue[str]returnNonec                   t          t                    }|                    |j                   d}|sE|5  |                    |            |                                }d d d            n# 1 swxY w Y   |E|                                 d S )N )r	   CONNECTION_NAMEputconnection_namewritereadcleanup)r
   r   serverdatas       Q/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypy/test/testipc.pyr   r      s    ''FEE&
 !!!D ! 	! 	!LL;;==D	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!  ! NNs   *A++A/2A/c                ,   t          t                    }|                     |j                   d}|5  |dk    r/|                                }|                    |           |dk    /d d d            n# 1 swxY w Y   |                                 d S )Nr   quit)r	   r   r   r   r   r   r   )r   r   r   s      r   server_multi_message_echor      s    ''FEE&
 !!!D	  fnn;;==DLL fnn               NNs   6A55A9<A9c                  Z    e Zd Zd	dZd	dZd	dZd	dZej        j	        d	d            Z
dS )
IPCTestsr   r   c                z    t           j        dk    rt          d          | _        d S t          d          | _        d S )Nlinux
forkserverspawn)sysplatformr   ctx)selfs    r   setUpzIPCTests.setUp&   s5    <7"""<00DHHH"7++DHHH    c                   | j                                         }ddz  }| j                             t          ||fd          }|                                 |                                }t          |d          5 }|                                |k    sJ |                    d           d d d            n# 1 swxY w Y   |	                                 |
                                 |                                 d S )Nti@ Ttargetargsdaemon   timeouttest)r&   r   Processr   startgetr   r   r   closejoin_threadjoinr'   queuer
   pr   clients         r   test_transaction_largezIPCTests.test_transaction_large-   s    HNN,,FlHF#udKK				))++222 	!f;;==C''''LL   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 		s   <0B88B<?B<c                   | j                                         }d}| j                             t          ||fd          }|                                 |                                }t          |d          5 }|                                |k    sJ |                    d           d d d            n# 1 swxY w Y   t          |d          5 }|                                |k    sJ |                    d           d d d            n# 1 swxY w Y   |	                                 |
                                 |                                 |j        dk    sJ d S )	Nzthis is a test messageTr,   r0   r1   r   r3   r   )r&   r   r4   r   r5   r6   r   r   r   r7   r8   r9   exitcoder:   s         r   test_connect_twicezIPCTests.test_connect_twice:   s    HNN,,&HF#udKK				))++222 	f;;==C''''LL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 222 	!f;;==C''''LL   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 		zQs$   90B55B9<B90DDDc                   | j                                         }| j                             t          |fd          }|                                 |                                }t          |d          5 }d}|                    |                    d                     |	                                |                    d          k    sJ |                    d           |                    d           t          j        d	           |	                                dk    sJ |	                                dk    sJ |                    d
           |	                                d
k    sJ 	 d d d            n# 1 swxY w Y   |                                 |                                 |                                 |j        d	k    sJ d S )NTr,   r0   r1   s   f̶o̲𝑜 вⷡa̶r̓͌͘zutf-8zTest with spacesz"Test write before reading previousr   r   )r&   r   r4   r   r5   r6   r   r   decoder   timesleepr7   r8   r9   r@   )r'   r;   r<   r   r=   
fancy_texts         r   test_multiple_messageszIPCTests.test_multiple_messagesL   s    HNN,,H$=UHUYZZ				))++222 	+f vJLL**733444;;==J$5$5g$>$>>>>>LL+,,,LL=>>>JqMMM;;==$66666;;==$HHHHHLL   ;;==F*****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 		zQs   6C9E<<F F c                   t          j                     }t          d          D ]}	 t          |d           |                                  t          j                     }t          |||z
             t          j                                         |}n# t          j                     }t          |||z
             t          j                                         |}w xY wd S )Ni  r5   )rD   rangeprintrA   r$   stdoutflush)r'   t0it1s       r   test_connect_alotzIPCTests.test_connect_aloth   s    Y[[t 	 	Aa!!!'')))Y[[ab!!!
  """ Y[[ab!!!
  """	 	s   $BACN)r   r   )__name__
__module____qualname__r(   r>   rA   rG   pytestmarkskiprP    r)   r   r   r   %   s        , , , ,      $   8 [
 
 
 
 
 
r)   r   __main__)r
   r   r   r   r   r   )r   r   r   r   )
__future__r   r$   rD   multiprocessingr   r   unittestr   r   rT   mypy.ipcr   r	   r   r   r   r   rQ   rW   r)   r   <module>r]      s    " " " " " " 



  . . . . . . . . # # # # # # # #  ) ) ) ) ) ) ) )"      N N N N Nx N N Nb zDFFFFF r)   