HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/supervisor/tests/__pycache__/test_poller.cpython-36.pyc
3

�k�`5A�@s*ddlZddlZddlZddlZddlmZddlmZmZm	Z	ddlm
Z
mZddlmZe
ZGdd�dej�ZGdd	�d	ej�Ze�r�ejZneZGd
d�de�Ze
�r�ejZneZGdd
�d
e�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�Zdd�Zedk�r&ejdd�dS)�N)�Mock)�SelectPoller�
PollPoller�KQueuePoller)�implements_poll�implements_kqueue)�DummyOptionsc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)�BasePollerTestscCsddlm}||�S)Nr)�
BasePoller)�supervisor.pollerr
)�self�optionsr
�r�!/usr/lib/python3.6/test_poller.py�_makeOneszBasePollerTests._makeOnecCs|jd�}|jt|jd�dS)N)r�assertRaises�NotImplementedError�register_readable)r�instrrr�test_register_readables
z&BasePollerTests.test_register_readablecCs|jd�}|jt|jd�dS)N)rrr�register_writable)rrrrr�test_register_writables
z&BasePollerTests.test_register_writablecCs|jd�}|jt|jd�dS)N)rrr�unregister_readable)rrrrr�test_unregister_readables
z(BasePollerTests.test_unregister_readablecCs|jd�}|jt|jd�dS)N)rrr�unregister_writable)rrrrr�test_unregister_writable!s
z(BasePollerTests.test_unregister_writablecCs|jd�}|jt|jd�dS)N)rrr�poll)rrrrr�	test_poll%s
zBasePollerTests.test_pollcCs|jd�}|j|j�d�dS)N)r�assertEqual�before_daemonize)rrrrr�test_before_daemonize)s
z%BasePollerTests.test_before_daemonizecCs|jd�}|j|j�d�dS)N)rr�after_daemonize)rrrrr�test_after_daemonize-s
z$BasePollerTests.test_after_daemonizeN)�__name__�
__module__�__qualname__rrrrrrr r"rrrrr	sr	c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�SelectPollerTestscCst|�S)N)r)rr
rrrr3szSelectPollerTests._makeOnecCs:|jt��}|jd�|jd�|jt|j�ddg�dS)N��)rrrr�sorted�	readables)r�pollerrrrr6s

z(SelectPollerTests.test_register_readablecCs:|jt��}|jd�|jd�|jt|j�ddg�dS)Nr'r()rrrrr)�	writables)rr+rrrr<s

z(SelectPollerTests.test_register_writablecCs�|jt��}|jd�|jd�|jd�|jd�|jd�|jd�|jd�|jt|j�dg�|jt|j�ddg�dS)Nr'r(��	�d)	rrrrrr�listr*r,)rr+rrrrBs






z*SelectPollerTests.test_unregister_readablecCs�|jt��}|jd�|jd�|jd�|jd�|jd�|jd�|jd�|jt|j�ddg�|jt|j�dg�dS)Nr'r(r-r/)	rrrrrrr0r*r,)rr+rrrrNs






z*SelectPollerTests.test_unregister_writablecCsrtdgdgd�d�}|jt��}||_|jd�|jd�|jd�|jd�\}}|j|dg�|j|dg�dS)Nr'r-)r*r,)�resultr(�)�DummySelectrr�_selectrrrr)rr4r+r*r,rrr�)test_poll_returns_readables_and_writablesZs


z;SelectPollerTests.test_poll_returns_readables_and_writablescCsNttjd�}t�}|j|�}||_|jd�|jd�|j|j	j
dd�dS)N)�errorr'r2rzEINTR encountered in poll)r3�errno�EINTRrrr4rrr�logger�data)rr4r
r+rrr�test_poll_ignores_eintrfs


z)SelectPollerTests.test_poll_ignores_eintrcCsrttjd�}t�}|j|�}||_|jd�|jd�|j|j	j
dd�|jt|j�g�|jt|j
�g�dS)N)r6r'r2rzEBADF encountered in poll)r3r7�EBADFrrr4rrrr9r:r0r*r,)rr4r
r+rrr�test_poll_ignores_ebadfos


z)SelectPollerTests.test_poll_ignores_ebadfcCsBttjd�}t�}|j|�}||_|jd�|jtj	|j
d�dS)N)r6r'r2)r3r7ZEPERMrrr4rr�selectr6r)rr4r
r+rrr�test_poll_uncaught_exceptionzs

z.SelectPollerTests.test_poll_uncaught_exceptionN)r#r$r%rrrrrr5r;r=r?rrrrr&1s	r&c@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%S)&�KQueuePollerTestscCst|�S)N)r)rr
rrrr�szKQueuePollerTests._makeOnecCs^t�}|jt��}||_|jd�|jt|j�dg�|jt|j	�d�|j
|j	dd�dS)Nr'r2r)�DummyKQueuerr�_kqueuerrr0r*�len�registered_kevents�assertReadEventAdded)r�kqueuer+rrrr�s
z(KQueuePollerTests.test_register_readablecCs^t�}|jt��}||_|jd�|jt|j�dg�|jt|j	�d�|j
|j	dd�dS)Nr(r2r)rArrrBrrr0r,rCrD�assertWriteEventAdded)rrFr+rrrr�s
z(KQueuePollerTests.test_register_writablecCs�t�}|jt��}||_|jd�|jd�|jd�|jd�|jd�|jt|j	�dg�|jt|j
�g�|j|jdd�|j
|jdd�|j|jdd�|j|jdd�dS)Nr(r-r/rr2��)rArrrBrrrrr0r,r*rGrDrE�assertReadEventDeleted)rrFr+rrrr�s




z*KQueuePollerTests.test_unregister_readablecCs�t�}|jt��}||_|jd�|jd�|jd�|jd�|jd�|jt|j	�g�|jt|j
�dg�|j|jdd�|j
|jdd�|j|jdd�|j|jdd�dS)Nr(r-r/rr2rHrI)rArrrBrrrrr0r,r*rGrDrE�assertWriteEventDeleted)rrFr+rrrr�s




z*KQueuePollerTests.test_unregister_writablecCs�tdtjfdtjfdtjfgd�}|jt��}||_|jd�|jd�|jd�|j	d�\}}|j
|ddg�|j
|dg�dS)Nr'r(r-)r1i�)rAr>�KQ_FILTER_READ�KQ_FILTER_WRITErrrBrrrr)rrFr+r*r,rrrr5�s



z;KQueuePollerTests.test_poll_returns_readables_and_writablescCsNttjd�}t�}|j|�}||_|jd�|jd�|j|j	j
dd�dS)N)�raise_errno_pollr'i�rzEINTR encountered in poll)rAr7r8rrrBrrrr9r:)rrFr
r+rrrr;�s


z)KQueuePollerTests.test_poll_ignores_eintrcCsbttjd�}t�}|j|�}||_|jd�|jd�|j|j	j
dd�|j|j	j
dd�dS)N)�raise_errno_registerr'r(rz6EBADF encountered in kqueue. Invalid file descriptor 6r2z6EBADF encountered in kqueue. Invalid file descriptor 7)rAr7r<rrrBrrrr9r:)rrBr
r+rrr�1test_register_readable_and_writable_ignores_ebadf�s


zCKQueuePollerTests.test_register_readable_and_writable_ignores_ebadfcCs6ttjd�}t�}|j|�}||_|jt|jd�dS)N)rO�)	rAr7ZENOMEMrrrBr�OSErrorr)rrBr
r+rrr� test_register_uncaught_exception�s

z2KQueuePollerTests.test_register_uncaught_exceptioncCs@ttjd�}t�}|j|�}||_|jd�|jt|j	d�dS)N)rNr'i�)
rAr7ZEINVALrrrBrrrRr)rrFr
r+rrrr?�s

z.KQueuePollerTests.test_poll_uncaught_exceptioncCs@t�}t�}|j|�}||_|j�|jj�|j|jd�dS)N)rrrrBr�close�assert_called_once_withr)r�mock_kqueuer
r+rrr�#test_before_daemonize_closes_kqueue�s

z5KQueuePollerTests.test_before_daemonize_closes_kqueuecCsht�}|j|�}dg|_dg|_t�|_t�|_|j�|jt	|j
tj��|jj
d�|jj
d�dS)Nr2rI)rrr*r,rrrr!Z
assertTrue�
isinstancerBr>rFZassert_called_with)rr
r+rrr�$test_after_daemonize_restores_kqueue�s
z6KQueuePollerTests.test_after_daemonize_restores_kqueuecCs@t�}t�}|j|�}||_|j�|jj�|j|jd�dS)N)rrrrBrTrUr)rrVr
r+rrr�test_close_closes_kqueues

z*KQueuePollerTests.test_close_closes_kqueuecCs|j||tjtj�dS)N)�assertKeventr>rL�	KQ_EV_ADD)r�kevent�fdrrrrE
sz&KQueuePollerTests.assertReadEventAddedcCs|j||tjtj�dS)N)r[r>rMr\)rr]r^rrrrGsz'KQueuePollerTests.assertWriteEventAddedcCs|j||tjtj�dS)N)r[r>rL�KQ_EV_DELETE)rr]r^rrrrJsz(KQueuePollerTests.assertReadEventDeletedcCs|j||tjtj�dS)N)r[r>rMr_)rr]r^rrrrKsz)KQueuePollerTests.assertWriteEventDeletedcCs.|j|j|�|j|j|�|j|j|�dS)N)r�ident�filter�flags)rr]r`rarbrrrr[szKQueuePollerTests.assertKeventN)r#r$r%rrrrrr5r;rPrSr?rWrYrZrErGrJrKr[rrrrr@�s$		
			r@c@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�PollerPollTestscCst|�S)N)r)rr
