§
    Ètºf
  ã                   óN   — d Z ddlmZ ddlmZmZ ddlmZ  G d„ de¦  «        ZdS )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                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚBaseProcessTestsz·
    Tests for L{BaseProcess}, a parent class for other classes which represent
    processes which implements functionality common to many different process
    implementations.
    c                 ó(  —  G d„ d¦  «        }t          d¦  «        }t           |¦   «         ¦  «        }|                     |¦  «         |j        j                             t           ¦  «         |                      ||j        j        j        ¦  «         dS )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                   ó   — e Zd ZdZd„ ZdS )ú:BaseProcessTests.test_callProcessExited.<locals>.FakeProtoNc                 ó   — || _         d S ©N)Úreason)Úselfr   s     úe/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/internet/test/test_baseprocess.pyÚprocessExitedzHBaseProcessTests.test_callProcessExited.<locals>.FakeProto.processExited   s   € Ø$�”��ó    )Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   Ú	FakeProtor      s(   € € € € € ØˆFð%ð %ð %ð %ð %r   r   zfake reasonN)ÚRuntimeErrorr   Ú_callProcessExitedÚprotor   ÚtrapÚassertIsÚvalue)r   r   r   Úprocesss       r   Útest_callProcessExitedz'BaseProcessTests.test_callProcessExited   s›   € ð	%ð 	%ð 	%ð 	%ð 	%ñ 	%ô 	%ð 	%õ ˜mÑ,Ô,ˆÝ˜i˜i™kœkÑ*Ô*ˆØ×"Ò" 6Ñ*Ô*Ð*ØŒÔ×!Ò!¥,Ñ/Ô/Ð/Ø�Š�f˜gœmÔ2Ô8Ñ9Ô9Ð9Ð9Ð9r   c                 óÐ  ‡—  G d„ d¦  «        }t          ¦   «         }t           |¦   «         ¦  «        }|                      t          t	          ¦   «         ¦  «         g Šˆfd„}t          |¦  «         |                     |¦  «         ‰\  \  }}}|                      |d|j        ›d|j        ›d�¦  «         |  	                    |t          ¦  «         |                      |d¦  «         dS )	zµ
        L{BaseProcess._callProcessExited} emits a L{DeprecationWarning} if the
        object referred to by its C{proto} attribute has no C{processExited}
        method.
        c                   ó   — e Zd ZdS )úABaseProcessTests.test_callProcessExitedMissing.<locals>.FakeProtoN)r   r   r   r   r   r   r   r"   /   s   € € € € € ØˆDr   r   c                 ó8   •— ‰                      | ||f¦  «         d S r   )Úappend)ÚmessageÚcategoryÚ
stacklevelÚwarningss      €r   Úcollectz?BaseProcessTests.test_callProcessExitedMissing.<locals>.collect8   s"   ø€ Ø�OŠO˜W h°
Ð;Ñ<Ô<Ð<Ð<Ð<r   z@Since Twisted 8.2, IProcessProtocol.processExited is required.  ú.z must implement it.r   N)Úobjectr   Ú
addCleanupr   r   r   ÚassertEqualr   r   r   ÚDeprecationWarning)	r   r   r   r   r)   r%   r&   r'   r(   s	           @r   Útest_callProcessExitedMissingz.BaseProcessTests.test_callProcessExitedMissing(   s%  ø€ ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	õ ‘”ˆÝ˜i˜i™kœkÑ*Ô*ˆà�ŠÕ(Õ*:Ñ*<Ô*<Ñ=Ô=Ð=Øˆð	=ð 	=ð 	=ð 	=ð 	=õ 	˜Ñ!Ô!Ð!à×"Ò" 6Ñ*Ô*Ð*à,4Ñ)Ñ	(ˆ'�8˜ZØ×ÒØˆGà*3Ô*>Ð*>Ð*>À	Ô@RÐ@RÐ@RðTñ	
ô 	
ð 	
ð
 	�Š�hÕ 2Ñ3Ô3Ð3ð 	×Ò˜ QÑ'Ô'Ð'Ð'Ð'r   N)r   r   r   Ú__doc__r   r/   r   r   r   r   r      s<   € € € € € ðð ð:ð :ð :ð&#(ð #(ð #(ð #(ð #(r   r   N)	r0   Útwisted.internet._baseprocessr   Útwisted.python.deprecater   r   Útwisted.trial.unittestr   r   r   r   r   ú<module>r4      s�   ððð ð
 6Ð 5Ð 5Ð 5Ð 5Ð 5Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ +Ð +Ð +Ð +Ð +Ð +ð=(ð =(ð =(ð =(ð =(�xñ =(ô =(ð =(ð =(ð =(r   