AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3.10/test/libregrtest/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3.10/test/libregrtest/__pycache__/runtest_mp.cpython-310.pyc
o

}�5hsD�@sbddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZm
Z
mZmZddlmZddlmZddlmZddlmZddlmZmZmZmZmZmZmZddl m!Z!dd	l"m#Z#m$Z$d
Z%e%eksxJ�dZ&e&e%ks�J�d
Z'e(ed�o�e(ed
�Z)dedede*fdd�Z+de,ee-ffdd�Z.de-dedej/fdd�Z0dede-de
fdd�Z1Gdd�d�Z2Gdd�de�Z3e-Z4e,ede3fe,ed e4fBZ5Gd!d"�d"e6�Z7Gd#d$�d$ej8�Z9d%e:e9de:e9fd&d'�Z;Gd(d)�d)�Z<d*eddfd+d,�Z=Gd-d.�d.ej>�Z?d/e@e-efdee@e-efBfd0d1�ZAdeBeCefd2d3�ZDdS)4�N)�
NamedTuple�NoReturn�Literal�Any)�support)�	os_helper)�	Namespace)�Regrtest)�runtest�	is_failed�
TestResult�Interrupted�Timeout�
ChildError�PROGRESS_MIN_TIME)�setup_tests)�format_duration�
print_warningg>@g�r@�setsid�killpg�result�ns�returncCs&t|t�rdS|jrt||�rdSdS)NTF)�
isinstancer
�failfastr)rr�r�2/usr/lib/python3.10/test/libregrtest/runtest_mp.py�	must_stop)s

rcCs$t�|�\}}tdi|��}||fS)Nr)�json�loadsr)�worker_args�ns_dict�	test_namerrrr�parse_worker_args1sr#�testnamecCsxt|�}||f}t�|�}tjgt���d�d�d�d�|�}i}tr'd|d<tj	|ftj
tj
dtjdkt
jd�|��S)	Nz-uz-mz
test.regrtestz
--worker-argsT�start_new_session�nt)�stdout�stderr�universal_newlines�	close_fds�cwd)�varsr�dumps�sys�
executabler�args_from_interpreter_flags�USE_PROCESS_GROUP�
subprocess�Popen�PIPE�os�namer�SAVEDCWD)r$rr!r �cmd�kwrrr�run_test_in_subprocess7s4
�������r:r"cCs<t|�t||�}t�ttj|td�dd�t�d�dS)N)�clsT��flushr)rr
�printrr-�EncodeTestResultr.�exit)rr"rrrr�run_tests_workerPs

rAc@s0eZdZdZdd�Zdd�Zdd�Zdd	�Zd
S)�MultiprocessIteratorz8A thread-safe iterator over tests for multiprocess mode.cCst��|_||_dS�N)�	threading�Lock�lock�
tests_iter)�selfrGrrr�__init__as

zMultiprocessIterator.__init__cCs|SrCr�rHrrr�__iter__eszMultiprocessIterator.__iter__cCsB|j�|jdurt�t|j�Wd�S1swYdSrC)rFrG�
StopIteration�nextrJrrr�__next__hs

$�zMultiprocessIterator.__next__cCs2|j�d|_Wd�dS1swYdSrC)rFrGrJrrr�stopns"�zMultiprocessIterator.stopN)�__name__�
__module__�__qualname__�__doc__rIrKrNrOrrrrrB]srBc@s.eZdZUeed<eed<eed<eed<dS)�MultiprocessResultrr'r(�	error_msgN)rPrQrRr�__annotations__�strrrrrrTss

