
    *Vfc                     0   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mZ ej                  j                  d      Zej                  d        Zej                  d        Zej                  d        Zd Zd Zd	 Zd
 Zd Zd Zd Zy# e	$ r dZY pw xY w)    N)	zmqstreamio_loopc                    K   t        j                   | t        j                              }t        j                   | t        j                              }|j                  d      }|j                  d|z         ||fS w)Ntcp://127.0.0.1ztcp://127.0.0.1:%i)r   	ZMQStreamzmqPUSHPULLbind_to_random_portconnect)socketpushpullports       a/var/www/html/software/conda/envs/catlas/lib/python3.12/site-packages/zmq/tests/test_zmqstream.py	push_pullr      se     vchh/0Dvchh/0D##$56DLL%,-$<s   A<A>c                     | \  }}|S N r   r   r   s      r   r   r   "       JD$K    c                     | \  }}|S r   r   r   s      r   r   r   (   r   r   c                   K   | j                  d        | j                  d        t        j                  t              5  | j                  d       ddd       t        j                  t              5  | j                  d       ddd       t        j                  t              5  | j                  t
               ddd       y# 1 sw Y   txY w# 1 sw Y   MxY w# 1 sw Y   yxY ww)zEnsure callable check works.c                       y r   r   argss    r   <lambda>z%test_callable_check.<locals>.<lambda>1       r   c                       y r   r   r   s    r   r   z%test_callable_check.<locals>.<lambda>2   r   r      N)on_sendon_recvpytestraisesAssertionErrorr   )r   s    r   test_callable_checkr'   .   s      	LL#$LL#$	~	& Q	~	& Q	~	& S 	   sM   >C) C!C)3C!C)&C<	C)C
C)CC)C&"C)c                    K   dg}| j                  |       t        j                         fd}|j                  |       t        j                  d       d {   }||k(  sJ y 7 w)Ns   basicc                 (    j                  |        y r   
set_resultmsgfs    r   callbackz$test_on_recv_basic.<locals>.callback@   s    	Sr      timeout)send_multipartasyncioFuturer#   wait_forr   r   sentr/   recvdr.   s        @r   test_on_recv_basicr:   ;   sa     :DA 	LL""1a00ED== 1s   AA+A)A+c                    K   dg}t        j                         }|j                  |j                         t        j                  d       d {    | j                  |       t        j                  |d       d {   }||k(  sJ y 7 <7 w)N   wake      ?r0   r1   )r4   r5   r#   r+   sleepr3   r6   )r   r   r8   r.   r9   s        r   test_on_recv_waker?   H   ss     9DALL
--
""1a00ED== 0s$   ABB
/B=B>BBc                 f  K   t         j                  dk  rt        j                          dg}t	        j
                         fd}|j                  |       t	        j                  d       d {    | j                  |       t	        j                  d       d {   }||k(  sJ y 7 <7 w)N)r0   r<   c                 n   K   t        j                  d       d {    j                  |        y 7 w)N皙?)r4   r>   r+   r,   s    r   r/   z$test_on_recv_async.<locals>.callbackZ   s*     mmC   	S 	!s   535r=   r0   r1   )
tornadoversion_infor$   skipr4   r5   r#   r>   r3   r6   r7   s        @r   test_on_recv_asyncrF   S   s     d"9DA 	LL
--
""1a00ED== 0s$   A-B10B-1/B1 B/!B1/B1c                   K   dg}t        j                         fd}|j                  |       t        j                  d       d {    |j	                  t
        j                  t        j                  j                        5  | j                  |       t        j                  d       d {   }||k(  sJ t        j                  d       d {    d d d        |j                  d      D cg c]5  }|j                  t        j                  j                  k(  r|j                  7 }}d	d
j                  |      v sJ y 7 7 7 u# 1 sw Y   txY wc c}w w)Nr<   c                 :   K   j                  |        ddz   y w)Nr!   r   r*   r,   s    r   r/   z*test_on_recv_async_error.<locals>.callbackj   s     	S	As   rB   )loggerr0   r1   r=   callz(Uncaught exception in ZMQStream callback
)r4   r5   r#   r>   at_levelloggingERRORr   gen_lognamer3   r6   get_recordsmessagejoin)	r   r   caplogr8   r/   r9   xmessagesr.   s	           @r   test_on_recv_async_errorrW   e   s*    9DA 	LL
--
	y/@/@/E/E	F !D!&&q!44}}mmC   ! ##F+66Y&&+++ 	
		H 
 689LLLL  5 	!! !sZ   AE 	E	
=E ,E3E4#EEEE 7:E1E EEEE c                   K   | j                  t        j                  t        j                  j                        5 }t        j                  t              5  t        j                  |      }d d d        t        j                         t        j                  u sJ |j                   j                  |j                  k(  sJ |j                          d d d        y # 1 sw Y   nxY w# 1 sw Y   y xY ww)N)socket_class)r   r   r	   r4   Socketr$   warnsRuntimeWarningr   r   type
underlyingclose)contextr   streams      r   test_shadow_socketrb      s     	s{{/A/A	B f\\.) 	1((0F	1FMM"cjj000}}''6+<+<<<< 	1 	1 s5   :C1C%C,A$C%	C1C"	C%%C.*C1c                 X  K   | j                  t        j                        5 }| j                  t        j                        5 }dx|_        |_        |j                  d      }|j                  d|        t        j                  j                  |      }t        j                  |      }t        d      D ]  }|j                  t        |              |j                          |j                  t                |j#                          d d d        d d d        t%        j&                  d      5 }t)        j*                  d       d {    d d d        dj-                  d	 D              }	d
|	v sJ d|j.                  v sJ y # 1 sw Y   |xY w# 1 sw Y   xY w7 S# 1 sw Y   RxY ww)Nr   r   ztcp://127.0.0.1:
   T)recordg?rK   c              3   F   K   | ]  }t        |j                          y wr   )strrR   ).0rs     r   	<genexpr>z+test_shadow_socket_close.<locals>.<genexpr>   s     =S^=s   !zafter closing socketzclosed socket)r   r   r	   r
   lingerr   r   rZ   shadowr   r   rangesend_stringrg   recvr#   printr_   warningscatch_warningsr4   r>   rS   text)
r`   rT   r   r   r   shadow_pullra   irecordswarning_texts
             r   test_shadow_socket_closerx      sc    		! T7>>#((+C t$%%dk''(9:'v./jj''-$$[1r 	%ASV$	% 			 	u

 $ 
	 	 	- !mmC   !99=W==L!\111fkk)))-   & 	!! !s_    F* FCF	FF*/FF	F7F*F		FFF*FF'#F*)r4   rM   rq   r$   r   zmq.asynciorC   zmq.eventloopr   ImportErrormarkusefixtures
pytestmarkfixturer   r   r   r'   r:   r?   rF   rW   rb   rx   r   r   r   <module>r      s   
     
 '
 [[$$Y/
    
  


$M4*m  Gs   
B BB