+
    üÐj
  ã                   óH   € R t ^ RIHt ^ RIHtHt ^ RIHt  ! R R]4      tR# )zš
Tests for L{twisted.internet._baseprocess} which implements process-related
functionality that is useful in all platforms supporting L{IReactorProcess}.
)ÚBaseProcess)ÚgetWarningMethodÚsetWarningMethod)ÚTestCasec                   ó0   a € ] tR t^t o RtR tR tRtV tR# )ÚBaseProcessTestsz§
Tests for L{BaseProcess}, a parent class for other classes which represent
processes which implements functionality common to many different process
implementations.
c                ó"  €  ! R R4      p\        R4      p\        V! 4       4      pVP                  V4       VP                  P                  P                  \         4       V P                  W#P                  P                  P                  4       R# )z˜
L{BaseProcess._callProcessExited} calls the C{processExited} method of
its C{proto} attribute and passes it a L{Failure} wrapping the given
exception.
c                   ó*   a € ] tR t^t o RtR tRtV tR# )Ú:BaseProcessTests.test_callProcessExited.<locals>.FakeProtoNc                ó   € Wn         R # ©N©Úreason)Úselfr   s   &&ÚH/usr/lib/python3/dist-packages/twisted/internet/test/test_baseprocess.pyÚprocessExitedÚHBaseProcessTests.test_callProcessExited.<locals>.FakeProto.processExited   s   € Ø$–ó    r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   Ú	FakeProtor
      s   ø‡ € ØˆF÷%ð %r   r   zfake reasonN)ÚRuntimeErrorr   Ú_callProcessExitedÚprotor   ÚtrapÚassertIsÚvalue)r   r   r   Úprocesss   &   r   Útest_callProcessExitedÚ'BaseProcessTests.test_callProcessExited   sf   € ÷	%ñ 	%ô ˜mÓ,ˆÜ™i›kÓ*ˆØ×"Ñ" 6Ô*Ø�‰×Ñ×!Ñ!¤,Ô/Ø�‰�fŸm™m×2Ñ2×8Ñ8Ö9r   c                ó�  a€  ! R R4      p\        4       p\        V! 4       4      pV P                  \        \	        4       4       . oV3R lp\        V4       VP                  V4       Sw  w  rVpV P                  VRVP                  : RVP                  : R24       V P                  V\        4       V P                  V^ 4       R# )z•
L{BaseProcess._callProcessExited} emits a L{DeprecationWarning} if the
object referred to by its C{proto} attribute has no C{processExited}
method.
c                   ó   € ] tR t^/tRtR# )ÚABaseProcessTests.test_callProcessExitedMissing.<locals>.FakeProto© N)r   r   r   r   r   r)   r   r   r   r(   /   s   † Ûr   r   c                 ó.   <€ SP                  WV34       R # r   )Úappend)ÚmessageÚcategoryÚ
stacklevelÚwarningss   &&&€r   ÚcollectÚ?BaseProcessTests.test_callProcessExitedMissing.<locals>.collect8   s   ø€ Ø�O‰O˜W°
Ð;Ö<r   z@Since Twisted 8.2, IProcessProtocol.processExited is required.  Ú.z must implement it.N)Úobjectr   Ú
addCleanupr   r   r   ÚassertEqualr   r   r!   ÚDeprecationWarning)	r   r   r   r#   r0   r,   r-   r.   r/   s	   &       @r   Útest_callProcessExitedMissingÚ.BaseProcessTests.test_callProcessExitedMissing(   s¯   ø€ ÷	ñ 	ô “ˆÜ™i›kÓ*ˆà�‰Ô(Ô*:Ó*<Ô=Øˆõ	=ô 	˜Ô!à×"Ñ" 6Ô*à,4Ñ)Ñ	(ˆ'˜ZØ×ÑÙà*3×*>Ô*>À	×@RÔ@RðTô	
ð
 	�‰�hÔ 2Ô3ð 	×Ñ˜ QÖ'r   r)   N)	r   r   r   r   Ú__doc__r$   r7   r   r   r   s   @r   r   r      s   ø‡ € ñò:÷&#(ð #(r   r   N)	r9   Útwisted.internet._baseprocessr   Útwisted.python.deprecater   r   Útwisted.trial.unittestr   r   r)   r   r   Ú<module>r=      s!   ðñõ
 6ß GÝ +ô=(�xö =(r   