rrrr%szPollerPollTests._makeOnecCsBt�}|jt��}||_|jd�|jd�|j|jddg�dS)Nr'r()�DummySelectPollrr�_pollerrr�registered_as_readable)r�select_pollr+rrrr(s

z&PollerPollTests.test_register_readablecCs6t�}|jt��}||_|jd�|j|jdg�dS)Nr')rdrrrerr�registered_as_writable)rrgr+rrrr0s

z&PollerPollTests.test_register_writablecCs�tdtjfdtjfdtjfdtjfgd�}|jt��}||_|j	d�|j	d�|j
d�|j	d�|jd�\}}|j|dddg�|j|dg�dS)Nr'r(r-r.)r1i�)
rdr>�POLLIN�POLLPRI�POLLOUT�POLLHUPrrrerrrr)rrgr+r*r,rrrr57s




z9PollerPollTests.test_poll_returns_readables_and_writablescCsNttjd�}t�}|j|�}||_|jd�|jd�|j|j	j
dd�dS)N)r6r.i�rzEINTR encountered in poll)rdr7r8rrrerrrr9r:)rrgr
r+rrrr;Fs


z'PollerPollTests.test_poll_ignores_eintrcCsBttjd�}t�}|j|�}||_|jd�|jtj	|j
d�dS)N)r6r.i�)rdr7r<rrrerrr>r6r)rrgr
r+rrrr?Os

