§
    (¶Õi}h  ã                   ó(  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlm Z  d dl!m"Z"m#Z#m$Z$m%Z% d dl&m'Z' d dl(m)Z) d d	l(m*Z* d
Z+ G d„ d¦  «        Z,dd„Z-dS )é    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                   ó´   — e Zd ZdZd„ Zd„ Zdd„Zd d„Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd!d„Zd„ Zd„ ZdS )"ÚRegrtestaa  Execute 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 | _        t          j        ¦   «         | _        d| _        d| _        d | _        d | _        d | _        d | _        d | _        d | _        d S )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__zRegrtest.__init__7   sÓ   € àˆŒð ˆŒ
ØˆŒð ˆŒ	ØˆŒØˆŒØ "ˆÔØ#%ˆÔ ØˆÔØˆŒØˆŒ
Ø ˆÔØ ˆÔð ˆŒð ˆŒõ œ.Ñ*Ô*ˆŒØˆŒØ !ˆÔð !%ˆÔØ$(ˆÔ!ð "ˆÔð !%ˆÔØˆŒØ $ˆÔÐÐó    c                 óü   — t          | j        ¦  «        t          | j        ¦  «        z  t          | j        ¦  «        z  t          | j        ¦  «        z  t          | j        ¦  «        z  t          | j        ¦  «        z  S ©N)Úsetr$   r%   r&   r'   r(   r)   r;   s    r=   Úget_executedzRegrtest.get_executedb   sh   € Ý�D”I‘”¥ T¤X¡¤Ñ.µ°T´\Ñ1BÔ1BÑBÝ�dÔ+Ñ,Ô,ñ-Ý/2°4Ô3KÑ/LÔ/LñMå�dÔ'Ñ(Ô(ñ)ð 	*r?   Fc                 óò  — |j         }t          |t          t          f¦  «        s#|s!| j                             |j        |f¦  «         t          |t          ¦  «        r| j                             |¦  «         �nVt          |t          ¦  «        r6| j
                             |¦  «         | j                             |¦  «         �nt          |t          ¦  «        r| j
                             |¦  «         nÛt          |t          ¦  «        r| j                             |¦  «         n«t          |t          ¦  «        r7|s4| j                             |¦  «         | j                             |¦  «         n_t          |t$          ¦  «        r| j                             |¦  «         n/t          |t          ¦  «        rd| _        nt+          d|z  ¦  «        ‚|r6t          |t          t          f¦  «        s| j                             |¦  «         |j        }|rfdd lmc m} |D ]\}	 | j                             |                     |¦  «        ¦  «         Œ1# |j        $ r t=          |t>          j         ¬¦  «         ‚ w xY wd S d S )NTzinvalid test result: %rr   ©Úfile)!ÚnameÚ
isinstancer   r   r.   ÚappendÚduration_secr   r$   r   r&   r'   r   r   r(   r   r%   r*   r   r)   r-   Ú
ValueErrorÚremoveÚxml_dataÚxml.etree.ElementTreeÚetreeÚElementTreer7   Ú
fromstringÚ
ParseErrorÚprintÚsysÚ
__stderr__)r<   Úresultr+   Ú	test_namerM   ÚETÚes          r=   Úaccumulate_resultzRegrtest.accumulate_resultg   s“  € Ø”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É'I2r   c                 ó>  — | }|                       ¦   «         }|�	d|d›d|› �}t          j        ¦   «         | j        z
  }t	          t          |¦  «        d¦  «        \  }}t	          |d¦  «        \  }}d|||fz  }|› d|› �}|r
