CasperSecurity

Current Path : /lib/python3/dist-packages/supervisor/tests/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/supervisor/tests/__pycache__/test_poller.cpython-310.pyc

o

VƧ\5A�@s,ddlZddlZddlZddlZddlmZddlmZmZm	Z	ddlm
Z
mZddlmZe
ZGdd�dej�ZGdd	�d	ej�Ze�rIejZneZGd
d�de�Ze
�rZejZneZGdd
�d
e�ZGdd�de
�ZGdd�de
�ZGdd�de
�ZGdd�de
�Zdd�Zedkr�ejdd�dSdS)�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/dist-packages/supervisor/tests/test_poller.py�_makeOneszBasePollerTests._makeOnecC�|�d�}|�t|jd�dS�N)r�assertRaises�NotImplementedError�register_readable�r�instrrr�test_register_readable�
z&BasePollerTests.test_register_readablecCrr)rrr�register_writablerrrr�test_register_writablerz&BasePollerTests.test_register_writablecCrr)rrr�unregister_readablerrrr�test_unregister_readablerz(BasePollerTests.test_unregister_readablecCrr)rrr�unregister_writablerrrr�test_unregister_writable!rz(BasePollerTests.test_unregister_writablecCrr)rrr�pollrrrr�	test_poll%rzBasePollerTests.test_pollcC�|�d�}|�|��d�dSr)r�assertEqual�before_daemonizerrrr�test_before_daemonize)rz%BasePollerTests.test_before_daemonizecCr"r)rr#�after_daemonizerrrr�test_after_daemonize-rz$BasePollerTests.test_after_daemonizeN)�__name__�
__module__�__qualname__rrrrrr!r%r'rrrrr	sr	c@sTeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�ZdS)�SelectPollerTestscC�t|�Sr)r�rr
rrrr3�zSelectPollerTests._makeOnecC�:|�t��}|�d�|�d�|�t|j�ddg�dS�N��)rrrr#�sorted�	readables�r�pollerrrrr6�

z(SelectPollerTests.test_register_readablecCr/r0)rrrr#r3�	writablesr5rrrr<r7z(SelectPollerTests.test_register_writablecCs�|�t��}|�d�|�d�|�d�|�d�|�d�|�d�|�d�|�t|j�dg�|�t|j�ddg�dS)Nr1r2��	�d)	rrrrrr#�listr4r8r5rrrrBs






z*SelectPollerTests.test_unregister_readablecCs�|�t��}|�d�|�d�|�d�|�d�|�d�|�d�|�d�|�t|j�ddg�|�t|j�dg�dS)Nr1r2r9r;)	rrrrrr#r<r4r8r5rrrrNs






z*SelectPollerTests.test_unregister_writablecCsrtdgdgd�d�}|�t��}||_|�d�|�d�|�d�|�d�\}}|�|dg�|�|dg�dS)Nr1r9)r4r8��resultr2�)�DummySelectrr�_selectrrr r#)rrAr6r4r8rrr�)test_poll_returns_readables_and_writablesZs
�


z;SelectPollerTests.test_poll_returns_readables_and_writablescC�Nttjd�}t�}|�|�}||_|�d�|�d�|�|j	j
dd�dS)N��errorr1r?r�EINTR encountered in poll)r@�errno�EINTRrrrArr r#�logger�data�rrAr
r6rrr�test_poll_ignores_eintrf�


z)SelectPollerTests.test_poll_ignores_eintrcCsrttjd�}t�}|�|�}||_|�d�|�d�|�|j	j
dd�|�t|j�g�|�t|j
�g�dS)NrDr1r?rzEBADF encountered in poll)r@rG�EBADFrrrArr r#rIrJr<r4r8rKrrr�test_poll_ignores_ebadfos


z)SelectPollerTests.test_poll_ignores_ebadfcC�Bttjd�}t�}|�|�}||_|�d�|�tj	|j
d�dS)NrDr1r?)r@rG�EPERMrrrArr�selectrEr rKrrr�test_poll_uncaught_exceptionz�

z.SelectPollerTests.test_poll_uncaught_exceptionN)r(r)r*rrrrrrBrLrOrSrrrrr+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)&�KQueuePollerTestscCr,r)rr-rrrr�r.zKQueuePollerTests._makeOnecC�^t�}|�t��}||_|�d�|�t|j�dg�|�t|j	�d�|�
|j	dd�dS)Nr1r?r)�DummyKQueuerr�_kqueuerr#r<r4�len�registered_kevents�assertReadEventAdded�r�kqueuer6rrrr��
z(KQueuePollerTests.test_register_readablecCrV)Nr2r?r)rWrrrXrr#r<r8rYrZ�assertWriteEventAddedr\rrrr�r^z(KQueuePollerTests.test_register_writablecCs�t�}|�t��}||_|�d�|�d�|�d�|�d�|�d�|�t|j	�dg�|�t|j
�g�|�|jdd�|�
|jdd�|�|jdd�|�|jdd�dS�Nr2r9r;rr?��)rWrrrXrrrr#r<r8r4r_rZr[�assertReadEventDeletedr\rrrr�s




z*KQueuePollerTests.test_unregister_readablecCs�t�}|�t��}||_|�d�|�d�|�d�|�d�|�d�|�t|j	�g�|�t|j
�dg�|�|jdd�|�
|jdd�|�|jdd�|�|jdd�dSr`)rWrrrXrrrr#r<r8r4r_rZr[�assertWriteEventDeletedr\rrrr�s




z*KQueuePollerTests.test_unregister_writablecCs�tdtjfdtjfdtjfgd�}|�t��}||_|�d�|�d�|�d�|�	d�\}}|�
|ddg�|�
|dg�dS)Nr1r2r9r=��)rWrR�KQ_FILTER_READ�KQ_FILTER_WRITErrrXrrr r#)rr]r6r4r8rrrrB�s
�


z;KQueuePollerTests.test_poll_returns_readables_and_writablescCrC)N��raise_errno_pollr1rerrF)rWrGrHrrrXrr r#rIrJ�rr]r
r6rrrrL�rMz)KQueuePollerTests.test_poll_ignores_eintrcCsbttjd�}t�}|�|�}||_|�d�|�d�|�|j	j
dd�|�|j	j
dd�dS)N��raise_errno_registerr1r2rz6EBADF encountered in kqueue. Invalid file descriptor 6r?z6EBADF encountered in kqueue. Invalid file descriptor 7)rWrGrNrrrXrrr#rIrJ�rrXr
r6rrr�1test_register_readable_and_writable_ignores_ebadf�s


��zCKQueuePollerTests.test_register_readable_and_writable_ignores_ebadfcCs6ttjd�}t�}|�|�}||_|�t|jd�dS)Nrk�)	rWrG�ENOMEMrrrXr�OSErrorrrmrrr� test_register_uncaught_exception�s

z2KQueuePollerTests.test_register_uncaught_exceptioncCs@ttjd�}t�}|�|�}||_|�d�|�t|j	d�dS)Nrhr1re)
rWrG�EINVALrrrXrrrqr rjrrrrS�s

z.KQueuePollerTests.test_poll_uncaught_exceptioncCs@t�}t�}|�|�}||_|��|j��|�|jd�dSr)rrrrXr$�close�assert_called_once_withr#�r�mock_kqueuer
r6rrr�#test_before_daemonize_closes_kqueue��

z5KQueuePollerTests.test_before_daemonize_closes_kqueuecCsht�}|�|�}dg|_dg|_t�|_t�|_|��|�t	|j
tj��|j�
d�|j�
d�dS)Nr?rb)rrr4r8rrrr&�
assertTrue�
isinstancerXrRr]�assert_called_with)rr
r6rrr�$test_after_daemonize_restores_kqueue�s
z6KQueuePollerTests.test_after_daemonize_restores_kqueuecCs@t�}t�}|�|�}||_|��|j��|�|jd�dSr)rrrrXrtrur#rvrrr�test_close_closes_kqueueryz*KQueuePollerTests.test_close_closes_kqueuecC�|�||tjtj�dSr)�assertKeventrRrf�	KQ_EV_ADD�r�kevent�fdrrrr[
�z&KQueuePollerTests.assertReadEventAddedcCrr)r�rRrgr�r�rrrr_r�z'KQueuePollerTests.assertWriteEventAddedcCrr)r�rRrf�KQ_EV_DELETEr�rrrrcr�z(KQueuePollerTests.assertReadEventDeletedcCrr)r�rRrgr�r�rrrrdr�z)KQueuePollerTests.assertWriteEventDeletedcCs.|�|j|�|�|j|�|�|j|�dSr)r#�ident�filter�flags)rr�r�r�r�rrrr�szKQueuePollerTests.assertKeventN)r(r)r*rrrrrrBrLrnrrrSrxr}r~r[r_rcrdr�rrrrrU�s&		
			rUc@sDeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�PollerPollTestscCr,r)rr-rrrr%r.zPollerPollTests._makeOnecCsBt�}|�t��}||_|�d�|�d�|�|jddg�dSr0)�DummySelectPollrr�_pollerrr#�registered_as_readable�r�select_pollr6rrrr(s

z&PollerPollTests.test_register_readablecCs6t�}|�t��}||_|�d�|�|jdg�dS)Nr1)r�rrr�rr#�registered_as_writabler�rrrr0s

z&PollerPollTests.test_register_writablecCs�tdtjfdtjfdtjfdtjfgd�}|�t��}||_|�	d�|�	d�|�
d�|�	d�|�d�\}}|�|gd��|�|dg�dS)Nr1r2r9r:r=re)r1r2r:)
r�rR�POLLIN�POLLPRI�POLLOUT�POLLHUPrrr�rrr r#�rr�r6r4r8rrrrB7s
�



z9PollerPollTests.test_poll_returns_readables_and_writablescCrC)NrDr:rerrF)r�rGrHrrr�rr r#rIrJ�rr�r
r6rrrrLFrMz'PollerPollTests.test_poll_ignores_eintrcCrP)NrDr:re)r�rGrNrrr�rrrRrEr r�rrrrSOrTz,PollerPollTests.test_poll_uncaught_exceptioncCsptdtjfdtjfgd�}|�t��}||_|�d�|�d�|�d�\}}|�	|dg�|�	|j
dg�dS)Nr1r2r=re)r�rR�POLLNVALr�rrr�rr r#�unregisteredr�rrr�+test_poll_ignores_and_unregisters_closed_fdWs
�

z;PollerPollTests.test_poll_ignores_and_unregisters_closed_fdN)
r(r)r*rrrrBrLrSr�rrrrr�#s	r�c@s"eZdZdZddd�Zdd�ZdS)r@z0
    Fake implementation of select.select()
    NcCs.|pi}|�dg�|_|�dg�|_||_dS)Nr4r8)�getr4r8rE�rr>rErrr�__init__fs
zDummySelect.__init__cCs |jr	t�|j��|j|jgfSr)rErRr4r8)r�r�w�x�timeoutrrrrRlszDummySelect.select�NN)r(r)r*�__doc__r�rRrrrrr@bs
r@c@s2eZdZdZddd�Zdd�Zdd�Zd	d
�ZdS)r�z.
    Fake implementation of select.poll()
    NcCs&|pg|_||_g|_g|_g|_dSr)r>rEr�r�r�r�rrrr�u�


zDummySelectPoll.__init__cCsN|tjtjBtjBkr|j�|�dS|tjkr |j�|�dStd�	|���)Nz+Registered a fd on unknown eventmask: '{0}')
rRr�r�r�r��appendr�r��
ValueError�format)rr��	eventmaskrrr�register|s

zDummySelectPoll.registercCs|j�|�dSr)r�r�)rr�rrr�
unregister��zDummySelectPoll.unregistercCs|jr	t�|j��|jSr)rErRr>)rr�rrrr �szDummySelectPoll.pollr�)r(r)r*r�r�r�r�r rrrrr�qs
r�c@sDeZdZdZddd�Zddd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)rWz0
    Fake implementation of select.kqueue()
    NcCs&|pg|_||_||_g|_g|_dSr)r>�
errno_poll�errno_registerrZ�registered_flags)rr>rirlrrrr��r�zDummyKQueue.__init__cCsL|dur|�|�|�|j�|��S|�|�|�|j�|j�|�dSr)�assert_max_events_on_poll�raise_errorr��build_result�assert_max_events_on_registerr�rZ�extend)r�kevents�
max_eventsr�rrr�control�s

zDummyKQueue.controlcCs|sdSt�}||_|�r)rqrG)r�err�exrrrr��szDummyKQueue.raise_errorcCsdd�|jD�S)NcSsg|]	\}}t||��qSr)�
FakeKEvent)�.0r�r�rrr�
<listcomp>�sz,DummyKQueue.build_result.<locals>.<listcomp>r=)rrrrr��r�zDummyKQueue.build_resultcCs|tjksJdtj��dS)Nz8`max_events` parameter of `kqueue.control() should be %d)rr��rr�rrrr��s
��z%DummyKQueue.assert_max_events_on_pollcCs|dksJd��dS)NrzD`max_events` parameter of `kqueue.control()` should be 0 on registerrr�rrrr��s
�z)DummyKQueue.assert_max_events_on_register)NNNr)
r(r)r*r�r�r�r�r�r�r�rrrrrW�s


rWc@seZdZdd�ZdS)r�cCs||_||_dSr)r�r�)rr�r�rrrr��s
zFakeKEvent.__init__N)r(r)r*r�rrrrr��sr�cCst�tjt�Sr)�unittest�
findTestCases�sys�modulesr(rrrr�
test_suite�r�r��__main__)�defaultTest)r�r�rGrR�supervisor.tests.baserrrrrrrr�object�SkipTestCase�TestCaser	r+�KQueuePollerTestsBaserU�PollerPollTestsBaser�r@r�rWr�r�r(�mainrrrr�<module>s8!Q?'�
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY