Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.9/test/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.9/test/__pycache__/test_regrtest.cpython-39.pyc

a

��gC��@sPdZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZddlmZddlmZee	d�Zej�ej�e�dd�Zej�ej�e��ZdZe�d	�ZGd
d�dej �Z!Gdd
�d
ej �Z"Gdd�de"�Z#Gdd�de"�Z$Gdd�de"�Z%Gdd�dej �Z&e'dk�rLe�(�dS)zM
Tests of regrtest.py.

Note: test_regrtest cannot be run twice in parallel.
�N)�libregrtest)�support)�utilsZgettotalrefcountz..z5[0-9]+:[0-9]+:[0-9]+ (?:load avg: [0-9]+\.[0-9]{2} )?z�
    from signal import SIGINT, raise_signal
    try:
        raise_signal(SIGINT)
    except ImportError:
        import os
        os.kill(os.getpid(), SIGINT)
    c@sPeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Z d<d=�Z!d>d?�Z"d@dA�Z#dBdC�Z$dDdE�Z%dFdG�Z&dHdI�Z'dJdK�Z(dLdM�Z)dNdO�Z*dPdQ�Z+dRS)S�ParseArgsTestCasezC
    Test regrtest's argument parsing, function _parse_args().
    c	Cspt���D}|�t��t�|�Wd�n1s40YWd�n1sR0Y|�||���dS�N)rZcaptured_stderr�assertRaises�
SystemExitr�_parse_args�assertIn�getvalue)�self�args�msg�err�r�./usr/local/lib/python3.9/test/test_regrtest.py�
checkError-sFzParseArgsTestCase.checkErrorcCs�dD]�}|j|d��~t���F}|�t��t�|g�Wd�n1sL0YWd�n1sj0Y|�d|���Wd�q1s�0YqdS)N)z-hz--help��optzRun Python regression tests.)	�subTestrZcaptured_stdoutrrrr	r
r)rr�outrrr�	test_help2s
�HzParseArgsTestCase.test_helpcCs>t�ddg�}|�|jd�|�dgd�|�ddgd�dS)N�	--timeoutz4.2g������@�expected one argument�foozinvalid float value)rr	�assertEqual�timeoutr�r�nsrrr�test_timeout:szParseArgsTestCase.test_timeoutcCst�dg�}|�|j�dS)N�--wait)rr	�
assertTrue�waitrrrr�	test_wait@szParseArgsTestCase.test_waitcCs.t�ddg�}|�|jd�|�dgd�dS)Nz
--worker-argsz[[], {}]r)rr	rZworker_argsrrrrr�test_worker_argsDsz"ParseArgsTestCase.test_worker_argsc	CsddD]Z}|j|d��:t�|dg�}|�|jd�|�|gd�Wd�q1sT0YqdS)N)z-S�--startrrr)rrr	r�startr�rrrrrr�
test_startIs
zParseArgsTestCase.test_startcCs�t�dg�}|�|jd�t�dg�}|�|jd�t�dg�}|�|jd�t�dgd�}|�|jd�t�g�}|�|jd�dS)N�-v�z-vvv��	--verboser)rr	r�verboserrrr�test_verbosePs
zParseArgsTestCase.test_verbosec	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)�-wz
--verbose2r)rrr	r!Zverbose2r'rrr�
test_verbose2\szParseArgsTestCase.test_verbose2c	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)�-Wz
--verbose3r)rrr	r!Zverbose3r'rrr�
test_verbose3bszParseArgsTestCase.test_verbose3c	Cs`dD]V}|j|d��6t�|g�}|�|j�|�|jd�Wd�q1sP0YqdS)N)�-q�--quietrr)rrr	r!�quietrr-r'rrr�
test_quieths
zParseArgsTestCase.test_quietc	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)z-o�	--slowestr)rrr	r!Z
print_slowr'rrr�test_slowestoszParseArgsTestCase.test_slowestcCs4t�dg�}|�|j�t�dg�}|�|j�dS)Nz--headerr,)rr	r!�headerrrrr�test_headeruszParseArgsTestCase.test_headerc	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)�-rz--randomizer)rrr	r!�	randomizer'rrr�test_randomize|sz ParseArgsTestCase.test_randomizecCsJt�ddg�}|�|jd�|�|j�|�dgd�|�ddgd�dS)Nz
--randseedZ12345i90rr�invalid int value)rr	rZrandom_seedr!r<rrrrr�
test_randseed�s
zParseArgsTestCase.test_randseedc	CsvdD]l}|j|d��Lt�|dg�}|�|jd�|�|gd�|�|ddgd�Wd�q1sf0YqdS)N)�-f�
--fromfilerrr�-s�don't go together)rrr	r�fromfilerr'rrr�
test_fromfile�szParseArgsTestCase.test_fromfilec	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)z-x�	--excluder)rrr	r!�excluder'rrr�test_exclude�szParseArgsTestCase.test_excludec	CsddD]Z}|j|d��:t�|g�}|�|j�|�|ddgd�Wd�q1sT0YqdS)N)rBz--singlerr@rrC)rrr	r!Zsinglerr'rrr�test_single�s
zParseArgsTestCase.test_singlec	Cs�dD]\}|j|d��<t�|dg�}|�|jdg�|�|gd�Wd�q1sV0Yq|�tjtj	�t
tj	d��(}td|d�td|d�Wd�n1s�0Ytj
�tj	�}t�d	d
d|g�}|�|jddg�dS)N)z-iz--ignorer�patternr�w�
matchfile1��file�
matchfile2�-m�match�--ignorefile)rrr	rZignore_testsr�
addCleanupr�unlink�TESTFN�open�print�os�path�abspath�rrr�fp�filenamerrr�test_ignore�s .*��zParseArgsTestCase.test_ignorec	CsdD]\}|j|d��<t�|dg�}|�|jdg�|�|gd�Wd�q1sV0Yqt�gd��}|�|jddg�|�tjtj	�t
tj	d��(}td	|d
�td|d
�Wd�n1s�0Ytj
�tj	�}t�dd
d|g�}|�|jgd��dS)N)rPz--matchrrJr)rP�pattern1rP�pattern2r_r`rKrLrMrOrPrQ�--matchfile)rQrLrO)rrr	rZmatch_testsrrSrrTrUrVrWrXrYrZr[rrr�
test_match�s$.*��zParseArgsTestCase.test_matchc	Cs|dD]r}|j|d��Rt�|dg�}|�|j�t�|dg�}|�|j�|�|gd�Wd�q1sl0YqdS)N)z-Gz
--failfastrr)r1z#-G/--failfast needs either -v or -W)rrr	r!Zfailfastrr'rrr�
test_failfast�szParseArgsTestCase.test_failfastc	CsdD�]}|j|d���t�|dg�}|�|jddg�t�|dg�}|�|jdg�ttj�}|�d�t�|dg�}|�|j|�|�|gd�|�|d	gd
�t�|dg�}|�|jttj�dg�t�|d
g�}|�|jd
g�Wd�q1s�0YqdS)N)�-uz--userzgui,networkZgui�networkzgui,none,networkzall,-guirrzinvalid resourcez
all,tzdataZtzdataZextralargefile)	rrr	rZ
use_resources�listZ
ALL_RESOURCES�remover)rrrZexpectedrrr�test_use�s$


