← Back
Editing: test_fdset.cpython-38.pyc
U ��W[�4 � @ s� d Z eZddlZddlZddlZddlmZ ddlm Z ddl mZ ddlm Z mZ ddlmZ ddlmZ dd lmZmZ d d� ZG dd � d e�Zee�G dd� de��Ze� �e�� � dS )z0 Tests for implementations of L{IReactorFDSet}. � N)�implementer)�platform)�SkipTest)� IReactorFDSet�IReadDescriptor)�FileDescriptor)�ReactorBuilder)�EINPROGRESS�EWOULDBLOCKc C s� t � � } | �d� | �d� z�t � � }zn|�d� z|�d| �� d f� W n8 t jk r� } z|jd t t fkrt� W 5 d }~X Y nX | �� \}}W n |�� � Y nX W 5 | �� X ||fS )N)� 127.0.0.1r � Fr r )�socketZbindZlisten�closeZsetblockingZconnectZgetsockname�error�argsr r Zaccept)ZserverSocket�client�e�serverZaddr� r �B/usr/lib/python3/dist-packages/twisted/internet/test/test_fdset.py� socketpair s$ r c @ s� e Zd ZdZegZdd� Zdd� Zdd� Zdd � Z d d� Z dd � Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Ze�� r�de_dd� ZdS ) �ReactorFDSetTestsBuilderz> Builder defining tests relating to L{IReactorFDSet}. c C s* t � \}}| �|j� | �|j� ||fS )zL Return the two sockets which make up a new TCP connection. )r Z addCleanupr )�selfr r r r r �_connectedPair6 s z'ReactorFDSetTestsBuilder._connectedPairc C s. | � � }| �� \}}t|�}|j|_|||fS �N)�buildReactorr r �fileno)r �reactorr r �fdr r r �_simpleSetup@ s z%ReactorFDSetTestsBuilder._simpleSetupc sD | � � \�� }� �fdd�}|� _��� � |�d� | ��� dS )z� C{reactor.addReader()} accepts an L{IReadDescriptor} provider and calls its C{doRead} method when there may be data available on its C{fileno}. c s �� � � ��� d S r )�removeReader�stopr �r r r r � removeAndStopR s z>ReactorFDSetTestsBuilder.test_addReader.<locals>.removeAndStop� xN)r �doRead� addReader�sendall� runReactor�r r r# r r"