%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_udp_internals.cpython-312.pyc

�

Ϫ�f�����dZddlmZddlZddlmZddlmZddlm	Z	ddl
mZe	dk(rdd	lm
Zndd
lmZGd�d�ZGd
�de�ZGd�dej"�Zy)zK
Tests for the internal implementation details of L{twisted.internet.udp}.
�)�annotationsN)�udp)�DatagramProtocol)�platformType)�unittest�win32)�WSAEWOULDBLOCK)�EWOULDBLOCKc�(�eZdZdZdd�Zdd�Zdd�Zy)	�StringUDPSocketa
    A fake UDP socket object, which returns a fixed sequence of strings and/or
    socket errors.  Useful for testing.

    @ivar retvals: A C{list} containing either strings or C{socket.error}s.

    @ivar connectedAddr: The address the socket is connected to.
    c� �||_d|_y�N)�retvals�
connectedAddr)�selfrs  �J/usr/lib/python3/dist-packages/twisted/internet/test/test_udp_internals.py�__init__zStringUDPSocket.__init__ s�����,0���c��||_yr)r)r�addrs  r�connectzStringUDPSocket.connect$s
��!��rc�x�|jjd�}t|tj�r|�|dfS)zH
        Return (or raise) the next value from C{self.retvals}.
        rN)r�pop�
isinstance�socket�error)r�size�rets   r�recvfromzStringUDPSocket.recvfrom's5���l�l���q�!���c�6�<�<�(��I��D�y�rN)rzlist[bytes | socket.error]�return�None)r�objectr r!)r�intr ztuple[bytes, None])�__name__�
__module__�__qualname__�__doc__rrr�rrrrs���1�"�rrc� �eZdZdZdd�Zdd�Zy)�	KeepReadsz%
    Accumulate reads in a list.
    c��g|_yr)�reads)rs rrzKeepReads.__init__6s	��"$��
rc�:�|jj|�yr)r,�append)r�datars   r�datagramReceivedzKeepReads.datagramReceived9s���
�
���$�rN�r r!)r/�bytesrr"r r!)r$r%r&r'rr0r(rrr*r*1s���%� rr*c�0�eZdZdZdd�Zdd�Zdd�Zdd�Zy)�ErrorsTestsz/
    Error handling tests for C{udp.Port}.
    c	��tjjd�|jtjjd�t�}tjd|�}tddtjd�dtjd�g�|_|j�|j|jddg�|j�|j|jgd��y)z�
        Socket reads with some good data followed by a socket error which can
        be ignored causes reading to stop, and no log messages to be logged.
        i��N�result�123�456)r6r7r8)
r�_sockErrReadIgnorer.�
addCleanup�remover*�Portrrr�doRead�assertEqualr,�r�protocol�ports   r�test_socketReadNormalz!ErrorsTests.test_socketReadNormalBs���	���%�%�e�,�����.�.�5�5�u�=��;���x�x��h�'��&�
�����U� 3�V�V�\�\�%�=P�Q�
���	
���
�������)�V�)<�=����
�������)D�Erc��tjjd�|jtjjd�t�}d�|_tjd|�}tdtjd�dtjt�g�|_	|j�|j|jdg�|j�|j|jddg�y)z�
        If the socket is unconnected, socket reads with an immediate
        connection refusal are ignored, and reading stops. The protocol's
        C{connectionRefused} method is not called.
        ��c��ddzS)N�rr(r(rr�<lambda>z5ErrorsTests.test_readImmediateError.<locals>.<lambda>es
��Q��U�rN�a�b)r�_sockErrReadRefuser.r:r;r*�connectionRefusedr<rrrr
r=r>r,r?s   r�test_readImmediateErrorz#ErrorsTests.test_readImmediateErrorXs���	���%�%�e�,�����.�.�5�5�u�=��;��%2��"��x�x��h�'��&�
�6�<�<��&��f�l�l�;�.G�H�
���	
���
�������$��0����
�������$���6rc���tjjd�|jtjjd�t�}g��fd�|_tjd|�}tdtjd�dtjt�g�|_	|jdd�|j�|j|jdg�|j�dg�|j�|j|jddg�|j�dg�y)	z�
        If the socket connected, socket reads with an immediate
        connection refusal are ignored, and reading stops. The protocol's
        C{connectionRefused} method is called.
        rDc�&���jd�S)NT)r.)�refuseds�rrGz>ErrorsTests.test_connectedReadImmediateError.<locals>.<lambda>�s���W�^�^�D�-A�rNrHrIz	127.0.0.1i'T)rrJr.r:r;r*rKr<rrrr
rr=r>r,)rr@rArOs   @r� test_connectedReadImmediateErrorz,ErrorsTests.test_connectedReadImmediateErrorts����	���%�%�e�,�����.�.�5�5�u�=��;����%A��"��x�x��h�'��%�
�6�<�<��&��f�l�l�;�.G�H�
���	
���[�$�'�	
���
�������$��0�����4�&�)�	
���
�������$���6�����4�&�)rc��t�}tjd|�}tdt	j
d�g�|_|j
tj
|j�|j|jdg�y)zG
        Socket reads with an unknown socket error are raised.
        Nsgoodi���)
r*rr<rrr�assertRaisesr=r>r,r?s   r�test_readUnknownErrorz!ErrorsTests.test_readUnknownError�se���;���x�x��h�'��&�w����U�0C�&D�E������&�,�,����4�������'��3rNr1)r$r%r&r'rBrLrPrSr(rrr4r4=s���F�,7�8*�>
4rr4)r'�
__future__rr�twisted.internetr�twisted.internet.protocolr�twisted.python.runtimer�
twisted.trialr�errnor	r
rr*�SynchronousTestCaser4r(rr�<module>r[sW���#�
� �6�/�"��7��3�!���6	 � �	 �`4�(�.�.�`4r

Zerion Mini Shell 1.0