← Back
Editing: test_fdesc.cpython-38.pyc
U ��W[� � @ s� d Z ddlZddlZddlZzddlZW n ek r@ dZY nX ddlmZ ddl m Z ddlmZ G dd� dej �ZG d d � d ej �ZG dd� dej �ZdS ) z& Tests for L{twisted.internet.fdesc}. � Nznot supported on this platform)�fdesc)�untilConcludes)�unittestc @ s e Zd ZdZdd� Zdd� ZdS )�NonBlockingTestszE Tests for L{fdesc.setNonBlocking} and L{fdesc.setBlocking}. c C sj t �� \}}| �t j|� | �t j|� | �t�|tj�t j@ � t� |� | � t�|tj�t j@ � dS )zR L{fdesc.setNonBlocking} sets a file description to non-blocking. N)�os�pipe� addCleanup�close�assertFalse�fcntl�F_GETFL� O_NONBLOCKr �setNonBlocking� assertTrue��self�r�w� r �9/usr/lib/python3/dist-packages/twisted/test/test_fdesc.py�test_setNonBlocking s z$NonBlockingTests.test_setNonBlockingc C sZ t �� \}}| �t j|� | �t j|� t�|� t�|� | �t�|tj �t j @ � dS )zK L{fdesc.setBlocking} sets a file description to blocking. N)r r r r r r ZsetBlockingr r r r r r r r �test_setBlocking( s z!NonBlockingTests.test_setBlockingN)�__name__� __module__�__qualname__�__doc__r r r r r r r s r c @ sp e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dd� Zdd� Zdd� Z dd� Zdd� ZdS )�ReadWriteTestsz< Tests for L{fdesc.readFromFD}, L{fdesc.writeToFD}. c C s, t �� \| _| _t�| j� t�| j� dS )zG Create a non-blocking pipe that can be used in tests. N)r r r r r r �r r r r �setUp: s zReadWriteTests.setUpc C sP zt �| j� W n tk r$ Y nX zt �| j� W n tk rJ Y nX dS )z Close pipes. N)r r r �OSErrorr r r r r �tearDownC s zReadWriteTests.tearDownc C s t �| j|�S )z) Write data to the pipe. )r Z writeToFDr )r �dr r r �writeQ s zReadWriteTests.writec C s6 g }t �| j|j�}|dkr.|r(|d S dS n|S dS )z* Read data from the pipe. Nr � )r � readFromFDr �append)r �l�resr r r �readX s zReadWriteTests.readc C sH | � d�}| �|dk� | �� }| �t|�|� | �dd|� |� dS )z� Test that the number of bytes L{fdesc.writeToFD} reports as written with its return value are seen by L{fdesc.readFromFD}. s hellor N)r"