o =?hn@s2dZddlZddlZddlZddlZddlZddlZGdddejZGdddZ ddd Z dd d Z e d krddl mmZd e_GdddejZeZeeeeZe eddejDZeejZeeZ e!de"e!ddde#e $D] Z%e!e%&ddqe!dSdS)z=Test runner and result class for the regression test suite. NcseZdZdZfddZeddZfddZddd Zed d Z fd d Z fddZ fddZ fddZ fddZfddZddZZS)RegressionTestResultFcsxtj|||r dnddd|_|jr7ddlm}ddlm}||_|d|_ |j d| d d|_ d|_dS) Nr)stream descriptions verbosityT) ElementTree)datetimeZ testsuitestart )super__init__bufferUSE_XMLZ xml.etreerr_RegressionTestResult__ETZElement_RegressionTestResult__suitesetZutcnowZ isoformat_RegressionTestResult__e!_RegressionTestResult__start_time)selfrrrETr __class__>/opt/alt/python310/lib64/python3.10/test/support/testresult.pyr s      zRegressionTestResult.__init__cCsJz|j}Wn tyt|YSwz|WSty$t|YSwN)idAttributeErrorstr TypeErrorrepr)clstestZtest_idrrrZ__getIds     zRegressionTestResult.__getIdcs6t||jr|j|jd|_}t|_ dS)NZtestcase) r startTestrr SubElementrrtime perf_counterr)rr!errrr"(s zRegressionTestResult.startTestc KsN|jsdS|j}d|_|durdS|j}|d|d|||d|dd|d|dd|jrE|dt|jd|rm|j durZ|j }|| |d_ |jdurm|j }|| |d _ |D]3\}} |ry| szqq| ||} t| d r| D]\} } | r| | t| qt| | _ qqqt| | _ qqdS) NnameZstatusrunresultZ completedr$z0.6fz system-outz system-erritems)rrrrpop_RegressionTestResult__getIdrr$r%Z_stdout_buffergetvaluerstripr#textZ_stderr_bufferr*hasattrr) rr!Zcaptureargsr&rstdoutstderrkvZe2Zk2Zv2rrr _add_result.s>      z RegressionTestResult._add_resultcCslt|tr|jdkr|j}n|jd|j}nt|}t||d}t|||}|d|d|dS)Nbuiltins.)typemessager9) isinstancer: __module____name__r tracebackformat_exceptionjoin)r Zerr_typeZ err_valueZerr_tbtypenamemsgtbrrrZ__makeErrorDictRs  z$RegressionTestResult.__makeErrorDictc(|j|d|j|dt||dS)NT)error)r6$_RegressionTestResult__makeErrorDictr addErrorrr!errrrrrHezRegressionTestResult.addErrorcrE)NT)output)r6rGr addExpectedFailurerIrrrrMirKz'RegressionTestResult.addExpectedFailurecrE)NT)Zfailure)r6rGr addFailurerIrrrrNmrKzRegressionTestResult.addFailurecs |j||dt||dS)N)Zskipped)r6r addSkip)rr!reasonrrrrOqszRegressionTestResult.addSkipcs||t|dSr)r6r addSuccessrr!rrrrQus zRegressionTestResult.addSuccesscs|j|ddt|dS)NZUNEXPECTED_SUCCESS)Zoutcome)r6r addUnexpectedSuccessrRrrrrSysz)RegressionTestResult.addUnexpectedSuccesscCsV|jstd|j}|dt|j|dtt|j|dtt|j|S)NzUSE_XML is falseZtestserrorsfailures) r ValueErrorrrrZtestsRunlenrTrU)rr&rrrget_xml_element}sz$RegressionTestResult.get_xml_elementF)r>r= __qualname__rr classmethodr,r"r6rGrHrMrNrOrQrSrX __classcell__rrrrr s    $       rc@seZdZdddZddZdS)QuietRegressionTestRunnerFcCst|dd|_||j_dS)Nr)rr)r )rrr rrrr s z"QuietRegressionTestRunner.__init__cCs||j|jSr)r)rRrrrr(s zQuietRegressionTestRunner.runNrY)r>r=rZr r(rrrrr]s  r]FcCs&|r tjtjt||dStjt|dS)N)Z resultclassr r)r ) functoolspartialunittestZTextTestRunnerrr])rr rrrget_test_runner_classsracCst|||Sr)ra)rrZcapture_outputrrrget_test_runnerrb__main__Tc@s,eZdZddZddZddZddZd S) TestTestscCsdSrrrrrr test_passszTestTests.test_passcCstddS)Ng?)r$sleeprfrrrtest_pass_slowrczTestTests.test_pass_slowcCs*tdtjdtdtjd|ddS)Nr2filer3zfailure message)printsysr2r3Zfailrfrrr test_failszTestTests.test_failcCs$tdtjdtdtjdtd)Nr2rjr3z error message)rlrmr2r3 RuntimeErrorrfrrr test_errorszTestTests.test_errorN)r>r=rZrgrirnrprrrrres  reccs|]}|dkVqdS)z-vNr).0arrr srszOutput:zXML: r9)endrY)'__doc__r^iormr$r?r`ZTextTestResultrr]rarbr>Zxml.etree.ElementTreeZetreerrrZTestCasereZ TestSuiteZsuiteZaddTestZ makeSuiteStringIOrsumargvZ runner_clsr2Zrunnerr(r)rlr-Z tostringlistrXsdecoderrrrs6z