|d d…         }t          |d¬¦  «         d S )	Nz
load avg: z.2fú é<   z%d:%02d:%02déÿÿÿÿT)Úflush)Ú
getloadavgr0   r1   r2   Ú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                 óø   — | j         j        rd S || j        › ›| j        › �}t	          | j        ¦  «        t	          | j        ¦  «        z   }|r| j         j        s|› d|› �}|                      d|› d|› �¦  «         d S )Nú/ú[z] )	r!   Úquietr4   r3   Úlenr%   r(   Úpgorj   )r<   Ú
test_indexÚtextrc   Úfailss        r=   Údisplay_progresszRegrtest.display_progress£   s›   € ØŒ7Œ=ð 	ØˆFð ˜dÔ3ÐGÐG°d´oÐGÐGˆÝ�D”H‘”¥ DÔ$<Ñ =Ô =Ñ=ˆØð 	%˜œœð 	%ØÐ$Ð$˜UÐ$Ð$ˆDØ�ŠÐ#�TÐ#Ð#˜TÐ#Ð#Ñ$Ô$Ð$Ð$Ð$r?   c                 ó  — t          t          j        dd …         fi |¤Ž}|j        rg xt          _        | _        |j        }|�'ddlm	}  ||j        ¦  «        \  }}||_        || _
        t          |j        ¦  «         |j        rI|j        \  }}}|dk     s|dk     r2d}	t          |	t          j        d¬¦  «         t          j        d¦  «         |j        r)t$          j                             |j        ¦  «        |_        || _        d S )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©rF   r_   é   )r   rT   ÚargvÚxmlpathr   Újunit_xml_listr7   Úworker_argsÚtest.libregrtest.runtest_mprv   r:   r   ÚargsÚ
huntrleaksrS   ÚstderrÚexitÚtempdirÚosÚpathÚ
expanduserr!   )
r<   Úkwargsr!   r|   rv   rW   ÚwarmupÚrepetitionsÚ_Úmsgs
             r=   Ú
parse_argszRegrtest.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  — || _         | j        j        r—t          j                             | j        d¦  «        | _        	 t          | j        d¦  «        5 }| 	                    ¦   «          
                    ¦   «         }|g| _         d d d ¦  «         n# 1 swxY w Y   n# t          $ r Y nw xY w| j        j        ríg | _         t          j        d¦  «        }t          t          j                             t          j        | j        j        ¦  «        ¦  «        5 }|D ]u}|                     dd¦  «        d         }| 
                    ¦   «         }|                     |¦  «        }|�,| j                              |                     ¦   «         ¦  «         Œv	 d d d ¦  «         n# 1 swxY w Y   t+          | j         ¦  «         | j        j        rt/          | j        ¦  «         t0          d d …         }t3          j        ¦   «         }| j        j        rI| j        j        D ]0}	|	|v r|                     |	¦  «         |                     |	¦  «         Œ1g | j        _        | j        j        r4tA          | j        j        tC          ¦   «         tE          ¦   «         ¦  «        }
ntA          | j        j        ||¦  «        }
| j        j        s| j         p| j        j        p|
| _#        n| j         | _#        | j        j        rV| j#        d d…         | _#        	 |
 $                    | j#        d         ¦  «        }|
|dz            | _%        n# tL          $ r Y nw xY w| j        j'        rf	 | j#        d | j#         $                    | j        j'        ¦  «        …= n8# tP          $ r+ tS          d| j        j'        z  tT          j+        ¬¦  «         Y nw xY w| j        j,        rc| j        j-        €t]          j/        d	¦  «        | j        _-        t]          j0        | j        j-        ¦  «         t]          j1        | j#        ¦  «         d S d S )
NÚ
pynexttestÚrz\btest_[a-zA-Z0-9_]+\bú#r    r   z1Couldn't find starting test (%s), using all testsrE   i€–˜ )2r"   r!   Úsinglerƒ   r„   Újoinr9   r6   ÚopenÚreadÚstripÚOSErrorÚfromfileÚreÚcompiler   ÚSAVEDCWDÚsplitÚsearchrI   Úgroupr   rp   r   r   r	   ÚcopyÚexcluder~   rL   ÚaddÚtestdirr   ÚlistrB   r#   Úindexr5   Ú
IndexErrorÚstartrK   rS   rT   r€   Ú	randomizeÚrandom_seedÚrandomÚ	randrangeÚseedÚshuffle)r<   r"   ÚfpÚ	next_testÚregexrc   ÚmatchÚstdtestsÚnottestsÚargÚalltestsÚposs               r=   Ú
find_testszRegrtest.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   — | j         D ]}t          |¦  «         Œd S rA   )r#   rS   )r<   rG   s     r=   Ú
list_testszRegrtest.list_tests  s*   € Ø”Mð 	ð 	ˆDÝ�$‰KŒKˆKˆKð	ð 	r?   c                 óN  — |D ]¡}t          |t          j        j        ¦  «        rŒ"t          |t          j        ¦  «        r|                      |¦  «         ŒRt          |t          j        ¦  «        r5t          j        |¦  «        r!t          | 
                    ¦   «         ¦  «         Œ¢d S rA   )rH   ÚunittestÚloaderÚ_FailedTestÚ	TestSuiteÚ_list_casesÚTestCaser   Ú