�zParseArgsTestCase.test_usec	CsddD]Z}|j|d��:t�|dg�}|�|jd�|�|gd�Wd�q1sT0YqdS)N)z-Mz
--memlimitrZ4Gr)rrr	r�memlimitrr'rrr�
test_memlimit�s
zParseArgsTestCase.test_memlimitcCs:t�ddg�}|�|jtj�tjd��|�	dgd�dS)Nz	--testdirrr)
rr	r�testdirrXrY�joinr�SAVEDCWDrrrrr�test_testdir�szParseArgsTestCase.test_testdirc	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)z-Lz
--runleaksr)rrr	r!Zrunleaksr'rrr�
test_runleaks�szParseArgsTestCase.test_runleaksc	Cs�dD]�}|j|d���t�|dg�}|�|jd�t�|dg�}|�|jd�t�|dg�}|�|jd�t�|d	g�}|�|jd
�|�|gd�|�|dgd
�|�|dgd�|�|dgd�Wd�q1s�0YqdS)N)z-R�--huntrleaksr�:)���
reflog.txtz6:)�rsrtz:3)rrr+rtz
6:3:leaks.log)rur+z	leaks.logr�6z&needs 2 or 3 colon-separated argumentszfoo:zinvalid huntrleaks valuez6:foo)rrr	r�
huntrleaksrr'rrr�test_huntrleaks�s 
�z!ParseArgsTestCase.test_huntrleaksc	Cs�dD]�}|j|d��nt�|dg�}|�|jd�|�|gd�|�|dgd�|�|ddgd	�|�|d
dgd	�Wd�q1s�0YqdS)N)z-jz--multiprocessr�2�rrr>�-TrC�0)rrr	rZuse_mprr'rrr�test_multiprocesssz#ParseArgsTestCase.test_multiprocessc	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)r{�
--coverager)rrr	r!Ztracer'rrr�
test_coverageszParseArgsTestCase.test_coveragec	CspdD]f}|j|d��Ft�|dg�}|�|jtj�tj	d��|�
|gd�Wd�q1s`0YqdS)N)z-Dz
--coverdirrrr)rrr	r�coverdirrXrYrlrrmrr'rrr�
test_coverdirs�zParseArgsTestCase.test_coverdirc	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)z-Nz--nocoverdirr)rrr	ZassertIsNoner�r'rrr�test_nocoverdir#sz!ParseArgsTestCase.test_nocoverdirc	CstdD]j}|j|d��Jt�|dg�}|�|jd�|�|gd�|�|dgd�Wd�q1sd0YqdS)N)z-tz--thresholdrZ1000i�rrr>)rrr	rZ	thresholdrr'rrr�test_threshold)sz ParseArgsTestCase.test_thresholdc
Cs�dD]�}|j|d��jt�t����}t�|g�}Wd�n1sF0Y|�|j�|�	�}|�
d|�Wd�q1s�0YqdS)N)�-nz--nowindowsrz)the --nowindows (-n) option is deprecated)r�
contextlib�redirect_stderr�io�StringIOrr	r!Z	nowindowsrr
)rr�stderrrrrrr�test_nowindows1s*z ParseArgsTestCase.test_nowindowsc	CsRdD]H}|j|d��(t�|g�}|�|j�Wd�q1sB0YqdS)N)z-F�	--foreverr)rrr	r!�foreverr'rrr�test_forever:szParseArgsTestCase.test_forevercCs|�dgd�dS)Nz--xxxzusage:�r�rrrr�test_unrecognized_argument@sz,ParseArgsTestCase.test_unrecognized_argumentcCs*t�dg�}|�|j�|�|jd�dS)Nz--quir)rr	r!r5rr-rrrr�test_long_option__partialCsz+ParseArgsTestCase.test_long_option__partialcCs8t�ddg�}|�|j�|�|jd�|�|j�dS)Nr4rFr)rr	r!r5rr-rGrrrr�test_two_optionsHsz"ParseArgsTestCase.test_two_optionscCs t�ddg�}|�|jd�dS)Nr%�)rr	rr&rrrr�#test_option_with_empty_string_valueNsz5ParseArgsTestCase.test_option_with_empty_string_valuecCs t�dg�}|�|jdg�dS)Nr)rr	rr
rrrr�test_argRszParseArgsTestCase.test_argcCs<t�ddg�}|�|j�|�|jd�|�|jdg�dS)Nr4rr)rr	r!r5rr-r
rrrr�test_option_and_argVsz%ParseArgsTestCase.test_option_and_argcCs2t�gd��}|�|jd�|�|jddg�dS)N)�test_unaryopr)�
test_binopr*r�r�)rr	rr-r
rrrr�test_arg_option_arg\sz%ParseArgsTestCase.test_arg_option_argcCs|�dgd�dS)Nz--unknown-optionz(unrecognized arguments: --unknown-optionr�r�rrr�test_unknown_optionas�z%ParseArgsTestCase.test_unknown_optionN),�__name__�
__module__�__qualname__�__doc__rrrr#r$r(r.r0r2r6r8r:r=r?rErHrIr^rbrcrhrjrnrorxr}rr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr(sR	
	rc	@sxeZdZdZdZdZdd�Zddd�Zd	d
�Zdd�Z	d
d�Z
ddddiddddf	dd�Zdd�Zddd�Z
dd�ZdS)�BaseTestCaser*Ztest_regrtest_ztest_[a-zA-Z0-9_]+cCs4tj�tj�t��|_t��|_|�	t
j|j�dSr)rXrY�realpath�dirname�__file__rk�tempfile�mkdtemp�
tmptestdirrSr�rmtreer�rrr�setUpks
zBaseTestCase.setUpNc
Cs�|sdtj}tjd7_|dur.t�d�}|j|}tj�|j|d�}|�	t
j|�z<t|ddd��}|�
|�Wd�n1s�0YWn@ty�}z(t��s�|�d||f��WYd}~n
d}~00|S)	Nznoop%sr*z�
                    import unittest

                    class Tests(unittest.TestCase):
                        def test_empty_test(self):
                            pass
                z.py�xzutf-8)�encodingzcannot write %s: %s)r��TEST_UNIQUE_ID�textwrap�dedent�TESTNAME_PREFIXrXrYrlr�rSrrTrV�write�PermissionError�	sysconfig�is_python_build�skipTest)r�name�coderYr\�excrrr�create_testqs 



,zBaseTestCase.create_testcCs*t�||tj�}|s&|�d||f�|S)Nz%r not found in %r)�re�search�	MULTILINE�fail)r�regex�outputrQrrr�regex_search�szBaseTestCase.regex_searchcCs"t�d|tj�}|�||�dS)N�^)r��compiler��assertRegex�rr�r�rrr�
check_line�szBaseTestCase.check_linecCs0dt|jf}t�||tj�}tdd�|D��S)Nz"^%s\[ *[0-9]+(?:/ *[0-9]+)*\] (%s)css|]}|�d�VqdS)r*N��group��.0rQrrr�	<genexpr>��z4BaseTestCase.parse_executed_tests.<locals>.<genexpr>)�
LOG_PREFIX�TESTNAME_REGEXr��finditerr�rf)rr�r��parserrrr�parse_executed_tests�s
�z!BaseTestCase.parse_executed_testsrFcs�t|t�r|g}t|t�r |g}t|t�r0|g}t|t�r@|g}t|t�rP|g}t|t�r`|g}|�|�}|	r�|�t|�t|�|�n|�|||�dd���fdd�}
|r�|
d|�}|�||�|r�|
d|�}|�||�|r�|
d|�}|�||�|�r|
d|�}|�||�|�r||
d	|���}|�||�td
}|�||�|��D],\}}td|�d|�d
�}|�||��qN|�r�|
d|�}|�||�t	|�t	|�t	|�t	|�t	|�t	|�}|�rd|�|�f}|�s�|�s�|dk�r�d|}|�||�|
�r|�|d�g}|�r0|�
d�n|�rF|�rF|�
d�|
�rV|�
d�t||||
|||f��sz|�
d�n|�s�|�
d�d�|�}|�r�|�|d�d|}|�|d|�dS)NcSs|dkrdSdS)Nr*�sr�r)�countrrr�plural�sz1BaseTestCase.check_executed_tests.<locals>.pluralcs6t|�}d�t|��}||�|�f}d||f}|S)N� z%s:\n    %s$)�lenrl�sorted)Zline_format�testsr��namesr��r�rr�
list_regex�s
z5BaseTestCase.check_executed_tests.<locals>.list_regexz%s test%s skippedz%s test%s failedz+%s test%s altered the execution environmentz%s test%s omittedz%s re-run test%sz'Re-running failed tests in verbose modezRe-running z in verbose mode \(matching: z\)z%s test%s run no testsz%s test%s OK\.$r*zAll %sz(Test suite interrupted by signal SIGINT.�FAILUREzENV CHANGEDZINTERRUPTEDzNO TEST RUN�SUCCESS�, zTests result: FAILUREzFAILURE then %szTests result: %s)
�
isinstance�strr�r�setr��keysr��itemsr��append�anyrl)rr�r��skipped�failed�env_changed�omitted�rerun�no_test_ranr<�interrupted�fail_env_changedZexecutedr�r�r�rQZgood�resultrr�r�check_executed_tests�s�








