
    h}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    DITX.T\1B1BBd+,,-/243K/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
                            |           nt          |t                    r| j                            |           nt          |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ff%% 	AIY''''// 	AL	***!((3333(( 	AL	****
++ 	A$++I6666'' 		A /	***&&v...	** 	A$$Y////,, 	A#D6?@@@ 	'FV[,ABB 	'HOOI&&&? 	.........  &--bmmA.>.>????}   (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:%02dT)flush)
getloadavgr0   r1   r2   divmodintrS   )r<   lineemptyload_avg	test_timeminssecshourss           r=   logzRegrtest.log   s     ??$$5555t55D N$$t6	C	NNB//
dT2&&t"eT4%88	$$d$$ 	9D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GdoGGDH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--bn==MB	(BN$-D! 	= 	%']"FKzz[1__% c
$7777: 	8++BJ77BJr?   c                 D   || _         | j        j        rt          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        rg | _         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(PD%$3S99 -R "		 1 1I"+DJ- - - - - - - - - - - - - - -     7 	9DJ J899Ebgll9#5tw7GHHII 9R 9 9D::c1--a0D::<<D!LL..E(
))%++--88899 9 9 9 9 9 9 9 9 9 9 9 9 9 9 	7; 	%DG$$$AAA;=??7? 	w| " "(??OOC(((S!!!!DGL 7? 	F $&&#%%@@HH (HEEHw 	' JB$',B(DMM JDM7> 	 M"1"-DMnnT]1%566(0q(9%%    7= 	88M"E4=#6#6tw}#E#E"EFF 8 8 8I&,/J8 8 8 8 8 88 7 	*w"*&,&6x&@&@#K+,,,N4=)))))		* 	*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$KKKK	 	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%    3TW5IJJJ 	/ 	/I$TWi88G/ 2DDWMM  ''''$ / / /##I...../ < 	5sz""""%DL))622JSZPPPPdl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4Q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6q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> 	HH&   F   1133:;;;$/**
  	 	FIJi(((](bF,"H[[TZ[[[K__V^___M"DGO#w2 D D7&.*,DG'#**;777#**=999'$))DG4G*H*HHOyOOHOOOPPPPByBBBCCCTWi00F"2DG""6"666&+..  8 	 %DHv..@@@dh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 	><===dm$$t'8'8':':: 	GGG%Gf--z:::g9 	8TW] 	8GGGH &&(& 	NNQ&&e%%%%%DI//7777 	GO   ...GGG%&&&#'?3B3#7 G G	4DDD/)*D*D*DEFFFF8 	 GGG%DHv..	:::dh# 	0GGG9@@3t788&AAC C D D Dd.///< 	$ 	$GGG%DL))622J???dl###: 	"GGG%%DJ???@@@dj!!! 	)GGG%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 nt/          |          }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= 	?LLL++E+>>DK{''))&7? 	G#odgo&F&FFFC%.tz1%=%= %	 %	!J	))JD :%)TT==9!!*d333{ 
/8&((^^""3		""EEEH )44&&v...&+.. KKM((:5I---.;mm_Y=W=W=W XFF++ % $ +**,, + +--&2C2CG2L2L-N6***w Ifdg$>$>  	!-     	! 	!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 FF7+ 0H FF	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    dH244Ks{7H7H7J7JKKKKdH%d333!CM1	3 	3 	3i%%%LNN	 	./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 	)MM)$$$$W% 	)$*B 	)MM-((((di4<9I$& ' ' 	)MM-((( 	)MM-((( 	%MM)$$$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        rd	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   GN 	"7;	""&'-	"377>	"j	"$(GL	" !!!7 	8%)W%7"FKzzIc
$77777 	<%tw':;;;7? 	=++D,?,?@@DJ DO$%D!!dm,,DJ#ll3t}+=+=>>DO$'$8$81$<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,0D))) 544(4)//111,0D)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$3S99 ;RHHT2T9:::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 	$3444; 	7##%%AOOt%)W%5  7 7 7 	>##do5"_X%>%>>??? 4#8#8#:#::;;;7 	0Ij29;;./////	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*********zz,'' q99' 	 	EKK  1IIIUYYq!__!5!55IIII!   D LLNN 	  	 DAqHHQA',,y147?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        st          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?DL| 	5 (** 
5(7GG<'
 $-#;H#E#EDL!w||DL'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    
DL40000 <111^Ay11FFY[[F ,.55f==HH'..v66H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||DKK55GG$t|3444IIdOO 	' 	'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? 	LLNNNHQKKK''))	
 #HD999 * * #+

5&)))* * * * * * * * * * * * * * * * * *  	 	 	  0 K1,TJJJJHSX	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TWd&;<<<7< 	20111gk#w3DG7 	OOHQKKK7 	OOHQKKK7 	& 	&##%%%8 	HQKKK 	HSMMM7# 	(@ 	HQKKK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)    HJJO**%*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?   