%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/twisted/internet/test/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/twisted/internet/test/__pycache__/test_base.cpython-312.pyc

�

Ϫ�f�9����dZddlZddlmZddlmZddlmZddlm	Z	ddlm
Z
ddlmZdd	l
mZmZmZdd
lmZddlmZddlmZmZmZdd
lmZddlmZddlmZmZ	ddl Z!e!Z e
d�Z#e	ee�Gd�d��Z$Gd�de�Z%d�Z&Gd�d�Z'Gd�de'e�Z(Gd�de'e�Z)Gd�de�Z*ee d�Gd�d e��Z+y#e"$rdZ Y�{wxYw)!z%
Tests for L{twisted.internet.base}.
�N)�Queue)�Callable)�skipIf)�implementer)�	ParamSpec)�FirstOneWins)�DelayedCall�ReactorBase�ThreadedResolver)�Deferred)�DNSLookupError)�IReactorThreads�IReactorTime�IResolverSimple)�Clock)�
ThreadPool)�SkipTest�TestCase�_Pc���eZdZdZd�Zdeeefdejdejddfd�Z
d	�Zd
�Zd�Z
defd�Zdeeefdejdejddfd
�Zd�Zy)�FakeReactorzl
    A fake reactor implementation which just supports enough reactor APIs for
    L{ThreadedResolver}.
    c����t��_�jj�_t��_�jj��fd��_t��_y)Nc����jS�N)�_threadpool��selfs��A/usr/lib/python3/dist-packages/twisted/internet/test/test_base.py�<lambda>z&FakeReactor.__init__.<locals>.<lambda>1s
