+
    Df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processExitedHBaseProcessTests.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,ik*""6*!!,/fmm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    OOW
;<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    	 	 ik*(*:*<=	= 	!""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   