�

���

�

z!BaseTestCase.check_executed_testscCs>|�d|�}t|�d��}|�d|ko0dkn|�|S)NzUsing random seed ([0-9]+)r*ri���)r��intr�r!)rr�rQ�randseedrrr�parse_random_seed�s zBaseTestCase.parse_random_seedrcKsx|sd}d|vrtj|d<tj|fd|tjd�|��}|j|krtdt|�|j|jf}|jrj|d|j7}|�|�|S)Nr�r�T)�universal_newlines�input�stdoutz8Command %s failed with exit code %s

stdout:
---
%s
---
z
stderr:
---
%s---
)	�
subprocess�STDOUT�run�PIPE�
returncoder�r�r�r�)rr
r��exitcode�kw�procrrrr�run_commands*
��
��
zBaseTestCase.run_commandcKs*tjdddg|�}|j|fi|��}|jS)Nz-X�faulthandlerz-I)�sys�
executabler�r�)rr
r�r�rrr�
run_pythonszBaseTestCase.run_python)NN)Nr)r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr�fs"
�
^
r�c@seZdZdd�ZdS)�CheckActualTestscCstgd�}|�|�}t|���}tj�t�tj�t	��d�}tt�|��}|j
||dddd�|�����d�dS)	zP
        Check that regrtest appears to find the expected set of tests.
        )�-Wd�-E�-bbrP�
test.regrtest�--list-testsztest*.py�	�
z+Unexpectedly low number of tests found in:
r�)rN)r�r��
splitlinesrXrYrl�glob�escaper�r�Z
assertGreater)rr
r�Zrough_number_of_tests_foundZactual_testsuite_globZrough_counted_test_py_filesrrr�#test_finds_expected_number_of_tests&s
�
��z4CheckActualTests.test_finds_expected_number_of_testsN)r�r�r�r
rrrrr�%sr�cs�eZdZdZdZ�fdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zdd�Zdd�Z
e�e��d�dd��Zdd�Ze�e��d�e�ejdkd�dd���Ze�ejdkd�dd ��Z�ZS)!�ProgramsTestCasezp
    Test various ways to run the Python test suite. Use options close
    to options used on the buildbot.
    rscsft����fdd�t�j�D��_gd��_ddd�jg�_�j�d�t	j
dkrb�j�d	�dS)
Ncsg|]}����qSr�r��r��indexr�rr�
<listcomp>Ir�z*ProgramsTestCase.setUp.<locals>.<listcomp>)rrrz-uallz-rwW�--testdir=%s)rZ3600z-j4�win32r�)�superr��range�NTESTr��python_argsr��
regrtest_args�extendr��platformr�r���	__class__r�rr�Es

