File: //usr/local/lib/python3.7/test/__pycache__/test_selectors.cpython-37.pyc
B
��g'G � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ d dl m
Z
d dlZd dlZd dl
Z
d dl mZ yd dlZW n ek
r� dZY nX eed�r�ejZnejejd fdd�Zdd� ZG d d
� d
ej�ZG dd� d�ZG d
d� de�ZG dd� de�Ze�eed�d�G dd� dee��Ze�eed�d�G dd� dee��Ze�eed�d�G dd� dee��Ze�eed�d�G dd � d ee��Zd!d"� Z e!d#k�r�e � dS )$� N)�support)�sleep)� monotonic�
socketpairc C s� t � | ||���}|�tjdf� |�� t � | ||�}yD|�|�� � |�� }x(|�� \}}||krl||fS |�� qPW W n t k
r� |�� � Y nX W d Q R X d S )Nr )
�socketZbindr ZHOSTZlistenZconnectZgetsocknameZaccept�close�OSError)Zfamily�type�proto�l�cZcaddr�aZaddr� r �//usr/local/lib/python3.7/test/test_selectors.pyr s c C s. g }x$| D ]\}}||@ r
|� |j� q
W |S )N)�append�fileobj)�ready�flag�match�key�eventsr r r �find_ready_matching* s
r c @ s� e Zd Zdd� Zdd� Zdd� Zdd� Ze�e j
d kd
�dd� �Zd
d� Zdd� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Ze�ejd!kd"�d#d$� �Zd%d&� Ze�eed'�d(�d)d*� �Ze�eed'�d(�d+d,� �Zd-S ).�BaseSelectorTestCasec C s* t � \}}| �|j� | �|j� ||fS )N)r �
addCleanupr )�self�rd�wrr r r �make_socketpair4 s
z$BaseSelectorTestCase.make_socketpairc C s� | � � }| �|j� | �� \}}|�|tjd�}| �|tj� | � |j
|� | � |j|�� � | � |j
tj� | � |jd� | �t|jdd� | �t|jdtj� | �t|j|tj� | �t|j|�� tj� d S )N�datar i?B i����)�SELECTORr r r �register� selectors�
EVENT_READZassertIsInstance�SelectorKey�assertEqualr �fd�filenor r �assertRaises�
ValueError�KeyError)r �sr r r r r r �
test_register: s z"BaseSelectorTestCase.test_registerc C s\ | � � }| �|j� | �� \}}|�|tj� |�|� | �t |jd� | �t |j|� d S )Ni?B )
r r r r r r! r"