HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/lib/python3.11/test/libregrtest/__pycache__/
Upload File :
Current File : //proc/self/root/lib/python3.11/test/libregrtest/__pycache__/main.cpython-311.pyc
�

*�Kg}h��(�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZddl
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddlmZddlm Z ddl!m"Z"m#Z#m$Z$m%Z%ddl&m'Z'ddl(m)Z)dd	l(m*Z*d
Z+Gd�d��Z,dd
�Z-dS)�N)�_parse_args)�	findtests�runtest�get_abs_module�	is_failed�STDTESTS�NOTTESTS�PROGRESS_MIN_TIME�Passed�Failed�
EnvChanged�Skipped�ResourceDenied�Interrupted�
ChildError�	DidNotRun)�setup_tests)�setup_pgo_tests)�removepy�count�format_duration�	printlist)�support)�	os_helper)�threading_helperg^@c��eZdZdZd�Zd�Zdd�Zd d�Zd�Zd	�Z	d
�Z
d�Zd�Zd
�Z
d�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd!d�Zd�Zd�ZdS)"�RegrtestaaExecute 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, 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.
    c�x�d|_g|_g|_g|_g|_g|_g|_g|_g|_g|_	g|_
d|_d|_g|_
d|_tj��|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NF��)�ns�tests�selected�good�bad�skipped�resource_denieds�environment_changed�run_no_tests�
need_rerun�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��selfs �,/usr/lib/python3.11/test/libregrtest/main.py�__init__zRegrtest.__init__7s��������
���
���	������� "���#%�� ���������
� ��� ����������.�*�*������ !���!%���$(��!�"���!%������ $�����c��t|j��t|j��zt|j��zt|j��zt|j��zt|j��zS�N)�setr$r%r&r'r(r)r;s r=�get_executedzRegrtest.get_executedbsh���D�I����T�X���.��T�\�1B�1B�B��d�+�,�,�-�/2�4�3K�/L�/L�M��d�'�(�(�)�	*r?Fc���|j}t|ttf��s#|s!|j�|j|f��t|t��r|j�|���nVt|t��r6|j
�|��|j�|���nt|t��r|j
�|��n�t|t��r|j�|��n�t|t��r7|s4|j�|��|j�|��n_t|t$��r|j�|��n/t|t��rd|_nt+d|z���|r6t|ttf��s|j�|��|j}|rfddlmcm}|D]\}	|j�|�|�����1#|j$rt=|t>j ����wxYwdSdS)NTzinvalid test result: %rr��file)!�name�
isinstancerrr.�append�duration_secrr$rr&r'rr
r(rr%r*rr)r-�
ValueError�remove�xml_data�xml.etree.ElementTree�etree�ElementTreer7�
fromstring�
ParseError�print�sys�
__stderr__)r<�resultr+�	test_namerM�ET�es       r=�accumulate_resultzRegrtest.accumulate_resultgs����K�	��&�:�{�";�<�<�	E�U�	E��O�"�"�F�$7��#C�D�D�D��f�f�%�%�	A��I���Y�'�'�'�'�
���
/�
/�	A��L���	�*�*�*��!�(�(��3�3�3�3�
���
(�
(�
	A��L���	�*�*�*�*�
��
�
+�
+�	A��$�+�+�I�6�6�6�6�
���
'�
'�		A��
/�����	�*�*�*���&�&�v�.�.�.��
��	�
*�
*�	A���$�$�Y�/�/�/�/�
���
,�
,�	A�#�D����6��?�@�@�@��	'��F�V�[�,A�B�B�	'��H�O�O�I�&�&�&��?���	�.�.�.�.�.�.�.�.�.��
�
����&�-�-�b�m�m�A�.>�.>�?�?�?�?���}�����(���8�8�8�8������	�	�
�
s�-I�'I2rc�>�|}|���}|�	d|d�d|��}tj��|jz
}t	t|��d��\}}t	|d��\}}d|||fz}|�d|��}|r
|dd�}t
|d���dS)	Nz
load avg: z.2f� �<z%d:%02d:%02d���T)�flush)�
getloadavgr0r1r2�divmod�intrS)r<�line�empty�load_avg�	test_time�mins�secs�hourss        r=�logzRegrtest.log�s�������?�?�$�$����5��5�5�5�t�5�5�D��N�$�$�t��6�	��C�	�N�N�B�/�/�
��d��T�2�&�&���t�"�e�T�4�%8�8�	��$�$�d�$�$���	�����9�D�
�d�$������r?c��|jjrdS||j��|j��}t	|j��t	|j��z}|r|jjs|�d|��}|�d|�d|����dS)N�/�[z] )	r!�quietr4r3�lenr%r(�pgorj)r<�
test_index�textrc�failss     r=�display_progresszRegrtest.display_progress�s����7�=�	��F��d�3�G�G�d�o�G�G���D�H�
�
��D�$<� =� =�=���	%����	%��$�$�U�$�$�D����#�T�#�#�T�#�#�$�$�$�$�$r?c��ttjdd�fi|��}|jrgxt_|_|j}|�'ddlm	}||j��\}}||_||_
t|j��|j
rI|j
\}}}|dks|dkr2d}	t|	tjd���tjd��|jr)t$j�|j��|_||_dS)Nr r)�parse_worker_argszwInvalid values for the --huntrleaks/-R parameters. The number of warmups and repetitions must be at least 1 each (1:1).T�rFr_�)rrT�argv�xmlpathr�junit_xml_listr7�worker_args�test.libregrtest.runtest_mprvr:r�args�
huntrleaksrS�stderr�exit�tempdir�os�path�
expanduserr!)
r<�kwargsr!r|rvrW�warmup�repetitions�_�msgs
          r=�
