
    %
iU                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZ G d dej	                  Z
edk    r ej                     dS dS )    Nc                   8    e Zd ZdZd Zd
dZd Zd Zd Zd Z	d	S )	PipeTestsz\\.\pipe\python_test_pipec                 |   t          j        |          }|                     |dt          j        fv d|d           t          j        |d          \  }}|                     |d           t          j	        |           t          j
        |d           |                                 |                                 d S )Nr   zGot error code 0xxd      foo bar   bar foo)	win32pipeConnectNamedPipe
assertTruewinerrorERROR_PIPE_CONNECTED	win32fileReadFileassertEqualtimesleep	WriteFileCloseset)selfpipe_handleevent	wait_timehrgots         C:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\venv\Lib\site-packages\win32/test/test_win32pipe.py_serverThreadzPipeTests._serverThread   s    '441h3446P"6P6P6P	
 	
 	
 $[#66Ck***
9K555		    r   c           
      X   t           j        }t           j        t           j        z  }t	          j                    }|                    dd d           t          j        | j        ||t           j	        ddd|          }t          j        | j        |||f                                           d S )N   r   i  )targetargs)r
   PIPE_ACCESS_DUPLEXPIPE_TYPE_MESSAGE	PIPE_WAIT
pywintypesSECURITY_ATTRIBUTESSetSecurityDescriptorDaclCreateNamedPipepipenamePIPE_UNLIMITED_INSTANCES	threadingThreadr   start)r   r   r   openModepipeModesar   s          r   startPipeServerzPipeTests.startPipeServer   s    /.1DD+--
$$Qa000/M.	
 	
 	%[%,K	
 	
 	

%'''''r   c                 H   t          j                    }|                     |           t          j        | j        ddt          j                  }|                     |d           |                    d           | 	                    |
                                d           d S )Nr      r	      #Pipe server thread didn't terminate)r-   Eventr3   r
   CallNamedPiper+   NMPWAIT_WAIT_FOREVERr   waitr   is_set)r   r   r   s      r   testCallNamedPipezPipeTests.testCallNamedPipe3   s    !!U###%M;i.L
 
 	k***

1(MNNNNNr   c           	         t          j                    }|                     |           t          j        t          j        z  }t          j        | j        |dd t          j	        dd           }t          j        |t          j        d d            t          j        |ddd           \  }}|                     |d           |                    d           |                     |                                d           d S )Nr   r   r5   r	   r6   r7   )r-   r8   r3   win32conGENERIC_READGENERIC_WRITEr   
CreateFiler+   OPEN_EXISTINGr
   SetNamedPipeHandleStatePIPE_READMODE_MESSAGETransactNamedPiper   r;   r   r<   )r   r   	open_modehpiper   r   s         r   testTransactNamedPipeBlockingz'PipeTests.testTransactNamedPipeBlocking>   s    !!U###)H,BB	$M"
 
 	)92D$	
 	
 	
 -e[$MMCk***

1(MNNNNNr   c           	         t          j                    }|                     |           t          j        t          j        z  }t          j        | j        |dd t          j	        dd           }t          j        |t          j        d d            t          j        d          }t          j        |d|d           \  }}|                     |d           |                    d           |                     |                                d           d S )Nr   r5   r   r	   r6   r7   )r-   r8   r3   r?   r@   rA   r   rB   r+   rC   r
   rD   rE   AllocateReadBufferrF   r   r;   r   r<   )r   r   rG   rH   bufferr   r   s          r   #testTransactNamedPipeBlockingBufferz-PipeTests.testTransactNamedPipeBlockingBufferW   s     !!U###)H,BB	$M"
 
 	)92D$	
 	
 	
 -d33-e[&$OOCk***

1(MNNNNNr   c           	         t          j                    }t          j                    }t	          j        d ddd           |_        |                     |d           t          j	        t          j
        z  }t          j        | j        |dd t          j        t          j        d           }t!          j        |t           j        d d            t          j        d          }t!          j        |d||          \  }}|                     |t,          j                   t          j        ||d          }|d |         }|                     |d           |                    d           |                     |                                d           d S )	Nr   g      ?r5   r   Tr	   r6   r7   )r-   r8   r'   
OVERLAPPED
win32eventCreateEventhEventr3   r?   r@   rA   r   rB   r+   rC   FILE_FLAG_OVERLAPPEDr
   rD   rE   rK   rF   r   r   ERROR_IO_PENDINGGetOverlappedResultr;   r   r<   )	r   r   
overlappedrG   rH   rL   r   r   nbytess	            r   testTransactNamedPipeAsyncz$PipeTests.testTransactNamedPipeAsyncs   s\   !!*,,
&24AtDD
UC((()H,BB	$M")
 
 	)92D$	
 	
 	
 -d33-e[&*UUCX6777.uj$GGWfWok***

1(MNNNNNr   N)r   )
__name__
__module____qualname__r+   r   r3   r=   rI   rM   rX    r   r   r   r      s        .H     ,	O 	O 	OO O O2O O O8O O O O Or   r   __main__)r-   r   unittestr'   r?   rP   r   r
   r   TestCaser   rY   mainr\   r   r   <module>ra      s                           CO CO CO CO CO! CO CO COL zHMOOOOO r   