�
zProgramsTestCase.setUpcCs |�|�|j||jdd�dS)NT)r<)r�r�r�)rr�rrr�check_outputRs
zProgramsTestCase.check_outputcCs|�|�}|�|�dSr)r�r)rr
r�rrr�	run_testsVs
zProgramsTestCase.run_testscCs8tj�|jd�}g|j�|�|j�|j�}|�|�dS)Nzregrtest.py�rXrYrlrkrrr�r�r�scriptr
rrr�test_script_regrtestZsz%ProgramsTestCase.test_script_regrtestcCs,g|j�d�d�|j�|j�}|�|�dS)NrP�test�rrr�r�rr
rrr�test_module_testas��z!ProgramsTestCase.test_module_testcCs,g|j�d�d�|j�|j�}|�|�dS)NrPrr"r#rrr�test_module_regrtestgs��z%ProgramsTestCase.test_module_regrtestcCs,g|j�d�d�|j�|j�}|�|�dS)NrPz
test.autotestr"r#rrr�test_module_autotestms��z%ProgramsTestCase.test_module_autotestcCs0d}g|j�d�|�|j�|j�}|�|�dS)Nzfrom test import autotestz-cr")rr�r
rrr�test_module_from_test_autotestss��z/ProgramsTestCase.test_module_from_test_autotestcCs8tj�|jd�}g|j�|�|j�|j�}|�|�dS)Nzautotest.pyrrrrr�test_script_autotestzsz%ProgramsTestCase.test_script_autotestz$run_tests.py script is not installedcCs2tj�tddd�}|g|j�|j�}|�|�dS)N�ToolsZscriptszrun_tests.py)rXrYrl�ROOT_DIRrr�rrrrr�test_tools_script_run_tests�sz,ProgramsTestCase.test_tools_script_run_testscGs|�|�}|�|j�dSr)r�rr�)rr
r�rrr�	run_batch�s
zProgramsTestCase.run_batchz test.bat script is not installedrzWindows onlycCs�tj�tddd�}d|jg}t��dkr6|�d�n2t��dkrN|�d�nt��d	d
krh|�d�t	sv|�d�|j
|g|�|j�R�dS)
Nr)Zbuildbotztest.batr�ARM64�-arm64�ARM�-arm32r�64bit�-x64z+d)rXrYrlr*r�r�machiner��architecture�Py_DEBUGr,r�)rrZ	test_argsrrr�test_tools_buildbot_test�s

z)ProgramsTestCase.test_tools_buildbot_testcCs�tj�td�}tj�|�s,|�d|�d��dg}t��dkrJ|�d�n2t��dkrb|�d�nt�	�d	d
kr||�d�t
r�|�d�|j|g|�|j�|j
�R�dS)
NzPCbuild\rt.batzFile "z" does not existr3r-r.r/r0rr1r2z-d)rXrYrlr*�isfiler�rr3r�r4r5r,rr�)rrZrt_argsrrr�test_pcbuild_rt�s

z ProgramsTestCase.test_pcbuild_rt)r�r�r�r�rr�rrr r$r%r&r'r(�unittest�
skipUnlessr�r�r+r,r�rr6r8�
__classcell__rrrrr=s.

�

�rc@s,eZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Ze�ed�dd��Ze�ed�dd��Zdd �Zd!d"�Zejd#d$��Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Z d3d4�Z!d5d6�Z"d7d8�Z#ejd9d:��Z$d;d<�Z%d=d>�Z&d?d@�Z'dAS)B�ArgsTestCasez2
    Test arguments of the Python test suite.
    cOs&ddd|jg|�}|j|fi|��S)NrPr!r)r�r�)rZtestargsr��cmdargsrrrr�szArgsTestCase.run_testscCsNt�d�}|�d�}|jd|d�}||g}|j|ddi�}|j|||d�dS)Nz�
            import unittest

            class FailingTest(unittest.TestCase):
                def test_failing(self):
                    self.fail("bug")
        �okZfailing�r�r�rz�r��r�r�r�rr�)rr�Ztest_okZtest_failingr�r�rrr�test_failing_test�s

zArgsTestCase.test_failing_testcCs�i}dD]"}t�d|�}|�||�||<qt|���}|jddg|�R�}|�||�|jdg|�R�}|j|||dd�|j|�}|j|||d�dS)N)Zaudiorea
                        from test import support; support.requires(%r)
                        import unittest
                        class PassingTest(unittest.TestCase):
                            def test_pass(self):
                                pass
                    rd�allz-uaudiore)r�)r�r�r�r��valuesrr�)rr��resourcer�Z