parse_argszRegrtest.parse_args�s��
���!�"�"��
0�
0��
0�
0��
�:�	=�:<�<�G�"�T�%7��n���"�E�E�E�E�E�E�-�-�b�n�=�=�M�B�	�(�B�N�$-�D�!�	������
�=�	�%'�]�"�F�K����z�z�[�1�_�_�%���c��
�$�7�7�7�7�������
�:�	8���+�+�B�J�7�7�B�J�����r?c�D�||_|jjr�tj�|jd��|_	t|jd��5}|�	���
��}|g|_ddd��n#1swxYwYn#t$rYnwxYw|jjr�g|_tjd��}ttj�tj|jj����5}|D]u}|�dd��d}|�
��}|�|��}|�,|j�|������v	ddd��n#1swxYwYt+|j��|jjrt/|j��t0dd�}t3j��}|jjrI|jjD]0}	|	|vr|�|	��|�|	���1g|j_|jjr4tA|jjtC��tE����}
ntA|jj||��}
|jjs|jp
|jjp|
|_#n|j|_#|jjrV|j#dd�|_#	|
�$|j#d��}|
|dz|_%n#tL$rYnwxYw|jj'rf	|j#d|j#�$|jj'���=n8#tP$r+tSd|jj'ztTj+���YnwxYw|jj,rc|jj-�t]j/d	��|j_-t]j0|jj-��t]j1|j#��dSdS)
N�
pynexttest�rz\btest_[a-zA-Z0-9_]+\b�#r rz1Couldn't find starting test (%s), using all testsrEi���)2r"r!�singler�r��joinr9r6�open�read�strip�OSError�fromfile�re�compiler�SAVEDCWD�split�searchrI�grouprrprrr	�copy�excluder~rL�add�testdirr�listrBr#�indexr5�
IndexError�startrKrSrTr��	randomize�random_seed�random�	randrange�seed�shuffle)r<r"�fp�	next_test�regexrc�match�stdtests�nottests�arg�alltests�poss            r=�
find_testszRegrtest.find_tests�sZ����
��7�>�	�(*����T�\�<�(P�(P�D�%�
��$�3�S�9�9�-�R� "���	�	��� 1� 1�I�"+��D�J�-�-�-�-�-�-�-�-�-�-�-����-�-�-�-����
�
�
���
�����7��	9��D�J��J�8�9�9�E��b�g�l�l�9�#5�t�w�7G�H�H�I�I�
9�R��9�9�D��:�:�c�1�-�-�a�0�D��:�:�<�<�D�!�L�L��.�.�E��(��
�)�)�%�+�+�-�-�8�8�8��9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9�
9����
9�
9�
9�
9�	�������7�;�	%��D�G�$�$�$��A�A�A�;���=�?�?���7�?�	��w�|�
"�
"���(�?�?��O�O�C�(�(�(����S�!�!�!�!��D�G�L��7�?�	F� ����$�&�&�#�%�%�@�@�H�H� ����(�H�E�E�H��w��	'� �J�B�$�'�,�B�(�D�M�M� �J�D�M��7�>�	� �M�"�1�"�-�D�M�
��n�n�T�]�1�%5�6�6��(0��q��(9��%�%���
�
�
���
�����7�=�	8�
8��M�"E�4�=�#6�#6�t�w�}�#E�#E�"E�F�F���
8�
8�
8��I���
�&�,/�J�8�8�8�8�8�8�
8�����7��	*��w�"�*�&,�&6�x�&@�&@���#��K���+�,�,�,��N�4�=�)�)�)�)�)�		*�	*sl�B�/B�B�B�B�B�B�
B(�'B(�A9F�F� F�>0L/�/
L<�;L<�,M9�92N.�-N.c�8�|jD]}t|���dSrA)r#rS)r<rGs  r=�
list_testszRegrtest.list_testss*���M�	�	�D��$�K�K�K�K�	�	r?c�N�|D]�}t|tjj��r�"t|tj��r|�|���Rt|tj��r5tj|��r!t|�
������dSrA)rH�unittest�loader�_FailedTest�	TestSuite�_list_cases�TestCaser�
match_testrS�id)r<�suite�tests   r=r�zRegrtest._list_casess����	%�	%�D��$��� ;�<�<�
���$�� 2�3�3�
%�� � ��&�&�&�&��D�(�"3�4�4�
%��%�d�+�+�%��$�'�'�)�)�$�$�$��	%�	%r?c�t�dt_tj|jj|jj��|jD]{}t|j|��}	tj	�
|��}|�|���M#tj$r|j
�|��Y�xwxYw|j
rxtt j���tt%t'|j
��d��dt j���t)|j
t j���dSdS)NFrEr��skipped:)r�verbose�set_match_testsr!�match_tests�ignore_testsr#rr��defaultTestLoader�loadTestsFromNamer��SkipTestr&rIrSrTr�rror)r<rW�abstestr�s    r=�
list_caseszRegrtest.list_cases#s%��������� 3�T�W�5I�J�J�J���	/�	/�I�$�T�W�i�8�8�G�
/� �2�D�D�W�M�M��� � ��'�'�'�'���$�
/�
/�
/���#�#�I�.�.�.�.�.�
/�����<�	5��s�z�"�"�"�"��%��D�L�)�)�6�2�2�J�S�Z�P�P�P�P��d�l���4�4�4�4�4�4�	5�	5s�4B
�
)B6�5B6c��|���|jjr|�d��dSd|j_d|j_d|j_|���|_|�d��t|j	��}|j	�
��|D�]g}|j}|j�
|��|jpg}|jpg}d�|D��}d�|D��}d|j_|jj}|s|r�|jj�g|j_|jj�|��|jj�|��dd�|jj��z}	|�d	|�d
|	�d���n|�d	|�d���t'|j|��}||j_|�|d�
��t+|t,��rn��i|jrDt1t3t5|j��d��d��t7|j��|���dS)NzJRe-running failed tests is not supported with --python host runner option.TFz'Re-running failed tests in verbose modec�H�g|]^}}|�d��d�� S�r\r�r���.0�test_full_namer�s   r=�
<listcomp>z/Regrtest.rerun_failed_tests.<locals>.<listcomp>Ns0��[�[�[�<P�^�a�>�/�/��4�4�Q�7�[�[�[r?c�H�g|]^}}|�d��d�� Sr�r�r�s   r=r�z/Regrtest.rerun_failed_tests.<locals>.<listcomp>Os1��_�_�_�>R�~�PQ�^�1�1�#�6�6�q�9�_�_�_r?z
matching: �, zRe-running z in verbose mode (�)z in verbose mode)r+r�z
failed again:)rjr!�pythonr��failfast�verbose3�get_tests_resultr,r�r*�clearrGr+rI�errors�failuresr��extendr�rrZrHrr%rSrror�display_result)
r<�
rerun_listrVrWr�r��error_names�
failure_names�orig_match_tests�matchings
          r=�rerun_failed_testszRegrtest.rerun_failed_tests4s������
�
�
��7�>�	��H�H�&�
�
�
�
�F����� ���� ���� �1�1�3�3������:�;�;�;��$�/�*�*�
�������� �	�	�F���I��J���i�(�(�(��]�(�b�F���,�"�H�[�[�TZ�[�[�[�K�_�_�V^�_�_�_�M�"�D�G�O�#�w�2���
D��
D��7�&�.�*,�D�G�'���#�*�*�;�7�7�7���#�*�*�=�9�9�9�'�$�)�)�D�G�4G�*H�*H�H�����O�y�O�O�H�O�O�O�P�P�P�P����B�y�B�B�B�C�C�C��T�W�i�0�0�F�"2�D�G���"�"�6��"�6�6�6��&�+�.�.�
���
��8�	 ��%��D�H�
�
�v�.�.��@�@�@��d�h�����������r?c	�j�|jjrdSt��td|���z��|jrtd��t|j��|���z
}|rHt��ttt|��d��d��t|��|jr�|jjs|t��|j
s7|js0|js)t|j��dkrtdd���ttt|j��d��d	��|jjro|j�d
���t��td��|jdd
�D]'\}}td|�dt%|�������(|j
rRt��ttt|j
��d��d��t|j
��|jrdt��td�tt|j��d������t|j��|jr^|jjsRt��ttt|j��d��d��t|j��|jrTt��tdtt|j��d��z��t|j��|jrTt��ttt|j��d��d��t|j��dSdS)Nz== Tests result: %s ==z(Test suite interrupted by signal SIGINT.r�zomitted:r �Allr\)�endzOK.T)�reversez10 slowest tests:�
z- z: zfailed:z%{} altered the execution environment:r�z%s:zre-run testz
run no tests:)r!rprSr�r-rBr#rCrrorr$rnr%r&�
print_slowr.�sortrr(�formatr+r))r<�omittedrfr�s    r=r�zRegrtest.display_resultisb���7�;�	��F�
����
�&��)>�)>�)@�)@�@�A�A�A���	>��<�=�=�=��d�m�$�$�t�'8�'8�':�':�:���	��G�G�G��%��G���f�-�-�z�:�:�:��g�����9�	8�T�W�]�	8��G�G�G��H�
&���
&��(�
&���	�N�N�Q�&�&��e��%�%�%�%��%��D�I����/�/��7�7�7��7��	G��O� � �� �.�.�.��G�G�G��%�&�&�&�#'�?�3�B�3�#7�
G�
G��	�4���D�D�D�/�)�*D�*D�*D�E�F�F�F�F��8�	 ��G�G�G��%��D�H�
�
�v�.�.�	�:�:�:��d�h�����#�	0��G�G�G��9�@�@��3�t�7�8�8�&�A�A�C�C�
D�
D�
D��d�.�/�/�/��<�	$���
�	$��G�G�G��%��D�L�)�)�6�2�2�J�?�?�?��d�l�#�#�#��:�	"��G�G�G��%�%��D�J����?�?�?�@�@�@��d�j�!�!�!���	)��G�G�G��%��D�-�.�.��7�7��I�I�I��d�'�(�(�(�(�(�	)�	)r?c��|jjr ddl}|�dd���|_tj���}d}|jjr|dt|jj��zz
}|�	|��d}t|jd��D�]�\}}tj
��}|}|r|�d|��}|�||��|jrOd	}	tt!����}
|j�|	t%��|
�
��|
d}n*t'|j|��}|�|��t+|t,��rn�t/|��}tj
��|z
}|t0kr|�dt|����}nt+|t2��rd}tj���D]/}
|
|vr)|
�d
��rt7j|
���0|jjrt=||j��rn���|rt?|��dSdS)NrFT)�tracerzRun tests sequentiallyz (timeout: %s)r z -- zDresult = runtest(self.ns, test_name); self.accumulate_result(result))�globals�localsrVz in ztest.) r!r��Tracer/rT�modules�keys�timeoutrrj�	enumerater"r0r1rt�dictr��runctxr�rrZrHr�strr
r�
startswithr�unloadr�rrS)r<r��save_modulesr��
previous_testrqrWr2rr�cmdr!rVrf�modules              r=�run_tests_sequentialzRegrtest.run_tests_sequential�s`���7�=�	?��L�L�L��+�+�E��+�>�>�D�K��{�'�'�)�)��&���7�?�	G��#�o�d�g�o�&F�&F�F�F�C�����
�
�
��
�%.�t�z�1�%=�%=�%	�%	�!�J�	���)�)�J��D��
:�%)�T�T�=�=�9���!�!�*�d�3�3�3��{�

/�8���&�(�(�^�^����"�"�3��	�	�"�"�E�E�E��H���� ���)�4�4���&�&�v�.�.�.��&�+�.�.�
�����K�K�M���(�(�:�5�I��-�-�-�.;�m�m�_�Y�=W�=W�=W� X�
�
��F�F�+�+�
%� $�
��+�*�*�,�,�
+�
+����-�-�&�2C�2C�G�2L�2L�-��N�6�*�*�*���w��
�I�f�d�g�$>�$>�
�����	!��-� � � � � �	!�	!r?c#�\K�	|D]&}|V�|jrdS|jjr
|jrdS�'�*rA)r%r!�fail_env_changedr()r<r"rWs   r=�
_test_foreverzRegrtest._test_forever�sX����	�"�
�
�	������8���F�F��7�+���0H���F�F��
	r?c���tdtj��gtj����R�tdtjd���dtjz��tdtj����tj	��}|rtd|��tdtj���dtj������dS)	Nz==T)�aliasedz	%s-endianz== cwd:z
== CPU count:z== encodings: locale=z, FS=)
rS�platform�python_implementationrT�versionr��	byteorderr��getcwd�	cpu_count�locale�getencoding�getfilesystemencoding)r<r
s  r=�display_headerzRegrtest.display_header�s���
�d�H�2�4�4�K�s�{�7H�7H�7J�7J�K�K�K�K�
�d�H�%�d�3�3�3�!�C�M�1�	3�	3�	3�
�i�����%�%�%��L�N�N�	��	.��/�9�-�-�-�
���#�%�%�%�%�s�'@�'B�'B�'B�D�	E�	E�	E�	E�	Er?c���g}|jr|�d��nk|jjr|jr|�d��nBt|j|j|j|j|jf��s|�d��|jr|�d��|s|�d��d�	|��}|j
r|j
�d|��}|S)N�FAILUREzENV CHANGEDzNO TEST RUN�INTERRUPTED�SUCCESSr�z then )r%rIr!rr(�anyr$r&r-r�r,)r<rVs  r=r�zRegrtest.get_tests_result�s�����8�	)��M�M�)�$�$�$�$�
�W�
%�	)�$�*B�	)��M�M�-�(�(�(�(��d�i���4�<��9I��$�&�'�'�	)��M�M�-�(�(�(���	)��M�M�-�(�(�(��	%��M�M�)�$�$�$����6�"�"����	@�%)�%6�%6�%6���?�F��
r?c��|jjs7|jjs?|jjs3|jjs'|js |jjs|���|jjr4|jj\}}}|dkrd}t|tjd���|jjrtd|jj
��|jjr;|�t!|j����|_d|_d|_nat)|j��|_d�t-|j����|_t-|j��dz
|_|jjr�d	d
lm}tjdkrG|j�@d	dlm}	|��|_n)#t>$r}td
|����Yd}~nd}~wwxYw	||��|j�"|j� ��d|_dSdS#|j� |j� ��d|_wxYw|�!��dS)N�zhWARNING: Running tests with --huntrleaks/-R and less than 3 warmup repetitions can give false positives!TrwzUsing random seedrz/{}r r)�run_tests_multiprocess�win32)�WindowsLoadTrackerz%Failed to create WindowsLoadTracker: )"r!�headerrprnr�r"r~rrrSrT�stdoutr�r��foreverrr�r#r3r4�iterr�ro�use_mpr}rrr:�test.libregrtest.win_utilsrr8�PermissionError�closer)r<r�r�r�r�rr�errors        r=�	run_testszRegrtest.run_testss����G�N�	"��7�;�	"�"&�'�-�	"�37�7�>�	"��j�	"�$(�G�L�	"�
���!�!�!��7��	8�%)�W�%7�"�F�K����z�z�I���c��
�$�7�7�7�7��7��	<��%�t�w�':�;�;�;��7�?�	=��+�+�D���,?�,?�@�@�D�J� �D�O�$%�D�!�!��d�m�,�,�D�J�#�l�l�3�t�}�+=�+=�>�>�D�O�$'���$8�$8�1�$<�D�!��7�>�	(�J�J�J�J�J�J��|�w�&�&�4�+@�+H�I�I�I�I�I�I�K�,>�,>�,@�,@�D�)�)��&�K�K�K��I�%�I�I�J�J�J�J�J�J�J�J�����K����

1�&�&�t�,�,�,��(�4��)�/�/�1�1�1�,0�D�)�)�)�5�4��4�(�4��)�/�/�1�1�1�,0�D�)�0�0�0�0��%�%�'�'�'�'�'s$�F&�&
G�0G�G�H�)H/c��|jrk|jrKt|jd��5}|�|jdz��ddd��n#1swxYwYnt	j|j��|jr;|j���}|�dd|j	j
���t��tj
��|jz
}tdt|��z��td|���z��|j	jr*t	jdt	j��z��dSdS)N�w�
T)�show_missing�summary�coverdirzTotal duration: %szTests result: %szleaks %d)r6r5r��writer��unlinkr/�results�
write_resultsr!r+rSr0r1r2rr��runleaks�system�getpid)r<r�r��durations    r=�finalizezRegrtest.finalize6s����$�	5��$�
5��$�3�S�9�9�;�R��H�H�T�2�T�9�:�:�:�;�;�;�;�;�;�;�;�;�;�;����;�;�;�;���	�$�3�4�4�4��;�	7���#�#�%�%�A�
�O�O��t�%)�W�%5�
�
7�
7�
7�	�����>�#�#�d�o�5��
�"�_�X�%>�%>�>�?�?�?�
� �4�#8�#8�#:�#:�:�;�;�;��7��	0��I�j�2�9�;�;�.�/�/�/�/�/�	0�	0s�A�A�Ac���|jjs	|jsdSddlmcm}|�d��}dddd�}|jD]^}|�|��|D]D}	||xxt|�	|d����z
cc<�5#t$rY�AwxYw�_|���D](\}}|�|t|�����)tj�t"j|jj��}t'|d��5}|�|��D]}	|�|	���	ddd��dS#1swxYwYdS)Nr�
testsuites)r"r�r��wb)r!rzr7rNrOrP�ElementrIrb�getrK�itemsrBr�r�r�r�rr�r��tostringlistr,)
r<rX�root�totalsr��k�vrz�f�ss
          r=�save_xml_resultzRegrtest.save_xml_resultKs����w��	�t�'9�	��F�*�*�*�*�*�*�*�*�*��z�z�,�'�'����q�9�9���'�	�	�E��K�K������
�
����1�I�I�I��U�Y�Y�q�!�_�_�!5�!5�5�I�I�I�I��!�����D�����
��L�L�N�N�	 �	 �D�A�q��H�H�Q��A��������'�,�,�y�1�4�7�?�C�C��
�'�4�
 �
 �	�A��_�_�T�*�*�
�
������
�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�1B�
B�B�!.E�E!�$E!c��tjrFtjd��}|dkrtjd��dStj|��dSdS)Nri��)r�
is_emscriptenr��umask)r<�old_masks  r=�	fix_umaskzRegrtest.fix_umaskdsX��� �	#��x��{�{�H��5� � ������������"�"�"�"�"�	#�	#r?c��|jjr|jj|_|js�tj��rdtjd��|_|j�tjd��|_tj�|jd��|_ntj
��|_tj�|j��|_dS)N�abs_builddir�srcdir�build)r!r�r9�	sysconfig�is_python_build�get_config_varr�r�r��tempfile�
gettempdir�abspathr;s r=�set_temp_dirzRegrtest.set_temp_dirns����7�?�	+��7�?�D�L��|�	5��(�*�*�

5�(�7��G�G����<�'�
$-�#;�H�#E�#E�D�L�!�w�|�|�D�L�'�B�B����'�2�4�4����w���t�|�4�4����r?c�v�tj|jd���tjdvrtjdd��}ntj��}|j�d�	|��}nd�	|��}|tjz
}tj�
|j|��}|S)NT)�exist_ok>�wasi�
emscriptenri@Bztest_python_worker_{}ztest_python_{})r��makedirsr9rTrr��randintr2r:r�r�FS_NONASCIIr�r�)r<�nounce�test_cwds   r=�create_temp_dirzRegrtest.create_temp_dir�s���
��D�L�4�0�0�0�0��<�1�1�1��^�A�y�1�1�F�F��Y�[�[�F�� �,�.�5�5�f�=�=�H�H�'�.�.�v�6�6�H��I�)�)���7�<�<���h�7�7���r?c��ddl}tj�|�|j��d��}t
d|jz��|�|��D]n}tj�|��r't
d|z��tj	|���Ht
d|z��tj
|���odS)Nrz
test_python_*zCleanup %s directoryzRemove directory: %szRemove file: %s)�globr�r�r��escaper9rS�isdirr�rmtreer-)r<r_r�rGs    r=�cleanupzRegrtest.cleanup�s��������w�|�|�D�K�K���5�5��G�G��
�$�t�|�3�4�4�4��I�I�d�O�O�	'�	'�D��w�}�}�T�"�"�
'��,�t�3�4�4�4�� ��&�&�&�&��'�$�.�/�/�/�� ��&�&�&�&�
	'�	'r?Nc�d�|�|��|���|���|jjr(|���tjd��|���}	tj	|d���5||j_
|�||��ddd��dS#1swxYwYdS#t$rK}tjrtjt"d���tj|j��Yd}~dSd}~wwxYw)NrT)rn)r�)r�rSrHr!rcrTr�r]r�temp_cwdr��_main�
SystemExitr�can_start_thread�faulthandler�dump_traceback_later�EXIT_TIMEOUT�code)r<r"r�r\�excs     r=�mainz
Regrtest.main�sv����������������������7�?�	��L�L�N�N�N��H�Q�K�K�K��'�'�)�)��	�
�#�H�D�9�9�9�
*�
*�#+�����
�
�5�&�)�)�)�

*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*����
*�
*�
*�
*�
*�
*���	�	�	� �0�
K��1�,�T�J�J�J�J��H�S�X��������������
	���s=�C�#C
�C�
C�C�C�C�
D/�$AD*�*D/c��|j�|j���Sttd��rtj��dSdS)Nr`r)r8r`�hasattrr�r;s r=r`zRegrtest.getloadavg�sH��� �,��(�3�3�5�5�5��2�|�$�$�	&��=�?�?�1�%�%��tr?c���|j�ddlm}||j|j��|jjrtd��|jjt_|jj	t_
t|j��|�|��|jj
r(|�
��tjd��|jjr(|���tjd��|���|���|jjr|jr|���|���|���|jrtjd��|jrtjd��|jjr|jrtjd��tjd��dS)Nr)�run_tests_workerzPress any key to continue...rx�r)r:r}rrr!�wait�inputrpr�PGO�pgo_extended�PGO_EXTENDEDrr�r�rTr�r�r%r��verbose2r%r�r4rBr-rr()r<r"r�rrs    r=rfzRegrtest._main�s���� �,�D�D�D�D�D�D���T�W�d�&;�<�<�<��7�<�	2��0�1�1�1��g�k���#�w�3����D�G������������7��	��O�O�����H�Q�K�K�K��7��	��O�O�����H�Q�K�K�K��������������7��	&���	&��#�#�%�%�%��
�
�����������8�	��H�Q�K�K�K���	��H�S�M�M�M��7�#�	��(@�	��H�Q�K�K�K��������r?)F)rrA)�__name__�
__module__�__qualname__�__doc__r>rCrZrjrtr�r�r�r�r�r�r�rrrr�r%r4rBrHrSr]rcrnr`rf�r?r=rr s���������,)%�)%�)%�V*�*�*�
%�%�%�%�N � � � �*	%�	%�	%����<G*�G*�G*�R���%�%�%�5�5�5�"3�3�3�j9)�9)�9)�v5!�5!�5!�n���
E�
E�
E����*/(�/(�/(�b0�0�0�*���2#�#�#�5�5�5�,���('�'�'�����B���'�'�'�'�'r?rc�<�t��jdd|i|��dS)zRun the Python suite.r"Nr~)rrn)r"r�s  r=rnrn�s)���H�J�J�O�*�*�%�*�6�*�*�*�*�*r?rA).rirr�rr�r�rTrMrPr0r��test.libregrtest.cmdliner�test.libregrtest.runtestrrrrrr	r
rrr
rrrrr�test.libregrtest.setupr�test.libregrtest.pgor�test.libregrtest.utilsrrrrr�r�test.supportrrrkrrnr~r?r=�<module>r�s������
�
�
�
�	�	�	�	�����
�
�
�
�	�	�	�	�
�
�
�
�����������������0�0�0�0�0�0�����������������������������������
/�.�.�.�.�.�0�0�0�0�0�0�N�N�N�N�N�N�N�N�N�N�N�N�������"�"�"�"�"�"�)�)�)�)�)�)���V�V�V�V�V�V�V�V�r+�+�+�+�+�+r?