rTFTc@seZdZdS)�
ExitThreadN)rPrQrRrrrrrX~srXc	s�eZdZdeddddf�fdd�Zdefdd	�Zd d
d�Zd dd
�Z			d!de	dedede
fdd�Zdedeeeeffdd�Z
dede
fdd�Zd dd�Zd dd�Zdeddfdd�Z�ZS)"�TestWorkerProcess�	worker_id�runner�MultiprocessTestRunnerrNcsZt���||_|j|_|j|_|j|_|j|_|j|_d|_	d|_
d|_d|_d|_
dS)NF)�superrIrZ�pending�outputr�worker_timeout�timeout�regrtest�current_test_name�
start_time�_popen�_killed�_stopped)rHrZr[��	__class__rrrI�s

zTestWorkerProcess.__init__cCs�d|j��g}|��r|�d�n|�d�|j}|r#|�d|���|j}|durBt��|j}|�d|jj	��dt
|���f�dd�|�S)	NzTestWorkerProcess #�running�stoppedztest=zpid=ztime=z<%s>� )rZ�is_alive�appendrcre�time�	monotonicrd�extend�pidr�join)rH�info�test�popen�dtrrr�__repr__�s
�zTestWorkerProcess.__repr__c
Cs�|j}|dur	dS|jrdSd|_tr|�d�}n|�}td|��tjdd�ztr5t�|jt	j
�WdS|��WdStyEYdSt
ya}ztd|�d|���WYd}~dSd}~ww)NTz process groupzKill ��filer=zFailed to kill z: )rerfr1r>r.r(r5rrr�signal�SIGKILL�kill�ProcessLookupError�OSErrorr)rHrv�what�excrrr�_kill�s("��zTestWorkerProcess._killcCsd|_|��dS)NT)rgr�rJrrrrO�szTestWorkerProcess.stop��test_resultr'r(cCst��|j|_t||||�SrC)rorprd�duration_secrT)rHr�r'r(�err_msgrrr�mp_result_error�sz!TestWorkerProcess.mp_result_errorr"cCst��|_||_zt||j�}d|_||_Wnd|_�zez\|jr)|�	�t
�z|j|jd�\}}|j
}|dus<J�Wn%tjyV|jrJt
�|�	�d}d}}Yntyb|jrat
��w|��}|��}|||fWW|��d|_d|_S|�	��|��d|_d|_w)NF�rar�)rorprdrcr:rrfrergr�rX�communicatera�
returncoder2�TimeoutExpiredr�strip�rstrip�_wait_completed)rHr"rvr'r(�retcoderrr�_run_process�sP

��zTestWorkerProcess._run_processc	
Cs�|�|�\}}}|dur|�t|�||�Sd}|dkr d|}n1|�d�\}}}|��}|s1d}n z	tj|td�}WntyP}z
d|}WYd}~nd}~ww|dur_|�t	|�|||�St
||||�S)NrzExit code %s�
zFailed to parse worker stdout)�object_hookzFailed to parse worker JSON: %s)r�r�r�
rpartitionr�rr�decode_test_result�	ExceptionrrT)	rHr"r�r'r(r��_rr�rrr�_runtests*
��
�zTestWorkerProcess._runtestcCs�|jsRz,zt|j�}WntyYWdSw|�|�}|j�d|f�t|j|j	�r.WdSWnt
y9YdStyL|j�dt�
�f�YdSw|jrdSdS)NFT)rgrMr^rLr�r_�putrrrrX�
BaseException�	traceback�
format_exc)rHr"�	mp_resultrrr�run"s&�
���zTestWorkerProcess.runc
Csv|j}|j��|j��z|�t�WdStjtfy:}zt	d|�dt
t��d|���WYd}~dSd}~ww)NzFailed to wait for z completion (timeout=z): )rer'�closer(�wait�JOIN_TIMEOUTr2r�rrr)rHrvr�rrrr�5s


����z!TestWorkerProcess._wait_completedrdcCsf	|�d�|��sdSt��|}|j�d|�dt|����|tkr2td|�dt|����dSq)NTg�?zWaiting for z thread for zFailed to join z in )	rsrmrorprb�logrr�r)rHrdrwrrr�wait_stoppedDs
��zTestWorkerProcess.wait_stopped�rN)r�r�N)rPrQrR�intrIrWrxr�rOrrTr��tupler�r�r�r��floatr��
__classcell__rrrhrrY�s,

����
�
;

rY�workerscCsNg}|D] }|j}|sqt��|j}|tkr$d|t|�f}|�|�q|S)Nz%s (%s))rcrorprdrrrn)r�rj�workerrcrw�textrrr�get_running\s
�r�c@sreZdZdeddfdd�Zddd�Zddd	�ZdedBfd
d�Zde	ddfd
d�Z
dedefdd�Zddd�Z
dS)r\rbrNcCsj||_|jj|_|j|_t��|_t|jj�|_|jj	dur-t
|jj	d|jj	d�|_nd|_d|_dS)Ng�?i,)
rbr�r�queue�Queuer_rB�testsr^ra�minr`r�)rHrbrrrrIjs


�
zMultiprocessTestRunner.__init__cs|�fdd�td�jjd�D��_dt�j��d�}�jjr-|dt�jj�t�j�f7}��|��jD]}|�	�q5dS)Ncsg|]}t|���qSr)rY)�.0�indexrJrr�
<listcomp>{s�z8MultiprocessTestRunner.start_workers.<locals>.<listcomp>�zRun tests in parallel using z child processesz" (timeout: %s, worker timeout: %s))
�ranger�use_mpr��lenrarr`r��start)rH�msgr�rrJr�
start_workerszs
�
��


�z$MultiprocessTestRunner.start_workerscCs6t��}|jD]}|��q|jD]}|�|�qdSrC)rorpr�rOr�)rHrdr�rrr�stop_workers�s


�z#MultiprocessTestRunner.stop_workerscCs�|jjdu}t}tdd�|jD��rM|rtjtdd�z|jj	|d�WSt
jy-Ynwt|j�}|rC|jj
sC|�dd�|��tdd�|jD��sz|jj	dd�WSt
jy`YdSw)	Ncss�|]}|��VqdSrC)rm)r�r�rrr�	<genexpr>�s�z5MultiprocessTestRunner._get_result.<locals>.<genexpr>T)r@r�zrunning: %s�, r)rra�PROGRESS_UPDATE�anyr��faulthandler�dump_traceback_later�MAIN_PROCESS_TIMEOUTr_�getr��Emptyr��pgor�rs)rH�use_faulthandlerrarjrrr�_get_result�s*��
��z"MultiprocessTestRunner._get_resultr�cCs�|j}t|�}|jdur|d|j7}n|jtkr&|jjs&|dt|j�7}t|j	�}|r:|jjs:|dd�
|�7}|j�|j
|�dS)Nz (%s)z -- running: %sr�)rrWrUr�rrr�rr�r�rsrb�display_progress�
test_index)rHr�rr�rjrrr�display_result�s

z%MultiprocessTestRunner.display_result�itemcCs�|dr|d}td|���dS|jd7_|d}|j�|j�|�|�|jr2t|jdd�|jrB|j	j
sBt|jtjdd�t|j|j	�rKdSdS)z&Returns True if test runner must stop.rr�zregrtest worker thread failed: Tr<ryF)
rr�rb�accumulate_resultrr�r'r>r(rr�r.r)rHr�r�r�rrr�_process_result�s
z&MultiprocessTestRunner._process_resultcCs�|��d|_z<z	|��}|durn	|�|�}|rnq
Wnty-t�d|j_YnwW|jj	dur9t
��|j�
�|��dS|jj	durNt
��|j�
�|��w)NrT)r�r�r�r��KeyboardInterruptr>rb�interruptedrrar��cancel_dump_traceback_laterr^rOr�)rHr�rOrrr�	run_tests�s2
����
�

z MultiprocessTestRunner.run_testsr�)rPrQrRr	rIr�r��QueueOutputr�rTr��boolr�r�rrrrr\is

r\rbcCst|���dSrC)r\r�)rbrrr�run_tests_multiprocess�sr�cs2eZdZdZdedeeeff�fdd�Z�ZS)r?z7Encode a TestResult (sub)class object into a JSON dict.�orcs.t|t�rt|�}|jj|d<|St��|�S)N�__test_result__)rrr,rirPr]�default)rHr�rrhrrr��s

zEncodeTestResult.default)	rPrQrRrSr�dictrWr�r�rrrhrr?�s&r?�dcCsBd|vr|S|�d�}t�D]}|j|kr|di|��SqdS)z7Decode a TestResult (sub)class object from a JSON dict.r�Nr)�pop�get_all_test_result_classesrP)r��cls_namer;rrrr��s


��r�cCsTd}th}t|�|kr(t|�}g}|D]	}|�|���q|�|�t|�|ks|S)Nr)rr�rq�__subclasses__�update)�
prev_count�classes�to_addr;rrrr�s
�r�)E�collectionsr�rr5r�r{r2r.rDror��typingrrrrrur�test.supportr�test.libregrtest.cmdliner�test.libregrtest.mainr	�test.libregrtest.runtestr
rrr
rrr�test.libregrtest.setupr�test.libregrtest.utilsrrr�r�r��hasattrr1r�rr�rWr#r3r:rArBrT�ExcStrr�r�rX�ThreadrY�listr�r\r��JSONEncoderr?r�r��set�typer�rrrr�<module>sT$
 [
&

Anon7 - 2022
AnonSec Team