§
    öÛg:  ã                   óŠ   — d dl Z d dlZd dlZddlmZ ddlmZ  G d„ de j        ¦  «        Ze	dk    r e j
        ¦   «          dS dS )é    Né   )Úpg_tmp)ÚNotificationManagerc                   ó’   — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )Útest_notifymanc                 óŒ  — t          ¦   «         }|5  t          t          |¦  «        }t                               d¦  «         |                     d¦  «         |                     d¦  «         t                               d¦  «         |D �]"\  }}|D �]}|t          u ry|                      |d         d¦  «         |                      |d         d¦  «         |                      |d         |j        ¦  «         |j                             t          ¦  «         Œ…||u rz|                      |d         d¦  «         |                      |d         d¦  «         |                      |d         t          j        ¦  «         |j                             |¦  «         �Œ|  	                    d¦  «         �Œ�Œ$	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚfooÚbarr   é   Ú r   z$unknown connection received notify..)
Únewr   ÚdbÚlistenÚnotifyÚassertEqualÚ
backend_idÚconnectionsÚdiscardÚfail)ÚselfÚaltÚnmÚndbÚnotifiesÚns         úT/granary/edev/quantum/lib/python3.11/site-packages/postgresql/test/test_notifyman.pyÚtestNotificationManagerz&test_notifyman.testNotificationManager   sô  € õ 	‰Œ€#Ø
ð 8ð 8Ý�B Ñ$Ô$€2Ý‡9‚9ˆUÑÔÐØ‡:‚:ˆeÑÔÐà‡:‚:ˆeÑÔÐÝ‡9‚9ˆUÑÔÐàð 8ñ 8�}€sˆHØð 8ñ 8ˆØ�rˆ	ˆ	Ø
×Ò�q˜”t˜UÑ#Ô#Ð#Ø
×Ò�q˜”t˜RÑ Ô Ð Ø
×Ò�q˜”t˜Sœ^Ñ,Ô,Ð,Ø„n×Ò�RÑ Ô Ð Ð Ø
�ˆ*ˆ*Ø
×Ò�q˜”t˜UÑ#Ô#Ð#Ø
×Ò�q˜”t˜RÑ Ô Ð Ø
×Ò�q˜”t�Rœ]Ñ+Ô+Ð+Ø„n×Ò˜SÑ!Ô!Ð!Ñ!à
‡i‚iÐ6Ñ7Ô7Ð7Ñ7ñ8ð8ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   ‘FF9Æ9F=Ç F=c                 óÐ  — t          t          d¬¦  «        }t                               d¦  «         d}|D ]°}|€t                               d¦  «         Œ|\  }}|                      |t          ¦  «         |D ]e}|                      |d         d¦  «         |                      |d         d¦  «         |                      |d         t          j        ¦  «         |dz   }Œf|dk    r d S Œ±d S )	Ngš™™™™™¹?©Útimeoutr	   r   r   r   r   é   )r   r   r   r   r   r   )r   r   ÚcountÚeventr   r   r   s          r   ÚtestNotificationManagerTimeoutz-test_notifyman.testNotificationManagerTimeout&   sü   € å�2¨Ð-Ñ-Ô-€"Ý‡)‚)ˆEÑÔÐØ
€%Øð 
ð 
€eØ€må‡I‚IˆeÑÔÐØØ�=€3ˆØ×Ò�C�ÑÔÐØð ð €qØ×Ò�Q�q”T˜5Ñ!Ô!Ð!Ø×Ò�Q�q”T˜2ÑÔÐØ×Ò�Q�q”T�2œ=Ñ)Ô)Ð)Ø�A‰I€E€EØˆa‚i€iØ	€E€Eð ð
ð 
ó    c                 ój  — t          t          d¬¦  «        }t                               d¦  «         |                      t	          |¦  «        g ¦  «         t                               d¦  «         t          j        d¦  «         |                      t	          |¦  «        ddt          j        fg¦  «         d S )Nr   r   r	   ç{®Gáz„?r   )	r   r   r   r   Úlistr   ÚtimeÚsleepr   )r   r   s     r   Ú"testNotificationManagerZeroTimeoutz1test_notifyman.testNotificationManagerZeroTimeout:   s”   € õ
 �2¨Ð+Ñ+Ô+€"Ý‡)‚)ˆEÑÔÐØ×Ò•4˜‘8”8˜RÑ Ô Ð Ý‡)‚)ˆEÑÔÐÝ„*ˆTÑÔÐØ×Ò•4˜‘8”8˜u R­¬Ð6Ð7Ñ8Ô8Ð8Ð8Ð8r%   c                 ó:  — t          ¦   «         }|                     d¦  «         |                     d¦  «         d„ }g }t          j        |||f¬¦  «        }|                     ¦   «          t
                               d¦  «         |st          j        d¦  «         |¯| 	                    d¦  «        \  }}}|  
                    |d¦  «         |  
                    |d¦  «         |  
                    |t
          j        ¦  «         t
                               d¦  «         d S )Nr	   Úclosec                 ó°   — | 5  |                       ¦   «         D ]%}|d         dk    r n|                     |¦  «         Œ&d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r-   )ÚiternotifiesÚappend)r   ÚlÚxs      r   Úget_noticesz5test_notifyman.test_iternotifies.<locals>.get_noticesL   s¨   € Ø
