HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/idlelib/idle_test/__pycache__/test_run.cpython-38.pyc
U

0D�g�6�@sdZddlmZddlZddlZddlmZmZddlZddlm	Z	ddlZddl
mZde_Gdd	�d	ej
�ZGd
d�de�ZGdd
�d
�ZGdd�dej
�ZGdd�dej
�ZGdd�dej
�ZGdd�dej
�ZGdd�dej
�Zedkr�ejdd�dS)zTest run, coverage 49%.�)�runN)�captured_output�captured_stderr)�mock)�FuncTc@seZdZdd�ZdS)�PrintExceptionTestcCs�Gdd�dt�}|d�}|d�}z
||�Wnp|k
r�z|�WnR|k
r�t��2}tj�td��}dd�|_t��W5QRXW5QRXYnXYnX|���	��
�}|�dt|��|�
d	|d
�|�
d|d�dS)
Nc@seZdZdd�ZdS)zOPrintExceptionTest.test_print_exception_unhashable.<locals>.UnhashableExceptioncSsdS)NT�)�self�otherrr�9/opt/cppython/lib/python3.8/idlelib/idle_test/test_run.py�__eq__szVPrintExceptionTest.test_print_exception_unhashable.<locals>.UnhashableException.__eq__N)�__name__�
__module__�__qualname__rrrrr�UnhashableExceptionsr�ex1�ex2Zcleanup_tracebackcSs|S�Nr)�t�errr�<lambda>!�zDPrintExceptionTest.test_print_exception_unhashable.<locals>.<lambda>�zUnhashableException: ex2�zUnhashableException: ex1�
)�	Exceptionrr�patch�objectrZside_effect�print_exception�getvalue�strip�
splitlines�assertEqual�len�assertIn)r	rrr�output�ct�tbrrr�test_print_exception_unhashables(
�
(z2PrintExceptionTest.test_print_exception_unhashableN)r
rrr(rrrrrsrc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�ScCsdt|�jS)Nz%s:str��typer
�r	rrr�__str__-sz	S.__str__cCsdt|�jS)Nz
%s:unicoder*r,rrr�__unicode__/sz
S.__unicode__cCsdS�Nrrr,rrr�__len__1sz	S.__len__cCstd�S)N�abc)�iterr,rrr�__iter__3sz
S.__iter__cGsdt|�jS)Nz%s:itemr*�r	�argsrrr�__getitem__5sz
S.__getitem__cGsdt|�jS)Nz%s:slicer*r4rrr�__getslice__7szS.__getslice__N)	r
rrr-r.r0r3r6r7rrrrr),sr)c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�	MockShellcCs|��dSr)�resetr,rrr�__init__<szMockShell.__init__cGs|j�|�dSr)�written�appendr4rrr�write>szMockShell.writecCs
|j��Sr)�lines�popr,rrr�readline@szMockShell.readlinecCsdSrrr,rrr�closeBszMockShell.closecCs
g|_dSr)r;r,rrrr9DszMockShell.resetcCst|�ddd�|_dS)N���)�listr>)r	r>rrr�pushFszMockShell.pushN)	r
rrr:r=r@rAr9rDrrrrr8;sr8c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�StdInputFilesTestcCs�t�}t�|d�}|�|tj�|�|jd�|�|jd�|�	|j
�|�|jd�|�|j
�|�|���|�|���|�|���|�|���dS)N�stdin�utf-8�strictz<stdin>)r8r�StdInputFile�assertIsInstance�io�
TextIOBaser"�encoding�errors�assertIsNone�newlines�name�assertFalse�closed�
assertTrue�isatty�readable�writable�seekable�r	�shell�frrr�	test_miscLszStdInputFilesTest.test_misccCsdt�}t�|d�}|�t|j�|�t|j�|�t|jd�|�t|jd�|�t|j	dg�dS)NrFr�x)
r8rrI�assertRaises�OSError�fileno�tell�seekr=�
writelinesrYrrr�test_unsupportedZsz"StdInputFilesTest.test_unsupportedcCst�}t�|d�}|�dddg�|�|��d�|�dddg�|�|�d�d�|�dddg�|�|�d�d�|�ddddg�|�|�d�d	�|�|�d
�d�|�|�d�d
�|�ddg�|�|�d�d�|�t|jd�|�t|jd�|�t|jdd�dS)NrF�one
�two
��one
two
rB�three
��onrze
trz	wo
three
r��?�1�)r8rrIrDr"�readr^�	TypeErrorrYrrr�	test_readcs"zStdInputFilesTest.test_readcCsbt�}t�|d�}|�ddddg�|�|��d�|�|�d�d�|�|�d�d�|�dg�|�|��d�|�|��d�|�dd	d
g�|�|��d�|�|��d	�|�dddg�|�|�d�d�|�|�d
�d�|�|�d
�d�|�|�d�d�|�ddg�|�|�d�d�|�t|jd�|�t|jd�|�t|jd
d
�dS)NrFrerfrizfour
rBrhZone�twoZthreerjrkrnr�
rrrgrlrm)	r8rrIrDr"r@r^rp�	readlinesrYrrr�
test_readlinews,zStdInputFilesTest.test_readlinecCs8t�}t�|d�}|�dddg�|�|��ddg�|�dddg�|�|�d�ddg�|�dddg�|�|�d�ddg�|�dddg�|�|�d�ddg�|�dddg�|�|�d�dg�|�dddg�|�|�d�ddg�|�dddg�|�t|jd	�|�t|jd
�|�t|jdd�dS)NrFrerfrgrBrr�rlrmrn)r8rrIrDr"rtr^rprYrrr�test_readlines�s$z StdInputFilesTest.test_readlinescCsvt�}t�|d�}|�dddg�|�|j�|�|��d�|��|�|j�|�|��d�|�	t
|jd�dS)NrFrerfrgrn)r8rrIrDrRrSr"r@rAr^rprYrrr�
test_close�szStdInputFilesTest.test_closeN)	r
rrr\rdrqrurwrxrrrrrEJs	rEc@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�StdOutputFilesTestcCs�t�}t�|d�}|�|tj�|�|jd�|�|jd�|�	|j
�|�|jd�|�|j
�|�|���|�|���|�|���|�|���dS)N�stdoutrGrHz<stdout>)r8r�
StdOutputFilerJrKrLr"rMrNrOrPrQrRrSrTrUrVrWrXrYrrrr\�szStdOutputFilesTest.test_misccCsbt�}t�|d�}|�t|j�|�t|j�|�t|jd�|�t|jd�|�t|j	d�dS)Nrzr)
r8rr{r^r_r`rarbror@rYrrrrd�sz#StdOutputFilesTest.test_unsupportedcCst�}t�|d�}|�d�|�|jdg�|��|�d�|�|jdg�|��|�td��|�|jdg�|�t|jdd�t	�|��|�
t|j�|�|jg�|�
t|jd�|�
t|jd�|�|jg�|�
t|jdd	�|�|jg�dS)
Nrz�test�r|rz�	tèś𝖙)r~rzr�test�{�spam�r8rr{r=r"r;r9r)r+�strr^rprYrrr�
test_write�s&

zStdOutputFilesTest.test_writecCs�t�}t�|ddd�}|�d�|�|jdg�|��|�td��|�|jdg�|�t|jdd�t	�|��|�
t|j�|�|jg�|�
t|jd�|�
t|jd�|�|jg�|�
t|jd	d
�|�|jg�dS)N�stderrziso-8859-15�backslashreplaceutèś𝖙¤)utè\u015b\U0001d599\xa4r�rrr�r|r�r�rYrrr�test_write_stderr_nonencodable�s 
z1StdOutputFilesTest.test_write_stderr_nonencodablecCsTt�}t�|d�}|�g�|�|jg�|��|�ddg�|�|jddg�|��|�ddg�|�|jdd	g�|��|�td
�g�|�|jdg�|�t|jdd�t	�|��|�
t|j�|�|jg�|�
t|jd
�|�|jg�|�
t|jdg�|�
t|jd
g�|�|jg�|�
t|jgg�|�|jg�dS)Nrzrerr)rerz)rrrz�onè
�twò)r�rz)r�rz�tèst)r�rzrr�r)r8rr{rcr"r;r9r)r+r�r^rprYrrr�test_writelines�s8
��z"StdOutputFilesTest.test_writelinescCsxt�}t�|d�}|�|j�|�d�|��|�|j�|�t	|jd�|�
|jdg�|��|�t|jd�dS)Nrzr|r]r}rn)
r8rr{rRrSr=rArTr^�
ValueErrorr"r;rprYrrrrxs
zStdOutputFilesTest.test_closeN)	r
rrr\rdr�r�r�rxrrrrry�s	ryc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�RecursionLimitTestcCsLt��|�tj�tj}|jt|dd�|�t|dd�|�t|d�dS)N�d)�limiti�r)	r�install_recursionlimit_wrappers�
addCleanup�!uninstall_recursionlimit_wrappers�sys�setrecursionlimitr^rpr�)r	r[rrr� test_bad_setrecursionlimit_calls#sz3RecursionLimitTest.test_bad_setrecursionlimit_callscCsTt��|�tj�t��}|�tj|�t�|d�t��}|�||d�dSr/)rr�r�r�r��getrecursionlimitr�r"�r	Z
orig_reclimitZnew_reclimitrrr�test_roundtrip+sz!RecursionLimitTest.test_roundtripcCs4t��}t��|�tj�t��}|�||�dSr)r�r�rr�r�r�r"r�rrr�&test_default_recursion_limit_preserved8s
z9RecursionLimitTest.test_default_recursion_limit_preservedcCsFdd�}t�|d�|�|jd�d|_t�|d�|�|jd�dS)NcSsdS)Z	docstringNrrrrr�funcArz,RecursionLimitTest.test_fixdoc.<locals>.funcZmorezdocstring

more)rZfixdocr"�__doc__)r	r�rrr�test_fixdoc?szRecursionLimitTest.test_fixdocN)r
rrr�r�r�r�rrrrr� s
r�c@seZdZdd�ZdS)�HandleErrorTestc
Cs�|j}td���}tjdtd���}zt�Wn$tk
rLtj�ddd�YnX|tj	d�dt_	||�
�d�zt�Wn$tk
r�tj�ddd�YnX|tjd�dt_|�
�}|�
d|�|�
d|�|�
d	|�||jd
�W5QRXW5QRXdS)N�
__stderr__z!idlelib.run.thread.interrupt_main)Znew_callabler1Z123TFrg�
IndexErrorrj)r"rrrr�EOFErrorrZMyRPCServerZhandle_errorZexit_nowrr�Zquittingr$Zcalled)r	�eq�errr��msgrrr�test_fatal_errorKs2
��z HandleErrorTest.test_fatal_errorN)r
rrr�rrrrr�Isr�c@s,eZdZedd��Zedd��Zdd�ZdS)�ExecRuncodeTestcCsH|�ttdtj�t�|_|jt_t��}tdd�|j_	t�
|�|_dS)NrF)�result)ZaddClassCleanup�setattrrrr�prtrZMockZconsoleZgetvarZ	Executive�ex)�clsZmockrpcrrr�
setUpClassgszExecRuncodeTest.setUpClasscCstjtjkst�dSr)r��
excepthook�__excepthook__�AssertionError)r�rrr�
tearDownClasspszExecRuncodeTest.tearDownClasscCs�|j}|�d�|�|jdt�|�ttdtj�dd�t_	|�d�|�|j
jdt�dd�t_	|�d�|j\}}}|�|t�|�
t|jt��dS)Nz1/0rr�cSs
t�|�Sr)rr)rrr'rrrrzrz1ExecRuncodeTest.test_exceptions.<locals>.<lambda>cSsdSrrrrrrr~r)r�ZruncodeZassertIsZ
user_exc_info�ZeroDivisionErrorr�r�r�r�r�r�r5rprT�
isinstance�__context__)r	r�rrr'rrr�test_exceptionsts




zExecRuncodeTest.test_exceptionsN)r
rr�classmethodr�r�r�rrrrr�es


r��__main__rj)�	verbosity)r�ZidlelibrrKr�Ztest.supportrrZunittestrZidlelib.idle_test.mock_idlerZtestingZTestCaserr�r)r8rEryr�r�r�r
�mainrrrr�<module>s&go)