���T�%5�%5��)	r�_clock�	callLaterrr�start�
getThreadPoolr�_threadCallsrs`r�__init__zFakeReactor.__init__+sK����g������.�.���%�<�������� �5���!�G��r �callable�args�kwargs�returnNc�@�|jj|||f�yr)r%�put�rr'r(r)s    r�callFromThreadzFakeReactor.callFromThread5s��	
�����x��v�6�7r c�P�|jj�\}}}||i|��yr)r%�get)r�fr(r)s    r�_runThreadCallszFakeReactor._runThreadCalls:s)���+�+�/�/�1���4��	�4��6�r c�8�|jj�yr)r�stoprs r�_stopzFakeReactor._stop>s�������r c��yr�rs r�getDelayedCallszFakeReactor.getDelayedCallsA���r c��yrr7rs r�secondszFakeReactor.secondsEr9r c��yrr7r-s    r�callInThreadzFakeReactor.callInThreadIs��	
r c��yrr7)r�sizes  r�suggestThreadPoolSizez!FakeReactor.suggestThreadPoolSizeOr9r )�__name__�
__module__�__qualname__�__doc__r&rr�objectr(r)r.r2r5r8�floatr;r=r@r7r rrr$s����
$�8� ��V��,�8�57�W�W�8�HJ�	�	�8�	
�8�
� �
�
��
�
� ��V��,�
�57�W�W�
�HJ�	�	�
�	
�
�
r rc�(�eZdZdZd�Zd�Zd�Zd�Zy)�ThreadedResolverTestsz(
    Tests for L{ThreadedResolver}.
    c���	�d�d}d}t�}|j|j�g�	g}��	fd�}|jtd|�t|�}|j
||f�}|j|j�|j�|j�	|g�|j|�g�|jj|dz�|j|jjg�y)z�
        L{ThreadedResolver.getHostByName} returns a L{Deferred} which fires
        with the value returned by the call to L{socket.gethostbyname} in the
        threadpool of the reactor passed to L{ThreadedResolver.__init__}.
        z	10.0.0.17zfoo.bar.example.com�c�*���j|��Sr)�append)�name�ip�lookedUps ��r�fakeGetHostByNamez=ThreadedResolverTests.test_success.<locals>.fakeGetHostByNameis����O�O�D�!��Ir �
gethostbyname�N)r�
addCleanupr5�patch�socketr�
getHostByName�addCallbackrLr2�assertEqualr!�advance�calls)
rrM�timeout�reactor�
resolvedTorP�resolver�drNrOs
        @@r�test_successz"ThreadedResolverTests.test_successYs������$�����-������
�
�&����
�	�	
�
�
�6�?�,=�>�#�G�,���"�"�4�'��4��	�
�
�j�'�'�(����!�����D�6�*�����b�T�*�	�����w��{�+�������-�-�r�2r c��d}t�}|j|j�d�}|jtd|�g}t|�}|j
d|f�}|j|t�|j|j�|j�|jt|�d�|jj|dz�|j|jj g�y)z�
        L{ThreadedResolver.getHostByName} returns a L{Deferred} which fires a
        L{Failure} if the call to L{socket.gethostbyname} raises an exception.
        rJc��td��)NzENOBUFS (this is a funny joke))�OSError)rMs rrPz=ThreadedResolverTests.test_failure.<locals>.fakeGetHostByName�s���:�;�;r rQ�	some.namerRN)rrSr5rTrUrrV�
assertFailurer
rWrLr2rX�lenr!rYrZ)rr[r\rP�
failedWithr^r_s       r�test_failurez"ThreadedResolverTests.test_failure|s���
���-������
�
�&�	<�	
�
�
�6�?�,=�>��
�#�G�,���"�"�;��
�;�����1�n�-�	�
�
�j�'�'�(����!�����Z��!�,�	�����w��{�+�������-�-�r�2r c�B��d}t�}|j|j�t���fd�}|j	t
d|�g}t
|�}|jd|f�}|j|t�|j|j�|jj|dz
�|j|g�|jjd�|jt|�d��j!t#d��y)z�
        If L{socket.gethostbyname} does not complete before the specified
        timeout elapsed, the L{Deferred} returned by
        L{ThreadedResolver.getHostByName} fails with L{DNSLookupError}.
        �
c�$���j��r)r0)rM�results �rrPz=ThreadedResolverTests.test_timeout.<locals>.fakeGetHostByName�s����*�*�,�r rQrdrRzThe I/O was errorfulN)rrSr5rrTrUrrVrer
rWrLr!rYrXrfr,�IOError)rr[r\rPrgr^r_rls       @r�test_timeoutz"ThreadedResolverTests.test_timeout�s�������-������
�
�&����	�	
�
�
�6�?�,=�>��
�#�G�,���"�"�;��
�;�����1�n�-�	�
�
�j�'�'�(������w��{�+�����R�(������q�!�����Z��!�,�	�
�
�7�1�2�3r c�J��g�tt�G�fd�d��}Gd�dt�}|�}|�}|j|�t	t��}|jj|d�|jj|d�|jj|d�|jj|d�|jj|d�|jt��d	�|jttt���tgd	z�|jd�d
�|jd�d�|jd�d
�|jd�d�|jd�d�y)zm
        L{ThreadedResolver.getHostByName} is passed L{str}, encoded using IDNA
        if required.
        c���eZdZd�fd�	Zy)�AThreadedResolverTests.test_resolverGivenStr.<locals>.FakeResolverc�:���j|�t�Sr)rLr)rrM�timeoutsrZs   �rrVzOThreadedResolverTests.test_resolverGivenStr.<locals>.FakeResolver.getHostByName�s������T�"��z�!r N)r7)rArBrCrV)rZs�r�FakeResolverrq�s���
"r rtc��eZdZd�Zy)�FThreadedResolverTests.test_resolverGivenStr.<locals>.JustEnoughReactorc��yrr7rs r�installWakerzSThreadedResolverTests.test_resolverGivenStr.<locals>.JustEnoughReactor.installWaker�s��r N)rArBrCrxr7r r�JustEnoughReactorrv�s��
r ryzexample.exampleuvääntynyt.exampleuрф.examplezxn----7sbb4ac0ad0be6cf.xn--p1ai�rrRzxn--vntynyt-5waa.example�zxn--p1ai.example��N)rrr
�installResolverrr�nameResolver�resolveHostNamerXrf�list�map�type�str)rrtry�faker\�recrZs      @r�test_resolverGivenStrz+ThreadedResolverTests.test_resolverGivenStr�so���
��	�_�	%�	"�	"�
&�	"�
	��	��~��#�%������%��8�:�&�����,�,�S�2C�D����,�,�S�2C�D����,�,�S�2K�L����,�,�S�2H�I����,�,�S�2S�T�����U��Q�'�����c�$��.�/�#����;����*�E�!�H�5����*�E�!�H�5����3�U�1�X�>����+�U�1�X�6����:�E�!�H�Er N)rArBrCrDr`rhrnr�r7r rrHrHTs���!3�F3�:4�B!Fr rHc��y)z8
    Function used by L{DelayedCallTests.test_str}.
    Nr7r7r r�nothingr����r c�L�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
