ó
    Ö›‘h´  ã                  ó�   • S r SSKJr  SSKrSSKJr  SSKJr   SSKJ	r	J
r
  SrSS jrSS	 jr " S
 S\5      rg! \ a    Sr N f = f)z.
Tests for L{twisted.internet.kqueuereactor}.
é    )ÚannotationsN)Úimplementer)ÚTestCase)ÚKQueueReactorÚ_IKQueuezKQueue not available.c                 ó   • g)z
Do nothing.
N© )ÚargsÚkwargss     ÚlC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/internet/test/test_kqueuereactor.pyÚ_fakeKEventr      s   � ó    c                óT   ^ ^• [        [        5       " UU 4S jS5      5       nU" 5       $ )a  
Create a fake that implements L{_IKQueue}.

@param testKQueue: Something that acts like L{select.kqueue}.
@param testKEvent: Something that acts like L{select.kevent}.
@return: An implementation of L{_IKQueue} that includes C{testKQueue} and
    C{testKEvent}.
c                  ó"   >• \ rS rSr Yr Y rSrg)Ú"makeFakeKQueue.<locals>.FakeKQueueé'   r	   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚkqueueÚkeventÚ__static_attributes__)Ú
testKEventÚ
testKQueues   €€r   Ú
FakeKQueuer   '   s   ø† áˆÙ‹r   r   )r   r   )r   r   r   s   `` r   ÚmakeFakeKQueuer      s+   ù€ ô ”Ó÷ô ó ðñ ‹<Ðr   c                  ó&   • \ rS rSrSr\rSS jrSrg)ÚKQueueTestsé/   zŸ
These are tests for L{KQueueReactor}'s implementation, not its real world
behaviour. For that, look at
L{twisted.internet.test.reactormixins.ReactorBuilder}.
c                ól   •  " S S5      n[        [        U[        5      5      nUR                  S5        g)zF
L{KQueueReactor} handles L{errno.EINTR} in C{doKEvent} by returning.
c                  ó"   • \ rS rSrSrSS jrSrg)Ú*KQueueTests.test_EINTR.<locals>.FakeKQueueé=   zu
A fake KQueue that raises L{errno.EINTR} when C{control} is called,
like a real KQueue would if it was interrupted.
c                ó6   • [        [        R                  S5      e)NÚInterrupted)ÚOSErrorÚerrnoÚEINTR)Úselfr
   r   s      r   ÚcontrolÚ2KQueueTests.test_EINTR.<locals>.FakeKQueue.controlC   s   € ÜœeŸk™k¨=Ó9Ð9r   r	   N©r
   Úobjectr   r.   ÚreturnÚNone)r   r   r   r   Ú__doc__r+   r   r	   r   r   r   r#   =   s   † ñ÷
:r   r   r   N)r   r   r   ÚdoKEvent)r*   r   Úreactors      r   Ú
test_EINTRÚKQueueTests.test_EINTR8   s/   € ÷
	:ñ 	:ô  ¤¨z¼;Ó GÓHˆð 	×Ñ˜Õr   r	   N)r/   r0   )	r   r   r   r   r1   Ú
kqueueSkipÚskipr4   r   r	   r   r   r   r   /   s   † ñð €D÷r   r   r-   )r   r.   r   r.   r/   r   )r1   Ú
__future__r   r(   Úzope.interfacer   Útwisted.trial.unittestr   Útwisted.internet.kqreactorr   r   r6   ÚImportErrorr   r   r   r	   r   r   Ú<module>r=      sQ   ðñõ #ã å &å +ð)ßBà€Jô
ôô$�(õ øð9 ó )Ø(‚Jð)ús   š
: ºAÁA