ð ð Ø�_Š_ÑÔð ð ˆØ	ˆ!Œ�ŠˆØ€eØ‡X‚Xˆa�[„[€[€[ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ƒ;AÁAÁA)ÚtargetÚargsgš™™™™™©?r   r   )r   r   Ú	threadingÚThreadÚstartr   r   r)   r*   Úpopr   r   )r   r   r3   ÚrlÚtÚchannelÚpayloadÚpids           r   Útest_iternotifiesz test_notifyman.test_iternotifiesF   s  € õ 	‰Œ€#Ø‡*‚*ˆUÑÔÐØ‡*‚*ˆWÑÔÐðð ð ð 
€"ÝÔ °S¸"°JÐ?Ñ?Ô?€!Ø‡'‚'�)„)€)Ý‡)‚)ˆEÑÔÐØð Ý„:ˆdÑÔÐð ð àŸ&š& ™)œ)Ñ€'ˆ7�CØ×Ò�7˜EÑ"Ô"Ð"Ø×Ò�7˜BÑÔÐØ×Ò�3�œÑ&Ô&Ð&Ý‡)‚)ˆGÑÔÐÐÐr%   c                 óž  — t                                d¦  «         |                      t          t                                d¦  «        ¦  «        g ¦  «         t                                d¦  «         t          j        d¦  «         |                      t          t                                d¦  «        ¦  «        ddt           j        fg¦  «         d S )Nr	   r   r'   r   )	r   r   r   r(   r/   r   r)   r*   r   )r   s    r   r+   z1test_notifyman.testNotificationManagerZeroTimeout^   sž   € õ
 ‡)‚)ˆEÑÔÐØ×Ò•4�Ÿš¨Ñ*Ô*Ñ+Ô+¨RÑ0Ô0Ð0Ý‡)‚)ˆEÑÔÐÝ„*ˆTÑÔÐØ×Ò•4�Ÿš¨Ñ*Ô*Ñ+Ô+¨u°R½¼Ð.GÐ-HÑIÔIÐIÐIÐIr%   c                 óf  — t          ¦   «         }|                     d¦  «         |                     d¦  «         |                     ¦   «         D ]}|                     ¦   «          Œ|                      |j        d¦  «         ~t          ¦   «         }|                     d¦  «         |                     d¦  «        D ]G}|€A|                     d¦  «         |                     d¦  «         |                     ¦   «          d}ŒEd}ŒH|                      |j        d¦  «         |                      |d¦  «         d S )Nr	   Tgš™™™™™É?r   F)r   r   r   r/   r-   r   ÚclosedÚexecute)r   r   r   Úhits       r   ÚtestNotificationManagerOnClosedz.test_notifyman.testNotificationManagerOnClosedi   s#  € õ �u„u€"Ø‡)‚)ˆEÑÔÐØ‡)‚)ˆEÑÔÐØ�?Š?ÑÔð ð €aØ‡8‚8�:„:€:€:Ø×Ò�2”9˜dÑ#Ô#Ð#Øå
�u„u€"Ø‡)‚)ˆEÑÔÐØ�?Š?˜3ÑÔð 
ð 
€aØ€ið ‡I‚IˆeÑÔÐØ‡J‚Jˆr�N„N€NØ‡H‚H�J„J€JØ
€C€Cà
€C€Cð ×Ò�2”9˜dÑ#Ô#Ð#Ø×Ò�3˜ÑÔÐÐÐr%   N)	Ú__name__Ú
__module__Ú__qualname__r   r   r$   r+   r?   rE   © r%   r   r   r   
   s·   € € € € € Øð8ð 8ñ 	„&ð8ð4 	ð
ð 
ñ 	„&ð
ð& 	ð	9ð 	9ñ 	„&ð	9ð 	ðð ñ 	„&ðð. 	ðJð Jñ 	„&ðJð 	ðð ñ 	„&ðð ð r%   r   Ú__main__)Úunittestr6   r)   Útemporalr   Ú	notifymanr   ÚTestCaser   rF   ÚmainrI   r%   r   ú<module>rP      s¥   ðð €€€Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +ð|ð |ð |ð |ð |�XÔ&ñ |ô |ð |ð| ˆzÒÐØ€„�„€€€ð Ðr%   