HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/test/libregrtest/__pycache__/main.cpython-37.opt-1.pyc
B

��g]_�@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddl m!Z!ddl"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(dZ)Gdd	�d	�Z*dd
d�Z+dS)
�N)�_parse_args)�	findtests�runtest�get_abs_module�STDTESTS�NOTTESTS�PASSED�FAILED�ENV_CHANGED�SKIPPED�RESOURCE_DENIED�INTERRUPTED�CHILD_ERROR�TEST_DID_NOT_RUN�TIMEOUT�PROGRESS_MIN_TIME�format_test_result�	is_failed)�setup_tests)�removepy�count�format_duration�	printlist)�supportg^@c@s�eZdZdZdd�Zdd�Zd7dd�Zd8d
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd9d1d2�Zd3d4�Zd5d6�Zd0S):�RegrtestalExecute a test suite.

    This also parses command-line options and modifies its behavior
    accordingly.

    tests -- a list of strings containing test names (optional)
    testdir -- the directory in which to look for tests (optional)

    Users other than the Python test suite will certainly want to
    specify testdir; if it's omitted, the directory containing the
    Python test suite is searched for.

    If the tests argument is omitted, the tests listed on the
    command-line will be used.  If that's empty, too, then all *.py
    files beginning with test_ will be used.

    The other default arguments (verbose, quiet, exclude,
    single, randomize, findleaks, use_resources, trace, coverdir,
    print_slow, and random_seed) allow programmers calling main()
    directly to set the values that would normally be set by flags
    on the command line.
    cCs�d|_g|_g|_g|_g|_g|_g|_g|_g|_g|_	d|_
d|_g|_d|_
t��|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NF��)�ns�tests�selected�good�bad�skipped�resource_denieds�environment_changed�run_no_tests�rerun�first_result�interrupted�
test_times�tracer�time�	monotonic�
start_time�
test_count�test_count_width�next_single_test�next_single_filename�
testsuite_xml�win_load_tracker�tmp_dir�worker_test_name)�self�r7�1/usr/local/lib/python3.7/test/libregrtest/main.py�__init__5s.
zRegrtest.__init__cCs<t|j�t|j�Bt|j�Bt|j�Bt|j�Bt|j�BS)N)�setr r!r"r#r$r%)r6r7r7r8�get_executed_szRegrtest.get_executedFc	Cs�|j}|j}|ttfkr.|s.|j�|j|f�|tkrD|j�|�n�|t	tfkrb|s�|j
�|�n�|tkrx|j�|�n�|t
kr�|j�|�nj|tkr�|j�|�|j�|�nH|tkr�|j�|�n2|tkr�d|_n"|tkr�|j
�|�ntd|��|�r|t	tthk�r|j
�|�|j}|�r�ddlmm}xN|D]F}y|j�|�|��Wn(|jk
�r�t|tj d��YnX�q>WdS)NTzinvalid test result: %rr)�file)!�	test_name�resultrr
r)�append�	test_timerr r	r!r
r$rr"rr#rr%r(r�
ValueError�remove�xml_data�xml.etree.ElementTree�etree�ElementTreer2Z
fromstringZ
ParseError�print�sys�
__stderr__)r6r>r&r=�okrC�ET�er7r7r8�accumulate_resultdsD
zRegrtest.accumulate_resultrcCst|}|��}|dk	r(d|d�d|��}t��|j}tjt|�d�}|�d|��}|rd|dd�}t|dd�dS)Nz
load avg: z.2f� )Zseconds���T)�flush)�
getloadavgr+r,r-�datetimeZ	timedelta�intrG)r6�line�emptyZload_avgr@r7r7r8�log�szRegrtest.logcCsh|jjrdS||j��|j��}t|j�t|j�}|rN|jjsN|�d|��}|�d|�d|���dS)N�/�[z] )	r�quietr/r.�lenr!r$�pgorV)r6�
test_index�textrTZfailsr7r7r8�display_progress�szRegrtest.display_progressc
Cs�ttjdd�f|�}|jr(gt_|_|j}|dk	r\ddlm	}||j�\}}||_||_
t|j�|j
r�|j
\}}}|dks�|dkr�d}	t|	tjdd�t�d�|jr�tj�|j�|_||_dS)Nrr)�parse_worker_argszwInvalid values for the --huntrleaks/-R parameters. The number of warmups and repetitions must be at least 1 each (1:1).T)r<rP�)rrH�argv�xmlpathrZjunit_xml_listr2�worker_args�test.libregrtest.runtest_mpr_r5r�args�
huntrleaksrG�stderr�exit�tempdir�os�path�
expanduserr)
r6�kwargsrrcr_r=�warmup�repetitions�_�msgr7r7r8�
parse_args�s&