match_testrS   Úid)r<   ÚsuiteÚtests      r=   r¼   zRegrtest._list_cases  s    € Øð 	%ð 	%ˆDÝ˜$¥¤Ô ;Ñ<Ô<ð ØÝ˜$¥Ô 2Ñ3Ô3ð %Ø× Ò  Ñ&Ô&Ð&Ð&Ý˜D¥(Ô"3Ñ4Ô4ð %ÝÔ% dÑ+Ô+ð %Ý˜$Ÿ'š'™)œ)Ñ$Ô$Ð$øð	%ð 	%r?   c                 ót  — dt           _        t          j        | j        j        | j        j        ¦  «         | j        D ]{}t          | j        |¦  «        }	 t          j	         
                    |¦  «        }|                      |¦  «         ŒM# t          j        $ r | j                             |¦  «         Y Œxw xY w| j        rxt          t           j        ¬¦  «         t          t%          t'          | j        ¦  «        d¦  «        dt           j        ¬¦  «         t)          | j        t           j        ¬¦  «         d S d S )NFrE   rÁ   úskipped:)r   ÚverboseÚset_match_testsr!   Úmatch_testsÚignore_testsr#   r   r¸   ÚdefaultTestLoaderÚloadTestsFromNamer¼   ÚSkipTestr&   rI   rS   rT   r€   r   ro   r   )r<   rW   ÚabstestrÀ   s       r=   Ú
list_caseszRegrtest.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Â5B6c                 ó  — |                       ¦   «          | j        j        r|                       d¦  «         d S d| j        _        d| j        _        d| j        _        |                      ¦   «         | _        |                       d¦  «         t          | j	        ¦  «        }| j	         
                    ¦   «          |D �]g}|j        }| j                             |¦  «         |j        pg }|j        pg }d„ |D ¦   «         }d„ |D ¦   «         }d| j        _        | j        j        }|s|r•| j        j        €g | j        _        | j        j                             |¦  «         | j        j                             |¦  «         dd                     | j        j        ¦  «        z   }	|                       d	|› d
|	› d�¦  «         n|                       d	|› d�¦  «         t'          | j        |¦  «        }|| j        _        |                      |d¬¦  «         t+          |t,          ¦  «        r n�Œi| j        rDt1          t3          t5          | j        ¦  «        d¦  «        d¦  «         t7          | j        ¦  «         |                      ¦   «          d S )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>N  s0   € Ð[Ð[Ð[Ð<P¸^Èa˜>×/Ò/°Ñ4Ô4°QÔ7Ð[Ð[Ð[r?   c                 óH   — g | ]^}}|                      d ¦  «        d         ‘Œ S rÏ   rÐ   rÑ   s      r=   rÔ   z/Regrtest.rerun_failed_tests.<locals>.<listcomp>O  s1   € Ð_Ð_Ð_Ð>R¸~ÐPQ˜^×1Ò1°#Ñ6Ô6°qÔ9Ð_Ð_Ð_r?   z
matching: ú, zRe-running z in verbose mode (ú)z in verbose mode)r+   rÁ   zfailed again:)rj   r!   ÚpythonrÄ   ÚfailfastÚverbose3Úget_tests_resultr,   r¡   r*   ÚclearrG   r+   rI   ÚerrorsÚfailuresrÆ   Úextendr‘   r   rZ   rH   r   r%   rS   r   ro   r   Údisplay_result)
r<   Ú
rerun_listrV   rW   rÝ   rÞ   Úerror_namesÚfailure_namesÚorig_match_testsÚmatchings
             r=   Úrerun_failed_testszRegrtest.rerun_failed_tests4  s„  € Ø�Š‰
