+
    üÐjF  ã                   ó  € R t ^ RIHtHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht  ! R R]4      t ! R R	]4      t]! 4       P                  ]P!                  4       4       ]! 4       P                  ]P!                  4       4       R
# )z/
Tests for implementations of L{IReactorTime}.
)ÚIReactorThreadsÚIReactorTime)ÚReactorBuilder)Úmsg)Úplatform)ÚSkipTestc                   ó6   a € ] tR t^t o Rt]3tR tR tRt	V t
R# )ÚTimeTestsBuilderz9
Builder for defining tests relating to L{IReactorTime}.
c                ó~   € V P                  4       pVP                  ^ VP                  4       VP                  4        R# )z/
The reactor can be stopped by a delayed call.
N)ÚbuildReactorÚ	callLaterÚstopÚrun)ÚselfÚreactors   & ÚA/usr/lib/python3/dist-packages/twisted/internet/test/test_time.pyÚtest_delayedCallStopsReactorÚ-TimeTestsBuilder.test_delayedCallStopsReactor   s/   € ð ×#Ñ#Ó%ˆØ×Ñ˜!˜WŸ\™\Ô*Ø�‰Žó    c                óŒ  aaa€ V P                  4       o\        P                  ! S4      '       d   R oM\        R4      hSP	                  ^^€,          ^,           R 4      pV3R loS! SVVV3R l4       SP                  4        V P                  VP                  4       4       V P                  VSP                  4       4       R# )zg
Scheduling a delayed call at a point in the extreme future does not
prevent normal reactor operation.
c                 óB   € \        R VR7       V P                  V4       R# )z.Thread-based event-source scheduling %(event)r)ÚformatÚeventN)r   ÚcallFromThread)r   r   s   &&r   ÚeventSourceÚ=TimeTestsBuilder.test_distantDelayedCall.<locals>.eventSource&   s    € ÜØKÐSXõð ×&Ñ& uÖ-r   z=Do not know how to synthesize non-time event to stop the testc                  ó   € R # ©N© r   r   r   Ú<lambda>Ú:TimeTestsBuilder.test_distantDelayedCall.<locals>.<lambda>2   s   € ¹Dr   c                  ó>   <€ \        R 4       S P                  4        R# )zStopping the reactorN)r   r   )r   s   €r   r   Ú6TimeTestsBuilder.test_distantDelayedCall.<locals>.stop4   s   ø€ ÜÐ&Ô'Ø�L‰LŽNr   c                  ó   <€ S ! SS4      # r   r   )r   r   r   s   €€€r   r   r    <   s   ø€ ¡[°¸$Ô%?r   N)
r   r   Ú
providedByr   r   r   Ú
assertTrueÚactiveÚassertInÚgetDelayedCalls)r   ÚdelayedCallr   r   r   s   & @@@r   Útest_distantDelayedCallÚ(TimeTestsBuilder.test_distantDelayedCall   s¢   ú€ ð
 ×#Ñ#Ó%ˆÜ×%Ò% g×.Ò.ó.ô ØOóð ð
 ×'Ñ'¨¨3­°­
±LÓAˆõ	ñ 	�GÖ?Ô@ð 	�‰Œð 	�‰˜×*Ñ*Ó,Ô-Ø�‰�k 7×#:Ñ#:Ó#<Ö=r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚrequiredInterfacesr   r*   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r	   r	      s#   ø‡ € ñð '˜Ðò÷*>ð *>r   r	   c                   óh   a € ] tR t^Kt o Rt]3t]P                  ! 4       '       d   RMR.t	R t
RtV tR# )ÚGlibTimeTestsBuilderzU
Builder for defining tests relating to L{IReactorTime} for reactors based
off glib.
z,twisted.internet.gireactor.PortableGIReactorz$twisted.internet.gireactor.GIReactorc                óÜ   aaa€ ^ RI Hp V P                  4       o. oVV3R lpVV3R loSP                  VP                  ^
V4       V P                  S^4       V P                  SR.4       R# )zŽ
A
L{reactor.callLater<twisted.internet.interfaces.IReactorTime.callLater>}
call scheduled from a C{gobject.timeout_add}
call is run on time.
)ÚGObjectc                  ó,   <€ SP                  ^ S 4       ^ # )é    )r   )Úcallbackr   s   €€r   Ú	gscheduleÚ8GlibTimeTestsBuilder.test_timeout_add.<locals>.gschedulef   s   ø€ Ø×Ñ˜a Ô*Ùr   c                  óJ   <€ SP                  R 4       S P                  4        R# )TN)Úappendr   )r   Úresults   €€r   r<   Ú7GlibTimeTestsBuilder.test_timeout_add.<locals>.callbackj   s   ø€ Ø�M‰M˜$ÔØ�L‰LŽNr   TN)Úgi.repositoryr9   r   ÚcallWhenRunningÚtimeout_addÚ
runReactorÚassertEqual)r   r9   r=   r<   r   rA   s   &  @@@r   Útest_timeout_addÚ%GlibTimeTestsBuilder.test_timeout_addY   s_   ú€ õ 	*à×#Ñ#Ó%ˆàˆö	ö	ð 	×Ñ × 3Ñ 3°R¸ÔCØ�‰˜ Ô#Ø×Ñ˜ $ Ö(r   r   N)r,   r-   r.   r/   r0   r   r1   r   Ú	isWindowsÚ	_reactorsrH   r2   r3   r4   s   @r   r7   r7   K   s>   ø‡ € ñð
 '˜Ðð ×Ò×Òñ 	7à3ð€I÷)ð )r   r7   N)r0   Útwisted.internet.interfacesr   r   Ú#twisted.internet.test.reactormixinsr   Útwisted.python.logr   Útwisted.python.runtimer   Útwisted.trial.unittestr   r	   r7   ÚglobalsÚupdateÚmakeTestCaseClassesr   r   r   Ú<module>rT      sl   ðñ÷ FÝ >Ý "Ý +Ý +ô9>�~ô 9>ôx%)˜>ô %)ñP ƒ	× Ñ Ð!×5Ñ5Ó7Ô 8Ù ƒ	× Ñ Ð%×9Ñ9Ó;Ö <r   