zRegrtest.parse_argsc	Cs�||_|jjrftj�|jd�|_y0t|jd��}|�	��
�}|g|_WdQRXWntk
rdYnX|jjr�g|_t
�d�}ttj�tj|jj���N}xF|D]>}|�dd�d}|�
�}|�|�}|dk	r�|j�|���q�WWdQRXt|j�tdd�}t��}|jj�rLx0|jjD]$}	|	|k�r4|�|	�|�|	��qWg|j_|jj�rlt|jjt�t ��}
nt|jj||�}
|jj�s�|j�p�|jj�p�|
|_!n|j|_!|jj�r�|j!dd�|_!y"|
�"|j!d�}|
|d|_#Wnt$k
�r�YnX|jj%�rPy|j!d|j!�"|jj%��=Wn,t&k
�rNt'd|jj%t(j)d�YnX|jj*�r�|jj+dk�rvt,�-d	�|j_+t,�.|jj+�t,�/|j!�dS)
NZ
pynexttest�rz\btest_[a-zA-Z0-9_]+\b�#rrz1Couldn't find starting test (%s), using all tests)r<i���)0rr�singlerjrk�joinr4r1�open�read�strip�OSErrorZfromfile�re�compiler�SAVEDCWD�split�searchr?�grouprrr�copyZexcludererB�addZtestdirr�listr:r�indexr0�
IndexError�startrArGrHrg�	randomize�random_seed�randomZ	randrangeZseedZshuffle)r6r�fpZ	next_testZregexrT�matchZstdtestsZnottests�argZalltests�posr7r7r8�
find_tests�sh











zRegrtest.find_testscCsx|jD]}t|�qWdS)N)rrG)r6�namer7r7r8�
list_tests
szRegrtest.list_testscCs\xV|D]N}t|tjj�rqt|tj�r2|�|�qt|tj�rt�|�rt	|�
��qWdS)N)�
isinstance�unittest�loaderZ_FailedTestZ	TestSuite�_list_casesZTestCaserZ
match_testrG�id)r6�suite�testr7r7r8r�s

zRegrtest._list_casesc	Cs�dt_t�|jj|jj�xX|jD]N}t|j|�}ytj	�
|�}|�|�Wq"tjk
rn|j
�|�Yq"Xq"W|j
r�ttjd�ttt|j
�d�dtjd�t|j
tjd�dS)NF)r<r�zskipped:)r�verboseZset_match_testsrZmatch_testsZignore_testsrrr�ZdefaultTestLoaderZloadTestsFromNamer�ZSkipTestr"r?rGrHrgrrZr)r6r=Zabstestr�r7r7r8�
list_casesszRegrtest.list_casescCs�d|j_d|j_d|j_|��|_|��|�d�|jdd�|_xN|jD]D}|�d|�d��d|j_t	|j|�}|j
|dd�|jtkrLPqLW|jr�t
tt|j�d�d�t|j�|��dS)	NTFz'Re-running failed tests in verbose modezRe-running z in verbose mode)r&r�z
failed again:)rr��failfastZverbose3�get_tests_resultr'rVr!r&rrMr>r
rGrrZr�display_result)r6r=r>r7r7r8�rerun_failed_tests,s$