Œ
ˆ
àŒ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  — | j         j        rd S t          ¦   «          t          d|                      ¦   «         z  ¦  «         | j        rt          d¦  «         t          | j        ¦  «        |                      ¦   «         z
  }|rHt          ¦   «          t          t          t          |¦  «        d¦  «        d¦  «         t          |¦  «         | j        rˆ| j         j        s|t          ¦   «          | j        s7| j        s0| j        s)t          | j        ¦  «        dk    rt          dd¬¦  «         t          t          t          | j        ¦  «        d¦  «        d	¦  «         | j         j        ro| j                             d
¬¦  «         t          ¦   «          t          d¦  «         | j        d d…         D ]'\  }}t          d|›dt%          |¦  «        ›�¦  «         Œ(| j        rRt          ¦   «          t          t          t          | j        ¦  «        d¦  «        d¦  «         t          | j        ¦  «         | j        rdt          ¦   «          t          d                     t          t          | j        ¦  «        d¦  «        ¦  «        ¦  «         t          | j        ¦  «         | j        r^| j         j        sRt          ¦   «          t          t          t          | j        ¦  «        d¦  «        d¦  «         t          | j        ¦  «         | j        rTt          ¦   «          t          dt          t          | j        ¦  «        d¦  «        z  ¦  «         t          | j        ¦  «         | j        rTt          ¦   «          t          t          t          | j        ¦  «        d¦  «        d¦  «         t          | j        ¦  «         d S d S )Nz== Tests result: %s ==z(Test suite interrupted by signal SIGINT.rÁ   zomitted:r    ÚAllr\   )ÚendzOK.T)Úreversez10 slowest tests:é
   z- z: zfailed:z%{} altered the execution environment:rÃ   z%s:zre-run testzrun no tests:)r!   rp   rS   rÛ   r-   rB   r#   rC   r   ro   r   r$   rn   r%   r&   Ú
print_slowr.   Úsortr   r(   Úformatr+   r)   )r<   Úomittedrf   rÁ   s       r=   rà   zRegrtest.display_resulti  sb  € àŒ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                 ó²  — | j         j        r dd l}|                     dd¬¦  «        | _        t          j                             ¦   «         }d}| j         j        r|dt          | j         j        ¦  «        z  z  }|  	                    |¦  «         d }t          | j        d¦  «        D �]ž\  }}t          j        ¦   «         }|}|r|›d|›�}|                      ||¦  «         | j        rOd	}	t          t!          ¦   «         ¦  «        }
| j                             |	t%          ¦   «         |
¬
¦  «         |
d         }n*t'          | j         |¦  «        }|                      |¦  «         t+          |t,          ¦  «        r nÏt/          |¦  «        }t          j        ¦   «         |z
  }|t0          k    r|›dt          |¦  «        ›�}nt+          |t2          ¦  «        rd }t          j                             ¦   «         D ]/}||vr)|                     d¦  «        rt7          j        |¦  «         Œ0| j         j        rt=          || j         ¦  «        r n�Œ |rt?          |¦  «         d S d S )Nr   FT)Útracer   zRun tests sequentiallyz (timeout: %s)r    z -- zDresult = runtest(self.ns, test_name); self.accumulate_result(result))ÚglobalsÚlocalsrV   z in ztest.) r!   rñ   ÚTracer/   rT   ÚmodulesÚkeysÚtimeoutr   rj   Ú	enumerater"   r0   r1   rt   Údictró   Úrunctxrò   r   rZ   rH   r   Ústrr
   r   Ú
