o
    tBh                     @  s   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dZG dd deZedkrBe	  dS dS )    )annotationsN)ProcessQueue)TestCasemain)	IPCClient	IPCServerzdmypy-test-ipcmsgstrq
Queue[str]returnNonec                 C  sf   t t}||j d}|s-| ||   | }W d    n1 s&w   Y  |r|  d S )N    )r   CONNECTION_NAMEputconnection_namewriteencodereadcleanup)r	   r   serverdata r   h/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/mypy/test/testipc.pyr      s   
r   c                   @  s2   e Zd Zd
ddZd
ddZejjd
ddZd	S )IPCTestsr   r   c                 C  s   t  }dd }tt||fdd}|  | }t|dd}| | ks)J |d W d    n1 s8w   Y  |	  |
  |  d S )Nti@ Ttargetargsdaemon   timeout   test)r   r   r   startgetr   r   r   r   closejoin_threadjoinselfqueuer	   pr   clientr   r   r   test_transaction_large   s   zIPCTests.test_transaction_largec                 C  s   t  }d}tt||fdd}|  | }t|dd}| | ks'J |d W d    n1 s6w   Y  t|dd}| | ksLJ |d W d    n1 s[w   Y  |	  |
  |  |jdkssJ d S )	Nzthis is a test messageTr   r!   r"   r   r$   r   )r   r   r   r%   r&   r   r   r   r   r'   r(   r)   exitcoder*   r   r   r   test_connect_twice(   s"   zIPCTests.test_connect_twicec                 C  sz   t   }tdD ]2}zt|d |   W t   }t|||  tj  |}qt   }t|||  tj  |}w d S )Ni  r%   )timerangeprintr1   sysstdoutflush)r+   t0it1r   r   r   test_connect_alot=   s   



zIPCTests.test_connect_alotN)r   r   )	__name__
__module____qualname__r/   r1   pytestmarkskipr;   r   r   r   r   r      s
    

r   __main__)r	   r
   r   r   r   r   )
__future__r   r5   r2   multiprocessingr   r   unittestr   r   r?   mypy.ipcr   r   r   r   r   r<   r   r   r   r   <module>   s    
1