test_namesr�rrr�test_resources�s"��
�zArgsTestCase.test_resourcesc	Cs�t�d�}|�d|�}|�d|�}|�|�}|�d|�}t|�d��}|�dd||�}|�|�}|�||�|�d|�}t|�d��}|�||�dS)Nza
            import random
            print("TESTRANDOM: %s" % random.randint(1, 1000))
        �randomr;zTESTRANDOM: ([0-9]+)r*z
--randseed=%s)	r�r�r�rr�r�r�r�r)	rr�r!r�r�rQ�test_randomZ	randseed2Ztest_random2rrrrH�s


zArgsTestCase.test_randomc	s��fdd�td�D�}tj}��tj|�t|d��\}d}t|d�D]<\}}d||t|�|f}|rp|d|7}t||d�|}qDWd�n1s�0Y��	d	|�}��
||�t|d��>}t|d�D]"\}}td
|t|�|f|d�q�Wd�n1�s0Y��	d	|�}��
||�t|d��(}|D]}t||d��q:Wd�n1�sd0Y��	d	|�}��
||�t|d��,}|D]}td||d��q�Wd�n1�s�0Y��	d	|�}��
||�dS)Ncsg|]}����qSrrr
r�rrr�r�z.ArgsTestCase.test_fromfile.<locals>.<listcomp>rrrKr*z00:00:%02i [%s/%s] %sz -- %s took 0 secrMrAz
[%s/%s] %szLib/test/%s.py)rrrUrSrTrV�	enumerater�rWrr�)	rr�r]r\Zpreviousrr��liner�rr�rrE�s<�$<04zArgsTestCase.test_fromfilecCs6t}|jd|d�}|j|dd�}|j|||dd�dS)N�sigintr?��r�T�r�r�)�TEST_INTERRUPTEDr�rr��rr�r!r�rrr�test_interrupted,s
�zArgsTestCase.test_interruptedcsV�fdd�td�D�}�jdg|�R�}��||�d�jt|�f}��||�dS)Ncsg|]}����qSrrr
r�rrr5r�z-ArgsTestCase.test_slowest.<locals>.<listcomp>r+r7z#10 slowest tests:
(?:- %s: .*
){%s})rrr�r�r�r�)rr�r�r�rr�rr83s�zArgsTestCase.test_slowestc	Cs�t}|jd|d�}dD]z}|j|d��Z|r8dd|f}nd|f}|j|ddi�}|j|||d	d
�d}|�||�Wd�q1s�0YqdS)NrKr?)FT)�multiprocessingr7�-j2r�rLTrNz10 slowest tests:
)rOr�rrr�r�)rr�r!rRr
r�r�rrr�test_slowest_interrupted=s�z%ArgsTestCase.test_slowest_interruptedcCs8|�d�}|�d|�}|�||g�d}|�||�dS)NZcoverager~zLlines +cov% +module +\(path\)\n(?: *[0-9]+ *[0-9]{1,2}% *[^ ]+ +\([^)]+\)+)+)r�rr�r�)rr!r�r�rrrrOs

zArgsTestCase.test_coveragecCs*|�d�}|jd|dd�}|�|d�dS)Nr"r �key)r�zPress any key to continue)r�rr�)rr!r�rrrr#Xs
zArgsTestCase.test_waitcCsBt�d�}|jd|d�}|jd|dd�}|j||gd|d�dS)	NaL
            import builtins
            import unittest

            class ForeverTester(unittest.TestCase):
                def test_run(self):
                    # Store the state in the builtins module, because the test
                    # module is reload at each run
                    if 'RUN' in builtins.__dict__:
                        builtins.__dict__['RUN'] += 1
                        if builtins.__dict__['RUN'] >= 3:
                            self.fail("fail at the 3rd runs")
                    else:
                        builtins.__dict__['RUN'] = 1
        r�r?r�rzrMr+r@rArPrrrr�^s
zArgsTestCase.test_foreverc
Cs�|jd|d�}d}|�tj|�|jdd|dtjd�}|j||g|d�d	}|�|t	�
|��d
||f}|�||�t|��$}|�
�}	|�||	�Wd�n1s�0YdS)Nrwr?rtrpz3:3:rz)r�r�r@z&beginning 6 repetitions
123456
......
z%s leaked [1, 1, 1] %s, sum=3
)r�rSrrTrr�r�r�r�r�r	r
rV�read)
rr�Zwhatr!r]r�rJZline2r\Zreflogrrr�
check_leakss
�
zArgsTestCase.check_leakzneed a debug buildcCst�d�}|�|d�dS)Nz�
            import unittest

            GLOBAL_LIST = []

            class RefLeakTest(unittest.TestCase):
                def test_leak(self):
                    GLOBAL_LIST.append(object())
        Z