startswithr   ÚunloadrÙ   r   rS   )r<   rñ   Úsave_modulesrŠ   Úprevious_testrq   rW   r2   rr   Úcmdr!   rV   rf   Úmodules                 r=   Úrun_tests_sequentialzRegrtest.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 — | j         r d S | j        j        r
| j        r d S Œ'Œ*rA   )r%   r!   Úfail_env_changedr(   )r<   r"   rW   s      r=   Ú_test_foreverzRegrtest._test_foreverÛ  sX   è è € ð	Ø"ð ð �	Ø���Ø”8ð Ø�F�FØ”7Ô+ð °Ô0Hð Ø�F�Føð	r?   c                 óØ  — t          dt          j        ¦   «         gt          j                             ¦   «         ¢R Ž  t          dt          j        d¬¦  «        dt          j        z  ¦  «         t          dt          j        ¦   «         ¦  «         t          j	        ¦   «         }|rt          d|¦  «         t          dt          j        ¦   «         ›dt          j        ¦   «         ›�¦  «         d S )	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_headerzRegrtest.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ð 	Er?   c                 óÐ  — g }| j         r|                     d¦  «         nk| j        j        r| j        r|                     d¦  «         nBt          | j        | j         | j        | j        | j        f¦  «        s|                     d¦  «         | j        r|                     d¦  «         |s|                     d¦  «         d 	                    |¦  «        }| j
        r| j
        ›d|›�}|S )NÚFAILUREzENV CHANGEDzNO TEST RUNÚINTERRUPTEDÚSUCCESSrÖ   z then )r%   rI   r!   r  r(   Úanyr$   r&   r-   r‘   r,   )r<   rV   s     r=   rÛ   zRegrtest.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                 ó�  — | j         j        s7| j         j        s?| j         j        s3| j         j        s'| j        s | j         j        s|                      ¦   «          | j         j        r4| j         j        \  }}}|dk     rd}t          |t          j        d¬¦  «         | j         j        rt          d| j         j        ¦  «         | j         j        r;|                      t!          | j        ¦  «        ¦  «        | _        d| _        d| _        nat)          | j        ¦  «        | _        d                     t-          | j        ¦  «        ¦  «        | _        t-          | j        ¦  «        dz
  | _        | j         j        rÀd	d
lm} t          j        dk    rG| j        €@d	dlm} 	  |¦   «         | _        n)# t>          $ r}t          d|› �¦  «         Y d }~nd }~ww xY w	  || ¦  «         | j        �"| j                              ¦   «          d | _        d S d S # | j        � | j                              ¦   «          d | _        w xY w|  !                    ¦   «          d S )Né   zhWARNING: Running tests with --huntrleaks/-R and less than 3 warmup repetitions can give false positives!Trw   zUsing random seedr   z/{}r    r   )Úrun_tests_multiprocessÚwin32)ÚWindowsLoadTrackerz%Failed to create WindowsLoadTracker: )"r!   Úheaderrp   rn   r�   r"   r~   r  r   rS   rT   Ústdoutr¥   r¦   Úforeverr  r¡   r#   r3   r4   Úiterrî   ro   Úuse_mpr}   r  r  r:   Útest.libregrtest.win_utilsr  r8   ÚPermissionErrorÚcloser  )r<   r‡   rˆ   r‰   rŠ   r  r  Úerrors           r=   Ú	run_testszRegrtest.run_tests  s‡  € àŒ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Æ0GÇGÇH È)H/c                 ó²  — | j         rk| j        rKt          | j         d¦  «        5 }|                     | j        dz   ¦  «         d d d ¦  «         n# 1 swxY w Y   nt	          j        | j         ¦  «         | j        r;| j                             ¦   «         }|                     dd| j	        j
        ¬¦  «         t          ¦   «          t          j        ¦   «         | j        z
  }t          dt          |¦  «        z  ¦  «         t          d|                      ¦   «         z  ¦  «         | j	        j        r*t	          j        dt	          j        ¦   «         z  ¦  «         d S d S )NÚwú