y)
�DelayedCallMixin�
    L{DelayedCall}
    c	�,�d�}t|d�di||d�S)z�
        Get a L{DelayedCall} instance at a given C{time}.

        @param time: The absolute time at which the returned L{DelayedCall}
            will be scheduled.
        c��yrr7)�calls r�noopz0DelayedCallMixin._getDelayedCallAt.<locals>.noop�s��r c��yrr7r7r rrz4DelayedCallMixin._getDelayedCallAt.<locals>.<lambda>�r�r r7N)r	)r�timer�s   r�_getDelayedCallAtz"DelayedCallMixin._getDelayedCallAt�s ��	��4��r�2�t�T�4�H�Hr c�\�|jd�|_|jd�|_y)zb
        Create two L{DelayedCall} instanced scheduled to run at different
        times.
        rrRN)r��zero�oners r�setUpzDelayedCallMixin.setUp�s(��
�*�*�1�-��	��)�)�!�,��r c	��tdtdddiddd��}|jt|�dt	|�fz�y)��
        The string representation of a L{DelayedCall} instance, as returned by
        L{str}, includes the unsigned id of the instance, as well as its state,
        the function to be called, and the function arguments.
        ��r|�ArzNc��y�Ng�?r7r7r rrz+DelayedCallMixin.test_str.<locals>.<lambda>r�r z?<DelayedCall 0x%x [10.5s] called=0 cancelled=0 nothing(3, A=5)>)r	r�rXr��id�r�dcs  r�test_strzDelayedCallMixin.test_str�sD����W�d�S�!�H�d�D�+�
N�������G�M��"�v�i�
�	
r c	�|�tdtdddiddd��}|jt|�t	|��y)z�
        The string representation of a L{DelayedCall} instance, as returned by
        {repr}, is identical to that returned by L{str}.
        �
)�r��	Nc��y)Ng�������?r7r7r rrz,DelayedCallMixin.test_repr.<locals>.<lambda>r�r )r	r�rXr��reprr�s  r�	test_reprzDelayedCallMixin.test_reprs6��
��W�d�S�!�H�d�D�+�
N������R��$�r�(�+r c���|j|j}}|j||k�|j||k�|j||k�|j||k�y)z�
        For two instances of L{DelayedCall} C{a} and C{b}, C{a < b} is true
        if and only if C{a} is scheduled to run before C{b}.
        N�r�r��
assertTrue�assertFalse�rr�r�s   r�test_ltzDelayedCallMixin.test_lts[��
�I�I�t�x�x�c������s�
�#�����t��$�������%�����s��#r c���|j|j}}|j||k�|j||k�|j||k�|j||k�y)z�
        For two instances of L{DelayedCall} C{a} and C{b}, C{a <= b} is true
        if and only if C{a} is scheduled to run before C{b} or at the same
        time as C{b}.
        Nr�r�s   r�test_lezDelayedCallMixin.test_lesW���I�I�t�x�x�c��������$�������%�������%�����s�
�#r c���|j|j}}|j||kD�|j||kD�|j||kD�|j||kD�y)z�
        For two instances of L{DelayedCall} C{a} and C{b}, C{a > b} is true
        if and only if C{a} is scheduled to run after C{b}.
        Nr�r�s   r�test_gtzDelayedCallMixin.test_gt*s[��
�I�I�t�x�x�c������d�
�#�������$�������%�����s��#r c���|j|j}}|j||k\�|j||k\�|j||k\�|j||k\�y)z�
        For two instances of L{DelayedCall} C{a} and C{b}, C{a > b} is true
        if and only if C{a} is scheduled to run after C{b} or at the same
        time as C{b}.
        Nr�r�s   r�test_gezDelayedCallMixin.test_ge5sW���I�I�t�x�x�c������t��$�������%�������%�����s�
�#r c���|j|j|jk(�|j|j|jk(�|j|j|jk(�y)zD
        A L{DelayedCall} instance is only equal to itself.
        N)r�r�r�r�rs r�test_eqzDelayedCallMixin.test_eqAsQ��	
������d�h�h�.�/�����	�	�T�Y�Y�.�/�������D�H�H�,�-r c���|j|j|jk7�|j|j|jk7�|j|j|jk7�y)zM
        A L{DelayedCall} instance is not equal to any other object.
        N)r�r�r�r�rs r�test_nezDelayedCallMixin.test_neKsS��	
����	�	�T�X�X�-�.�������d�i�i�/�0�������T�X�X�-�.r N)rArBrCrDr�r�r�r�r�r�r�r�r�r�r7r rr�r��s:���I�-�
�,�	$�
$�	$�
$�.�/r r�c�"�eZdZdZd�Zd�Zd�Zy)�DelayedCallNoDebugTestsr�c�\�|jtdd�tj|�y)z!
        Turn debug off.
        �debugFN�rTr	r�r�rs rr�zDelayedCallNoDebugTests.setUp[s"��	
�
�
�;���/����t�$r c	��tdtdddiddd��}djt|��}|j	t|�|�y)r�r�r�r�rzNc��yr�r7r7r rrz2DelayedCallNoDebugTests.test_str.<locals>.<lambda>hr�r zA<DelayedCall 0x{:x} [10.5s] called=0 cancelled=0 nothing(3, A=5)>)r	r��formatr�rXr�)rr��expecteds   rr�z DelayedCallNoDebugTests.test_strbsK����W�d�S�!�H�d�D�+�
N��
�%�v�b��f�~�	�	
����R��(�+r c	�~�tdd�dittd��}d|_|jdt	|��y)z�
        If L{DelayedCall.debug} changes from C{0} to C{1} between
        L{DelayeCall.__init__} and L{DelayedCall.__repr__} then
        L{DelayedCall.__repr__} returns a string that does not include the
        creator stack.
        r|c��yrr7r7r rrz<DelayedCallNoDebugTests.test_switchToDebug.<locals>.<lambda>vr�r r7c��y�Nr{r7r7r rrz<DelayedCallNoDebugTests.test_switchToDebug.<locals>.<lambda>vr�r rR�traceback at creationN)r	r�r��assertNotInr�r�s  r�test_switchToDebugz*DelayedCallNoDebugTests.test_switchToDebugos6����L�"�b�'�7�I�
N��������0�$�r�(�;r N)rArBrCrDr�r�r�r7r rr�r�Vs���%�,�	<r r�c�"�eZdZdZd�Zd�Zd�Zy)�DelayedCallDebugTestsr�c�\�|jtdd�tj|�y)z 
        Turn debug on.
        r�TNr�rs rr�zDelayedCallDebugTests.setUp�s"��	
�
�
�;���.����t�$r c	��tdtdddiddd��}djt|��}|j	t|�|�y)r�r�r�r�rzNc��yr�r7r7r rrz0DelayedCallDebugTests.test_str.<locals>.<lambda>�r�r z\<DelayedCall 0x{:x} \[10.5s\] called=0 cancelled=0 nothing\(3, A=5\)

traceback at creation:)r	r�r�r��assertRegexr�)rr��expectedRegexps   rr�zDelayedCallDebugTests.test_str�sK����W�d�S�!�H�d�D�+�
N��
%�%+�V�B�r�F�^�	�
	
