Sindbad~EG File Manager
a
��g; � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ ejdkrHe�d��d dl m
Z
e jZG dd� dej
�Zedkr|e�� dS ) � N)�support�win32ztest only relevant on win32)�write_inputc @ s� e Zd Zdd� Zdd� Zdd� Ze�e� � dd� d kd
�dd� �Z
d
d� Zdd� Zdd� Z
dd� Ze�dd�dd� �Zdd� Ze�dd�dd� �Zdd� ZdS )�WindowsConsoleIOTestsc C s: | � tttj�� | �tttj�� | �tttj�� d S )N)�
assertTrue�
issubclass�ConIO�io� RawIOBase�assertFalse�BufferedIOBase�
TextIOBase��self� r �2/usr/local/lib/python3.9/test/test_winconsoleio.py�test_abc s zWindowsConsoleIOTests.test_abcc C sn | � tdtd� t�� �(}|�� }| � tdt|� W d � n1 sF0 Y ztd�}W n tyn Y n>0 | �|�� � | �|� � � | �
d|�� � |�� |�� ztdd�}W n ty� Y n>0 | �|�� � | �|� � � | �
d|�� � |�� |�� ztdd�}W n t�y, Y n>0 | �|�� � | �|� � � | �
d|�� � |�� |�� d S )Nznegative file descriptor���z&Cannot open (console|non-console file)r � �w� )ZassertRaisesRegex�
ValueErrorr �tempfile�
TemporaryFile�filenor �readabler �writable�assertEqual�close)r Ztmpfile�fd�fr r r �test_open_fd sF �
�"z"WindowsConsoleIOTests.test_open_fdc C s | � tttj� td�}| �|�� � | �|�� � | � |�
� � |�� |�� td�}| �|�� � | �|�� � | � |�
� � |�� |�� tdd�}| �|�� � | �|�� � | � |�
� � |�� |�� t�� d d� dk �rt
ddd d
�}| �|t� |�� d S )N�CON�CONIN$�CONOUT$r � ��
r i�U zC:/con�rbr �� buffering)ZassertRaisesr r �sys�
executabler r r r ZassertIsNotNoner r �getwindowsversion�open�assertIsInstance�r r r r r �test_open_nameG s.
z$WindowsConsoleIOTests.test_open_nameNr �� r z+test does not work on Windows 7 and earlierc C sH t dddd�}| �|t� |�� t dddd�}| �|t� |�� d S )Nz
\\.\conin$r( r r) z//?/conout$�wb)r. r/ r r r0 r r r �test_conin_conout_namese s z-WindowsConsoleIOTests.test_conin_conout_namesc C s� t �� }| �tj|� tj�|d�}t|ddd��N}dt �
� d d� k rTdk rfn n| �|t� n| �
|t� W d � n1 s�0 Y d S )Nr$ r4 r r) r2 r% r&