T)Úshow_missingÚsummaryÚcoverdirzTotal duration: %szTests result: %szleaks %d)r6   r5   r’   Úwriterƒ   Úunlinkr/   ÚresultsÚwrite_resultsr!   r+  rS   r0   r1   r2   r   rÛ   ÚrunleaksÚsystemÚgetpid)r<   r«   rŽ   Údurations       r=   ÚfinalizezRegrtest.finalize6  s„  € ØÔ$ð 	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ÁAc                 óÔ  — | j         j        s	| j        sd S dd lmc m} |                     d¦  «        }ddddœ}| j        D ]^}|                     |¦  «         |D ]D}	 ||xx         t          | 	                    |d¦  «        ¦  «        z  cc<   Œ5# t          $ r Y ŒAw xY wŒ_|                     ¦   «         D ](\  }}|                     |t          |¦  «        ¦  «         Œ)t          j                             t"          j        | j         j        ¦  «        }t'          |d¦  «        5 }|                     |¦  «        D ]}	|                     |	¦  «         Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   Ú
testsuites)r"   rÝ   rÞ   Úwb)r!   rz   r7   rN   rO   rP   ÚElementrI   rb   ÚgetrK   ÚitemsrB   rû   rƒ   r„   r‘   r   r™   r’   Útostringlistr,  )
r<   rX   ÚrootÚtotalsrÀ   ÚkÚvrz   ÚfÚss
             r=   Úsave_xml_resultzRegrtest.save_xml_resultK  sÛ  € ØŒ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                 óª   — t           j        rFt          j        d¦  «        }|dk    rt          j        d¦  «         d S t          j        |¦  «         d S d S )Nr   iÿ  é   )r   Úis_emscriptenrƒ   Úumask)r<   Úold_masks     r=   Ú	fix_umaskzRegrtest.fix_umaskd  sX   € ÝÔ ð 	#õ ”x ‘{”{ˆHØ˜5Ò Ð Ý”˜‘”���å”˜Ñ"Ô"Ð"Ð"Ð"ð	#ð 	#r?   c                 ó¾  — | j         j        r| j         j        | _        | j        s�t          j        ¦   «         rdt          j        d¦  «        | _        | j        €t          j        d¦  «        | _        t          j                             | j        d¦  «        | _        nt          j
        ¦   «         | _        t          j                             | j        ¦  «        | _        d S )NÚabs_builddirÚsrcdirÚbuild)r!   r‚   r9   Ú	sysconfigÚis_python_buildÚget_config_varrƒ   r„   r‘   ÚtempfileÚ