����R��.�1r c	�~�tdd�dittd��}d|_|jdt	|��y)a
        If L{DelayedCall.debug} changes from C{1} to C{0} between
        L{DelayeCall.__init__} and L{DelayedCall.__repr__} then
        L{DelayedCall.__repr__} returns a string that includes the creator
        stack (we captured it, we might as well display it).
        r|c��yrr7r7r rrz<DelayedCallDebugTests.test_switchFromDebug.<locals>.<lambda>�r�r r7c��yr�r7r7r rrz<DelayedCallDebugTests.test_switchFromDebug.<locals>.<lambda>�r�r rr�N)r	r�r��assertInr�r�s  r�test_switchFromDebugz*DelayedCallDebugTests.test_switchFromDebug�s4����L�"�b�'�7�I�
N������
�
�-�t�B�x�8r N)rArBrCrDr�r�r�r7r rr�r�{s���%�2�	9r r�c��eZdZdZd�Zy)�TestSpySignalCapturingReactorza
    Subclass of ReactorBase to capture signals delivered to the
    reactor for inspection.
    c��y)z*
        Required method, unused.
        Nr7rs rrxz*TestSpySignalCapturingReactor.installWaker�r�r N)rArBrCrDrxr7r rr�r��s���
r r�zsignal module not availablec�(�eZdZdZd�Zd�Zd�Zd�Zy)�ReactorBaseSignalTestszE
    Tests to exercise ReactorBase's signal exit reporting path.
    c�P�t�}|jd|j�y)zI
        The default value of the _exitSignal attribute is None.
        N)r��assertIs�_exitSignal�rr\s  r�test_exitSignalDefaultsToNonez4ReactorBaseSignalTests.test_exitSignalDefaultsToNone�s ��0�1���
�
�d�G�/�/�0r c��t�}|jtjd�|j	tj|j
�y)zn
        ReactorBase's SIGINT handler saves the value of SIGINT to the
        _exitSignal attribute.
        N)r��sigInt�signal�SIGINT�assertEqualsr�r�s  r�test_captureSIGINTz)ReactorBaseSignalTests.test_captureSIGINT�s8��
0�1�����v�}�}�d�+����&�-�-��)<�)<�=r c��t�}|jtjd�|j	tj|j
�y)zp
        ReactorBase's SIGTERM handler saves the value of SIGTERM to the
        _exitSignal attribute.
        N)r��sigTermr��SIGTERMr�r�r�s  r�test_captureSIGTERMz*ReactorBaseSignalTests.test_captureSIGTERM�s8��
0�1���������-����&�.�.�'�*=�*=�>r c���ttd�std��t�}|j	tj
d�|j
tj
|j�y)zr
        ReactorBase's SIGBREAK handler saves the value of SIGBREAK to the
        _exitSignal attribute.
        �SIGBREAKz$signal module does not have SIGBREAKN)�hasattrr�rr��sigBreakr�r�r�r�s  r�test_captureSIGBREAKz+ReactorBaseSignalTests.test_captureSIGBREAK�sP��
�v�z�*��A�B�B�/�1��������$�/����&�/�/�7�+>�+>�?r N)rArBrCrDr�r�r�r�r7r rr�r��s���1�>�?�
@r r�),rDrU�queuer�typingr�unittestr�zope.interfacerr�twisted.internet._resolverr�twisted.internet.baser	r
r�twisted.internet.deferr�twisted.internet.errorr
�twisted.internet.interfacesrrr�twisted.internet.taskr�twisted.python.threadpoolr�twisted.trial.unittestrrr��_signal�ImportErrorrrrHr�r�r�r�r�r�r7r r�<module>r�s�������&��3�L�L�+�1�V�V�'�0�5����F��t�_��
�\�?�+�,
�,
�,�,
�^GF�H�GF�T�o/�o/�d"<�.��"<�J#9�,�h�#9�L
�K�
��F�
�1�2�)@�X�)@�3�)@��g��
�F��s� C�C"�!C"

Zerion Mini Shell 1.0