File: //lib/python3/dist-packages/twisted/application/runner/test/__pycache__/test_exit.cpython-310.pyc
o
�b� � @ sl d Z ddlmZ ddlmZmZ ddlZddlm Z ddl m
Z
mZ G d d
� d
ejj
j�ZG dd� d�ZdS )
z0
Tests for L{twisted.application.runner._exit}.
� )�StringIO)�Optional�UnionN� )�_exit� )�
ExitStatus�exitc @ sB e Zd ZdZddd�Zddd�Zddd �Zdd
d�Zddd
�ZdS )� ExitTestsz
Tests for L{exit}.
�returnNc C s t � | _| �td| j� d S )N�sysexit)� DummyExitr �patchr ��self� r �K/usr/lib/python3/dist-packages/twisted/application/runner/test/test_exit.py�setUp s zExitTests.setUpc C s d}t |� | �| j j|� dS )zR
L{exit} given an L{int} status code will pass it to L{sys.exit}.
i� N)r �assertEqual�arg�r �statusr r r �test_exitStatusInt s zExitTests.test_exitStatusIntc C s$ t j}t|� | �| jj|j� dS )zu
L{exit} given a L{ValueConstant} status code passes the corresponding
value to L{sys.exit}.
N)r � EX_CONFIGr r r �valuer r r r �test_exitConstant! s zExitTests.test_exitConstantc C �: t � }| �td|� d}td|� | �|�� |d � dS )zq
L{exit} given a status code of zero (C{0}) writes the given message to
standard output.
�stdout�
Hello, world.r �
N�r r r r r �getvalue�r �out�messager r r �test_exitMessageZero* �
zExitTests.test_exitMessageZeroc C r )zj
L{exit} given a non-zero status code writes the given message to
standard error.
�stderrr �@ r Nr r"