gettempdirÚabspathr;   s    r=   Úset_temp_dirzRegrtest.set_temp_dirn  sª   € ØŒ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  — t          j        | j        d¬¦  «         t          j        dv rt          j        dd¦  «        }nt          j        ¦   «         }| j        �d 	                    |¦  «        }nd 	                    |¦  «        }|t          j        z  }t           j                             | j        |¦  «        }|S )NT)Úexist_ok>   ÚwasiÚ
emscriptenr   i@B ztest_python_worker_{}ztest_python_{})rƒ   Úmakedirsr9   rT   r  r§   Úrandintr2  r:   rî   r   ÚFS_NONASCIIr„   r‘   )r<   ÚnounceÚtest_cwds      r=   Úcreate_temp_dirzRegrtest.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                 ó´  — dd l }t          j                             |                     | j        ¦  «        d¦  «        }t          d| j        z  ¦  «         |                      |¦  «        D ]n}t          j                             |¦  «        r't          d|z  ¦  «         t          j	        |¦  «         ŒHt          d|z  ¦  «         t          j
        |¦  «         Œod S )Nr   ztest_python_*zCleanup %s directoryzRemove directory: %szRemove file: %s)Úglobrƒ   r„   r‘   Úescaper9   rS   Úisdirr   Úrmtreer-  )r<   r_  r„   rG   s       r=   ÚcleanupzRegrtest.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  — |                       |¦  «         |                      ¦   «          |                      ¦   «          | j        j        r(|                      ¦   «          t          j        d¦  «         |                      ¦   «         }	 t          j	        |d¬¦  «        5  || j        _
        |                      ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S # t          $ rK}t          j        rt          j        t"          d¬¦  «         t          j        |j        ¦  «         Y d }~d S d }~ww xY w)Nr   T)rn   )r�   )r‹   rS  rH  r!   rc  rT   r�   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/Ã$A D*Ä*D/c                 ó¢   — | j         �| j                              ¦   «         S t          t          d¦  «        rt          j        ¦   «         d         S d S )Nr`   r   )r8   r`   Úhasattrrƒ   r;   s    r=   r`   zRegrtest.getloadavgÆ  sH   € ØÔ Ð,ØÔ(×3Ò3Ñ5Ô5Ð5å•2�|Ñ$Ô$ð 	&Ý”=‘?”? 1Ô%Ð%àˆtr?   c                 óÌ  — | j         �ddlm}  || j        | j         ¦  «         | j        j        rt          d¦  «         | j        j        t          _        | j        j	        t          _
        t          | j        ¦  «         |                      |¦  «         | j        j        r(|                      ¦   «          t          j        d¦  «         | j        j        r(|                      ¦   «          t          j        d¦  «         |                      ¦   «          |                      ¦   «          | j        j        r| j        r|                      ¦   «          |                      ¦   «          |                      ¦   «          | j        rt          j        d¦  «         | j        rt          j        d¦  «         | j        j        r| j        rt          j        d¦  «         t          j        d¦  «         d S )Nr   )Úrun_tests_workerzPress any key to continue...rx   é‚   r  )r:   r}   rr  r!   ÚwaitÚinputrp   r   ÚPGOÚpgo_extendedÚPGO_EXTENDEDr   r´   r¶   rT   r�   rÌ   r%  rà   Úverbose2r%   ræ   r4  rB  r-   r  r(   )r<   r"   r†   rr  s       r=   rf  zRegrtest._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)r   rA   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r>   rC   rZ   rj   rt   r‹   r´   r¶   r¼   rÌ   ræ   rà   r  r  r  rÛ   r%  r4  rB  rH  rS  r]  rc  rn  r`   rf  © r?   r=   r   r       sÁ  € € € € € ðð ð,)%ð )%ð )%ðV*ð *ð *ð
%ð %ð %ð %ðN ð  ð  ð  ð*	%ð 	%ð 	%ðð ð ð<G*ð G*ð G*ðRð ð ð%ð %ð %ð5ð 5ð 5ð"3ð 3ð 3ðj9)ð 9)ð 9)ðv5!ð 5!ð 5!ðnð ð ð
Eð 
Eð 
Eðð ð ð*/(ð /(ð /(ðb0ð 0ð 0ð*ð ð ð2#ð #ð #ð5ð 5ð 5ð,ð ð ð('ð 'ð 'ðð ð ð ðBð ð ð'ð 'ð 'ð 'ð 'r?   r   c                 ó<   —  t          ¦   «         j        dd| i|¤Ž dS )zRun the Python suite.r"   Nr~  )r   rn  )r"   r†   s     r=   rn  rn  ù  s)   € à…H�J„J„OÐ*Ð*˜%Ð* 6Ð*Ð*Ð*Ð*Ð*r?   rA   ).ri  r  rƒ   r  r§   r—   rT   rM  rP  r0   r¸   Útest.libregrtest.cmdliner   Útest.libregrtest.runtestr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   Útest.libregrtest.setupr   Útest.libregrtest.pgor   Útest.libregrtest.utilsr   r   r   r   rÁ   r   Útest.supportr   r   rk  r   rn  r~  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?   