z,PollerPollTests.test_poll_uncaught_exceptioncCsptdtjfdtjfgd�}|jt��}||_|jd�|jd�|jd�\}}|j	|dg�|j	|j
dg�dS)Nr'r()r1i�)rdr>ZPOLLNVALrjrrrerrr�unregistered)rrgr+r*r,rrr�+test_poll_ignores_and_unregisters_closed_fdWs


z;PollerPollTests.test_poll_ignores_and_unregisters_closed_fdN)
r#r$r%rrrr5r;r?rnrrrrrc#s	rcc@s"eZdZdZddd�Zdd�ZdS)r3z0
    Fake implementation of select.select()
    NcCs.|pi}|jdg�|_|jdg�|_||_dS)Nr*r,)�getr*r,r6)rr1r6rrr�__init__fszDummySelect.__init__cCs |jrtj|j��|j|jgfS)N)r6r>r*r,)r�r�w�x�timeoutrrrr>lszDummySelect.select)NN)r#r$r%�__doc__rpr>rrrrr3bs
r3c@s2eZdZdZddd�Zdd�Zdd�Zd	d
�ZdS)rdz.
    Fake implementation of select.poll()
    NcCs&|pg|_||_g|_g|_g|_dS)N)r1r6rfrhrm)rr1r6rrrrpus

zDummySelectPoll.__init__cCsN|tjtjBtjBkr$|jj|�n&|tjkr<|jj|�ntdj	|���dS)Nz+Registered a fd on unknown eventmask: '{0}')
r>rirjrlrf�appendrkrh�
ValueError�format)rr^Z	eventmaskrrr�register|s

zDummySelectPoll.registercCs|jj|�dS)N)rmrv)rr^rrr�
unregister�szDummySelectPoll.unregistercCs|jrtj|j��|jS)N)r6r>r1)rrtrrrr�szDummySelectPoll.poll)NN)r#r$r%rurpryrzrrrrrrdqs

rdc@sDeZdZdZddd�Zddd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)rAz0
    Fake implementation of select.kqueue()
    NcCs&|pg|_||_||_g|_g|_dS)N)r1�
errno_poll�errno_registerrDZregistered_flags)rr1rNrOrrrrp�s

zDummyKQueue.__init__cCsL|dkr&|j|�|j|j�|j�S|j|�|j|j�|jj|�dS)N)�assert_max_events_on_poll�raise_errorr{�build_result�assert_max_events_on_registerr|rD�extend)rZkevents�
max_eventsrtrrr�control�s

zDummyKQueue.controlcCs|sdSt�}||_|�dS)N)rRr7)r�errZexrrrr~�s
zDummyKQueue.raise_errorcCsdd�|jD�S)NcSsg|]\}}t||��qSr)�
FakeKEvent)�.0r`rarrr�
<listcomp>�sz,DummyKQueue.build_result.<locals>.<listcomp>)r1)rrrrr�szDummyKQueue.build_resultcCs|tjkstdtj��dS)Nz8`max_events` parameter of `kqueue.control() should be %d)rr��AssertionError)rr�rrrr}�sz%DummyKQueue.assert_max_events_on_pollcCs|dkstd��dS)NrzD`max_events` parameter of `kqueue.control()` should be 0 on register)r�)rr�rrrr��s
z)DummyKQueue.assert_max_events_on_register)NNN)N)
r#r$r%rurpr�r~rr}r�rrrrrA�s


rAc@seZdZdd�ZdS)r�cCs||_||_dS)N)r`ra)rr`rarrrrp�szFakeKEvent.__init__N)r#r$r%rprrrrr��sr�cCstjtjt�S)N)�unittestZ
findTestCases�sys�modulesr#rrrr�
test_suite�sr��__main__)ZdefaultTest)r�r�r7r>Zsupervisor.tests.baserrrrrrrr�objectZSkipTestCaseZTestCaser	r&ZKQueuePollerTestsBaser@ZPollerPollTestsBasercr3rdrAr�r�r#�mainrrrr�<module>s4!Q?'