
    ye}                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d Z
ej         G d de                      ZdS )	    N)wraps)mark)BaseZMQTestCase)allow_interruptc                 N     t                      fd            d_        S )Nc                  `    	  | i |xj         dz  c_         S # xj         dz  c_         w xY w)N   )	__calls__)argskwds_fs     9lib/python3.11/site-packages/zmq/tests/test_win32_shim.pyr   zcount_calls.<locals>._   sD    	1d#d##KK1KKKAKK1KKKKKKs    -r   )r   r
   )r   r   s   `@r   count_callsr      s@    
1XX     X AKH    c                       e Zd Zej         ej        ej                            d           d          d                         Z	dS ) TestWindowsConsoleControlHandlerwinzWindows only test)reasonc                    t           d             }ddlm} ddlm}m} |                    d          }|j        }||f|_        ||_	        	 t          |          5 } |dd          }t          j        d           d d d            n# 1 swxY w Y   |dk    rt                      |                     d           n# t          $ r Y nw xY w|j        dk    sJ d S )	Nc                  $    t          d           d S )NzCaught CTRL-C!)print r   r   interrupt_pollingzHTestWindowsConsoleControlHandler.test_handler.<locals>.interrupt_polling   s    "#####r   r   )windll)BOOLDWORDkernel32g      ?z(Expecting `KeyboardInterrupt` exception!r	   )r   ctypesr   ctypes.wintypesr   r   LoadLibraryGenerateConsoleCtrlEventargtypesrestyper   timesleepOSErrorfailKeyboardInterruptr
   )	selfr   r   r   r   r   r"   contextresults	            r   test_handlerz-TestWindowsConsoleControlHandler.test_handler   sm    
	$ 	$ 
	$ 	"!!!!!////////%%j11 $,#D -2EN )+/ (	F !233  w11!Q77 
3	                              {{ii		DEEEE ! 	 	 	D	 !*a//////s6   B= !B<B= BB= BB= =
C
	C
N)
__name__
__module____qualname__r   new_consoleskipifsysplatform
startswithr-   r   r   r   r   r      sb        	T[S\,,U333<OPPP0 0 QP 0 0 0r   r   )r3   r%   	functoolsr   pytestr   	zmq.testsr   zmq.utils.win32r   r   r1   r   r   r   r   <module>r:      s    



              % % % % % % + + + + + +	 	 	 "0 "0 "0 "0 "0 "0 "0 "0 "0 "0r   