references�r�r�rW�rr�rrrrx�s
	zArgsTestCase.test_huntrleakscCst�d�}|�|d�dS)Na
            import os
            import unittest

            class FDLeakTest(unittest.TestCase):
                def test_leak(self):
                    fd = os.open(__file__, os.O_RDONLY)
                    # bug: never close the file descriptor
        zfile descriptorsrXrYrrr�test_huntrleaks_fd_leak�s
	z$ArgsTestCase.test_huntrleaks_fd_leakcs@�fdd�td�D�}�jdg|�R�}��|����|�dS)Ncsg|]}����qSrr)r��ir�rrr�r�z0ArgsTestCase.test_list_tests.<locals>.<listcomp>rrr)rrr�rstripr)rr�r�rr�r�test_list_tests�s
�zArgsTestCase.test_list_testscCspt�d�}|j|d�}d|d|g}|�d|�}|�|��|�d|g}|�ddd|�}|�|��|�dS)Nz�
            import unittest

            class Tests(unittest.TestCase):
                def test_method1(self):
                    pass
                def test_method2(self):
                    pass
        r?z%s.Tests.test_method1z%s.Tests.test_method2z--list-casesrP�test_method1)r�r�r�rrr)rr��testname�all_methodsr�rrr�test_list_cases�s
	�
�zArgsTestCase.test_list_casescCsFd}|jd|d�}|g}|jdg|�Rddi�}|j|||dd�dS)	Nz,import faulthandler; faulthandler._sigsegv()Zcrash)r�r�rSr�rzT)r�r<)r�rr�)rr�Z
crash_testr�r�rrr�test_crashed�s
�zArgsTestCase.test_crashedcCs$tjdtjd�}dd�|�|�D�S)Nz^(test[^ ]+).*ok$)�flagscSsg|]}|�d��qS)r*r�r�rrrr�r�z.ArgsTestCase.parse_methods.<locals>.<listcomp>)r�r�r�r�r�rrr�
parse_methods�szArgsTestCase.parse_methodsc
Cs�t�d�}gd�}|j|d�}tj}|�tj|�dd|g}t|d��&}|D]}t||d�qNWd�n1st0Y|�	dd	||�}|�
|�}	d
dg}|�|	|�dS)N�V
            import unittest

            class Tests(unittest.TestCase):
                def test_method1(self):
                    pass
                def test_method2(self):
                    pass
                def test_method3(self):
                    pass
                def test_method4(self):
                    pass
        �r^�test_method2�test_method3�test_method4r?r^�%s.Tests.test_method3rKrMr)rRrgri)r�r�r�rrUrSrTrVrWrrdr)
rr�r`r_r]�subsetr\r�r��methodsrrr�test_ignorefile�s

�,
zArgsTestCase.test_ignorefilec
Cs�t�d�}gd�}|j|d�}|�d|�}|�|�}|�||�tj}|�tj	|�dd|g}t
|d��&}|D]}	t|	|d�qpWd�n1s�0Y|�dd	||�}|�|�}dd
g}|�||�dS)Nrerfr?r)r^rjrKrMrarh)r�r�r�rrdrrrUrSrTrVrW)
rr�r`r_r�rlr]rkr\r�rrr�test_matchfile�s$


�,
zArgsTestCase.test_matchfilecCsZt�d�}|j|d�}|�|�}|j||g|d�|jd|dd�}|j||g|dd�dS)	Nz�
            import unittest

            class Tests(unittest.TestCase):
                def test_env_changed(self):
                    open("env_changed", "w").close()
        r?)r��--fail-env-changedr+rMT�r�r�rA�rr�r_r�rrr�test_env_changed s

�zArgsTestCase.test_env_changedcCsBt�d�}|j|d�}|jd|dd�}|j||g||did�dS)Na
            import unittest

            class Tests(unittest.TestCase):
                def test_succeed(self):
                    return

                def test_fail_always(self):
                    # test that always fails
                    self.fail("bug")
        r?r/rzrMZtest_fail_always)r�r�rArqrrr�test_rerun_fail3s

�zArgsTestCase.test_rerun_failcCs@t�d�}|j|d�}|jd|dd�}|j||g|did�dS)Nax
            import builtins
            import unittest

            class Tests(unittest.TestCase):
                def test_succeed(self):
                    return

                def test_fail_once(self):
                    if not hasattr(builtins, '_test_failed'):
                        builtins._test_failed = True
                        self.fail("bug")
        r?r/rrMZtest_fail_once)r�rArqrrr�test_rerun_successFs


�zArgsTestCase.test_rerun_successcCs>t�d�}|j|d�}|j|dddd�}|j||g|d�dS�N��
            import unittest

            class Tests(unittest.TestCase):
                def test_bug(self):
                    pass
        r?rP�
nosuchtestrrM�r�rArqrrr�test_no_tests_ran[s
zArgsTestCase.test_no_tests_rancCs6t�d�}|j|d�}|j|dd�}|�||g�dS)Nz�
            import unittest

            class Tests(unittest.TestCase):
                def test_skipped(self):
                    self.skipTest("because")
        r?rrMrArqrrr�test_no_tests_ran_skiphs