zRegrtest.rerun_failed_testscCs|jjrdSt�td|���|jr0td�t|j�|��}|rht�ttt	|�d�d�t
|�|jr�|jjs�t�|j
s�|js�|js�t	|j�dkr�tddd�ttt	|j�d�d	�|jj�r|jjd
d�t�td�x.|jdd
�D]\}}td|t|�f�q�W|j
�rBt�ttt	|j
�d�d�t
|j
�|j�rtt�td�tt	|j�d���t
|j�|j�r�|jj�s�t�ttt	|j�d�d�t
|j�|j�r�t�tdtt	|j�d��t
|j�|j�r
t�ttt	|j�d�d�t
|j�dS)Nz== Tests result: %s ==z(Test suite interrupted by signal SIGINT.r�zomitted:rZAllrN)�endzOK.T)�reversez10 slowest tests:�
z- %s: %szfailed:z%{} altered the execution environment:zskipped:z%s:zre-run testz
run no tests:)rr[rGr�r(r:rr;rrZrr rYr!r"Z
print_slowr)�sortrr$�formatr&r%)r6Zomittedr@r�r7r7r8r�Fs\




zRegrtest.display_resultcCs�|jjr ddl}|jddd�|_tj��}d}|jjrJ|dt|jj�7}|�	|�d}�x"t
|jd�D�]\}}t�
�}|}|r�d||f}|�||�|jr�d	}	tt��}
|jj|	t�|
d
�|
d}nt|j|�}|�|�|jtkr�Pt|�}t�
�|}|tk�rd|t|�f}n|jtk�r.d}x4tj��D]&}
|
|k�r:|
�d
��r:t�|
��q:W|jjrht||j�rhPqhW|�r�t|�dS)NrFT)�tracerzRun tests sequentiallyz (timeout: %s)rz%s -- %szDresult = runtest(self.ns, test_name); self.accumulate_result(result))�globals�localsr>z%s in %sztest.) rr�ZTracer*rH�modules�keysZtimeoutrrV�	enumeraterr+r,r^�dictr�Zrunctxr�rrMr>r
rrr�
startswithrZunloadr�rrG)r6r�Zsave_modulesrqZ
previous_testr\r=r-r]�cmdrr>r@�moduler7r7r8�run_tests_sequential�sJ






zRegrtest.run_tests_sequentialccs:x4x.|D]&}|V|jrdS|jjr|jrdSqWqWdS)N)r!r�fail_env_changedr$)r6rr=r7r7r8�
_test_forever�s
zRegrtest._test_forevercCsvtdt��ftj����tdtjdd�dtj�tdt���t�	�}|rXtd|�tdt
�d�t��f�dS)	Nz==T)Zaliasedz	%s-endianz== cwd:z
== CPU count:z== encodings: locale=%s, FS=%sF)
rG�platformZpython_implementationrH�versionr~�	byteorderrj�getcwd�	cpu_count�locale�getpreferredencoding�getfilesystemencoding)r6r�r7r7r8�display_header�s
zRegrtest.display_headercCs�g}|jr|�d�n@|jjr0|jr0|�d�n&t|j|j|j|j|jf�sV|�d�|jrf|�d�|st|�d�d�	|�}|j
r�d|j
|f}|S)N�FAILUREzENV CHANGEDzNO TEST RUNr
�SUCCESSz, z
%s then %s)r!r?rr�r$�anyr r"r(rvr')r6r>r7r7r8r��s 




zRegrtest.get_tests_resultcCs�|jjs.|jjs6|jjs6|jjs6|js6|jjs6|��|jjrh|jj\}}}|dkrhd}t	|t
jdd�|jjr~t	d|jj
�|jjr�|�t|j��|_d|_d|_n.t|j�|_d�t|j��|_t|j�d|_|jjr�d	d
lm}||�n|��dS)N�zhWARNING: Running tests with --huntrleaks/-R and less than 3 warmup repetitions can give false positives!T)r<rPzUsing random seedrz/{}rr)�run_tests_multiprocess)r�headerr[rYrurrer�rfrGrH�stdoutr�r�Zforeverr�r�rr.r/�iterr�rZZuse_mprdr�r�)r6rnrorprqr�r7r7r8�	run_tests�s,
zRegrtest.run_testsc	Cs�|jrB|jr6t|jd��}|�|jd�WdQRXnt�|j�|jrf|j��}|jdd|j	j
d�t�t�
�|j}tdt|��td|���|j	jr�t�dt���dS)N�w�
T)Zshow_missingZsummary�coverdirzTotal duration: %szTests result: %szleaks %d)r1r0rw�writerj�unlinkr*�resultsZ
write_resultsrr�rGr+r,r-rr�Zrunleaks�system�getpid)r6r�rsZdurationr7r7r8�finalizes
zRegrtest.finalizec

Cs
|jjs|jsdSddlmm}|�d�}dddd�}x\|jD]R}|�|�xB|D]:}y ||t|�	|d��7<WqVt
k
r�YqVXqVWqBWx$|��D]\}}|�|t
|��q�Wtj�tj|jj�}t|d��$}x|�|�D]}	|�|	�q�WWdQRXdS)NrZ
testsuites)r�errorsZfailures�wb)rrbr2rDrErFZElementr?rS�getrA�itemsr:�strrjrkrvrr}rwZtostringlistr�)
r6rK�rootZtotalsr��k�vrb�f�sr7r7r8�save_xml_results$


 zRegrtest.save_xml_resultcCst|jjr|jj|_|js`t��rVt�d�|_|jdkrBt�d�|_tj�|jd�|_n
t	�
�|_tj�|j�|_dS)NZabs_builddirZsrcdirZbuild)rrir4�	sysconfigZis_python_buildZget_config_varrjrkrv�tempfileZ
gettempdir�abspath)r6r7r7r8�set_temp_dir1s


zRegrtest.set_temp_dircCsLtj|jdd�t��}|jdk	r.d�|�}n
d�|�}tj�|j|�}|S)NT)�exist_okztest_python_worker_{}ztest_python_{})rj�makedirsr4r�r5r�rkrv)r6�pid�test_cwdr7r7r8�create_temp_dirGs

zRegrtest.create_temp_dircCsxddl}tj�|jd�}td|j�xL|�|�D]>}tj�|�rZtd|�t�|�q2td|�t�	|�q2WdS)Nrz
test_python_*zCleanup %s directoryzRemove directory: %szRemove file: %s)
�globrjrkrvr4rG�isdirrZrmtreer�)r6r�rkr�r7r7r8�cleanupUszRegrtest.cleanupNc
Ks�|�|�|��|jjr,|��t�d�|��}y2tj|dd��||j_	|�
||�WdQRXWn<tk
r�}ztj
tdd�t�|j�Wdd}~XYnXdS)NrT)rY)rh)rrr�rr�rHrhr�rZtemp_cwdri�_main�
SystemExit�faulthandlerZdump_traceback_later�EXIT_TIMEOUT�code)r6rrmr��excr7r7r8�mainbs

z
Regrtest.maincCs.|jdk	r|j��Sttd�r*t��dSdS)NrQr)r3rQ�hasattrrj)r6r7r7r8rQ�s



zRegrtest.getloadavgc
Cs�|jdk	r$ddlm}||j|j�|jjr4td�|jjt_t	|j�|�
|�|jjrl|��t�
d�|jjr�|��t�
d�tjdkr�|jdkr�ddlm}y|�|_Wn0tk
r�}ztd|���Wdd}~XYnXz.|��|��|jj�r|j�r|��Wd|jdk	�r0|j��d|_X|��|��|j�rTt�
d�|j�rft�
d�|jj�r�|j�r�t�
d	�t�
d�dS)
Nr)�run_tests_workerzPress any key to continue...�win32)�WindowsLoadTrackerz%Failed to create WindowsLoadTracker: r`�r�) r5rdr�r�wait�inputr[rZPGOrr�r�rHrhr�r�Ztest.libregrtest.win_utilsr�r3�FileNotFoundErrorrGr�r�Zverbose2r!r��closer�r�r(r�r$)r6rrmr�r��errorr7r7r8r��sJ





 



zRegrtest._main)F)r)N)�__name__�
__module__�__qualname__�__doc__r9r;rMrVr^rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rQr�r7r7r7r8rs4*
)
E
;7	
 
	rcKst�jfd|i|��dS)zRun the Python suite.rN)rr�)rrmr7r7r8r��sr�)N),rRr�r�rjr�r�r{rHr�r�r+r�Ztest.libregrtest.cmdlinerZtest.libregrtest.runtestrrrrrrr	r
rrr
rrrrrrZtest.libregrtest.setuprZtest.libregrtest.utilsrrrrr�rr�rr�r7r7r7r8�<module>s0L*