/usr/local/lib/python3.6/site-packages/asynctest/__pycache__
NameSizeModeActions
case.cpython-36.pyc149730644editdlrm
helpers.cpython-36.pyc7310644editdlrm
mock.cpython-36.pyc398800644editdlrm
selector.cpython-36.pyc112240644editdlrm
_fail_on.cpython-36.pyc45500644editdlrm
__init__.cpython-36.pyc9070644editdlrm
Edit: /usr/local/lib/python3.6/site-packages/asynctest/__pycache__/selector.cpython-36.pyc (11224B)
3 8%Eg-@szdZddlZy ddlZWnek r6ddljZYnXddlZy ddlZWnek rddZYnXddlmZddlm Z Gddde Z dd Z d d Z Gd d d ejZGdddeZerGdddeZddZddZddZGdddejZddZeedrddZn eejdr4d dZnd!dZd"d#Zd$d%Zd&d'Zd(e jd)<eee j _ eee j _!dS)*ay Module ``selector`` ------------------- Mock of :mod:`selectors` and compatible objects performing asynchronous IO. This module provides classes to mock objects performing IO (files, sockets, etc). These mocks are compatible with :class:`~asynctest.TestSelector`, which can simulate the behavior of a selector on the mock objects, or forward actual work to a real selector. N)mock)_fail_oncs,eZdZdZdZfddZddZZS)FileDescriptora A subclass of int which allows to identify the virtual file-descriptor of a :class:`~asynctest.FileMock`. If :class:`~asynctest.FileDescriptor()` without argument, its value will be the value of :data:`~FileDescriptor.next_fd`. When an object is created, :data:`~FileDescriptor.next_fd` is set to the highest value for a :class:`~asynctest.FileDescriptor` object + 1. rcsL| r| rtj|tj}ntj|f||}ttjd|dt_|S)Nr)super__new__rnext_fdmax)clsargskwargss) __class__s rc Cs2yt|tpt|jtStk r,dSXdS)zh Return ``True`` if the ``obj`` or ``obj.fileno()`` is a :class:`asynctest.FileDescriptor`. FN)rrrAttributeError)objrrr isfilemockQs  r"cs(eZdZdZfddZddZZS)FileMockz Mock a file-like object. A FileMock is an intelligent mock which can work with TestSelector to simulate IO events during tests. .. method:: fileno() Return a :class:`~asynctest.FileDescriptor` object. cstj||t|j_dS)N)r__init__rr return_value)rr r )rrrr$iszFileMock.__init__cOs tjf|S)N)rMock)rr r rrr_get_child_mocknszFileMock._get_child_mock)rrrrr$r'rrr)rrr#^s  r#cs0eZdZdZdejddddffdd ZZS) SocketMockz? Mock a socket. See :class:`~asynctest.FileMock`. Nc s(tjtjf||||||d|dS)N) side_effectr%wrapsnamespec_setparent)rr$socket)rr)r%r*r+r,r-r )rrrr$yszSocketMock.__init__)rrrrrDEFAULTr$rrr)rrr(ssr(c@s(eZdZdZdejddddfddZdS) SSLSocketMockz Mock a socket wrapped by the :mod:`ssl` module. See :class:`~asynctest.FileMock`. .. versionadded:: 0.5 Nc Ks(tj|tjf||||||d|dS)N)r)r%r*r+r,r-)r#r$ssl SSLSocket)rr)r%r*r+r,r-r rrrr$szSSLSocketMock.__init__)rrrrrr/r$rrrrr0sr0cCs4|j}|j|}||jkr0|j|j||fgdS)N) _selector_fileobj_lookup _fd_to_key_process_events)rloopeventselectorrrrr_set_event_readys  r:cCs|jt||tjdS)a Schedule callbacks registered on ``loop`` as if the selector notified that data is ready to be read on ``fileobj``. :param fileobj: file object or :class:`~asynctest.FileMock` on which the event is mocked. :param loop: :class:`asyncio.SelectorEventLoop` watching for events on ``fileobj``. :: mock = asynctest.SocketMock() mock.recv.return_value = b"Data" def read_ready(sock): print("received:", sock.recv(1024)) loop.add_reader(mock, read_ready, mock) set_read_ready(mock, loop) loop.run_forever() # prints received: b"Data" .. versionadded:: 0.4 N)call_soon_threadsafer: selectors EVENT_READ)rr7rrrset_read_readysr>cCs|jt||tjdS)a^ Schedule callbacks registered on ``loop`` as if the selector notified that data can be written to ``fileobj``. :param fileobj: file object or :class:`~asynctest.FileMock` on which th event is mocked. :param loop: :class:`asyncio.SelectorEventLoop` watching for events on ``fileobj``. .. versionadded:: 0.4 N)r;r:r< EVENT_WRITE)rr7rrrset_write_readys r@csleZdZdZdfdd ZfddZdfdd Zfd d Zdfd d Zdd dZ fddZ Z S) TestSelectora A selector which supports IOMock objects. It can wrap an actual implementation of a selector, so the selector will work both with mocks and real file-like objects. A common use case is to patch the selector loop:: loop._selector = asynctest.TestSelector(loop._selector) :param selector: optional, if provided, this selector will be used to work with real file-like objects. Ncstj||_dS)N)rr$r3)rr9)rrrr$s zTestSelector.__init__cst|rt|Stj|S)N)r"rrr4)rr)rrrr4szTestSelector._fileobj_lookupcsHt|s|jdkr$tj|||}n |jj|||}|rD||j|j<|S)a Register a file object or a :class:`~asynctest.FileMock`. If a real selector object has been supplied to the :class:`~asynctest.TestSelector` object and ``fileobj`` is not a :class:`~asynctest.FileMock` or a :class:`~asynctest.FileDescriptor` returned by :meth:`FileMock.fileno()`, the object will be registered to the real selector. See :meth:`selectors.BaseSelector.register`. N)r"r3rregisterr5r)rreventsdatakey)rrrrBs  zTestSelector.registercsJt|s|jdkr tj|}n&|jj|}|rF|j|jkrF|j|j=|S)z Unregister a file object or a :class:`~asynctest.FileMock`. See :meth:`selectors.BaseSelector.unregister`. N)r"r3r unregisterrr5)rrrE)rrrrFs   zTestSelector.unregistercsdt|s|jdkr$tj|||}n<|j|}||jkr@|j|=|jj|||}|r`||j|j<|S)z Shortcut when calling :meth:`TestSelector.unregister` then :meth:`TestSelector.register` to update the registration of a an object to the selector. See :meth:`selectors.BaseSelector.modify`. N)r"r3rmodifyr4r5r)rrrCrDrEr)rrrrGs   zTestSelector.modifycCs|jdkrgS|jj|S)z Perform the selection. This method is a no-op if no actual selector has been supplied. See :meth:`selectors.BaseSelector.select`. N)r3select)rtimeoutrrrrH s zTestSelector.selectcs"|jdk r|jjtjdS)z Close the selector. Close the actual selector if supplied, unregister all mocks. See :meth:`selectors.BaseSelector.close`. N)r3closer)r)rrrrJ-s  zTestSelector.close)N)N)N)N) rrrrr$r4rBrFrGrHrJrrr)rrrAs    rAcCsXg}x|jjD]}|j|qW|jdk rPx |jjjD]}|j|q>Wt|S)N)get_mapvaluesappendr3set)r9Zwatched_eventsr8rrrget_registered_events;s rOformat_helperscCstjj|j|jdS)N)asynciorP_format_callback _callback_args)handlerrrrRJs rR_format_args_and_kwargscCstjj|j|jdS)N)rQrCrRrSrT)rUrrrrROscCstjj|j|jS)N)rQrCrRrSrT)rUrrrrRTscCs\g}|jtj@r.|jdj|jt|jd|jtj@rX|jdj|jt|jd|S)Nzadd_reader({}, {})rzadd_writer({}, {})r) rCr<r=rMrrrRrDr?)r8 callbacksrrr _format_eventXs  rXcCst|jj|_dS)N)rOr7r3_active_selector_callbacks)caserrr-fail_on_before_test_active_selector_callbacksfsr[cCsZ|j}t|jj}dg}x tt||D]}|j|q(Wt|dkrV|jdj |dS)Nz6some events watched during the tests were not removed:rz - ) rYrOr7r3maprXextendlenZfailjoin)rZZignored_eventsZ active_eventsoutputcrrr!fail_on_active_selector_callbacksks  rbFactive_selector_callbacks)"rrQr< ImportErrorZasyncio.selectorsr.r1rrintrrr"r&r#r(r0r:r>r@_BaseSelectorImplrArOhasattrrRrCrXr[rbZDEFAULTS staticmethodrcZ%before_test_active_selector_callbacksrrrr sF      !q