z#ArgsTestCase.test_no_tests_ran_skipcCsRt�d�}|j|d�}|j|d�}|j||dddd�}|j|||g||gd�dSrurA)rr�r_�	testname2r�rrr�,test_no_tests_ran_multiple_tests_nonexistentus
�z9ArgsTestCase.test_no_tests_ran_multiple_tests_nonexistentc	Cs^t�d�}|j|d�}t�d�}|j|d�}|j||dddddd�}|j|||g|gd	�dS)
Nrvr?z�
            import unittest

            class Tests(unittest.TestCase):
                def test_other_bug(self):
                    pass
        rPrwZtest_other_bugrrMrxrA)rr�r_Z
other_coder{r�rrr�)test_no_test_ran_some_test_exist_some_not�s

��z6ArgsTestCase.test_no_test_ran_some_test_exist_some_notcCsft�d�}|j|d�}|jd|dd�}|j||g|gdd�|jd|dd�}|j||g|gdd�dS)	Na�
            import _testcapi
            import gc
            import unittest

            @_testcapi.with_tp_del
            class Garbage:
                def __tp_del__(self):
                    pass

            class Tests(unittest.TestCase):
                def test_garbage(self):
                    # create an uncollectable object
                    obj = Garbage()
                    obj.ref_cycle = obj
                    obj = None
        r?ror+rMTrpz--findleaksrArqrrr�test_findleaks�s

�
�zArgsTestCase.test_findleakscCsXt�d�}|j|d�}|jdd|dd�}|j||g|d�|�|t�d|tj��dS)	Naa
            import time
            import unittest
            try:
                import faulthandler
            except ImportError:
                faulthandler = None

            class Tests(unittest.TestCase):
                # test hangs and so should be stopped by the timeout
                def test_sleep(self):
                    # we want to test regrtest multiprocessing timeout,
                    # not faulthandler timeout
                    if faulthandler is not None:
                        faulthandler.cancel_dump_traceback_later()

                    time.sleep(60 * 5)
        r?rSz
--timeout=1.0rzrMr@z%s timed out)	r�r�r�rr�r�r�r�r�rqrrr�test_multiprocessing_timeout�s

��z)ArgsTestCase.test_multiprocessing_timeoutcCsZt�d�}|j|d�}|jdd|dd�}|j||g|gdd�|�d	|�|�d
|�dS)Na�
            import unittest
            import weakref
            from test.support import captured_stderr

            class MyObject:
                pass

            def weakref_callback(obj):
                raise Exception("weakref callback bug")

            class Tests(unittest.TestCase):
                def test_unraisable_exc(self):
                    obj = MyObject()
                    ref = weakref.ref(obj, weakref_callback)
                    with captured_stderr() as stderr:
                        # call weakref_callback() which logs
                        # an unraisable exception
                        obj = None
                    self.assertEqual(stderr.getvalue(), '')
        r?ror)r+rMTrpzWarning -- Unraisable exceptionzException: weakref callback bug)r�r�r�rr�r
rqrrr�test_unraisable_exc�s

�z ArgsTestCase.test_unraisable_exccCs~tj�|jd�}t�|�tj�|jd�}t|d���||g}ddd|jdg}|�|�|D]}|�tj�	|�|�q`dS)NZtest_python_123Ztest_python_456�wbrPr!z--tempdir=%sz	--cleanup)
rXrYrlr��mkdirrV�closer�ZassertFalse�exists)rr�r]r�r=r�rrr�test_cleanup�s
�
zArgsTestCase.test_cleanupN)(r�r�r�r�rrBrFrHrErQr8rTrr#r�rWr9r:r5rxrZr]rarZcpython_onlyrbrdrmrnrrrsrtryrzr|r}r~rr�r�rrrrr<�sH0
	






$)


!r<c@seZdZdd�ZdS)�	TestUtilscCs�|�t�d�d�|�t�d�d�|�t�d�d�|�t�d�d�|�t�d	�d
�|�t�d�d�|�t�d
�d�|�t�d�d�|�t�d�d�|�t�d�d�dS)Nrz0 msg��&�.>z1 msg{�G�z�?z10 msg�?z1.5 secr*z1.0 sec�xz2 min�yz2 min 1 seci0*z3 houri�*z3 hour 2 mini1*z3 hour 1 sec)rrZformat_durationr�rrr�test_format_durations<����������zTestUtils.test_format_durationN)r�r�r�r�rrrrr�sr��__main__))r�r�rr�Zos.pathrXrr�r�r�r�r�r��timer9r!rrZtest.libregrtestr�hasattrr5rYrlr�r�r*rZ�normpathr�r�rOZTestCaserr�r�rr<r�r��mainrrrr�<module>sH


@@r\


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists