a  ze@s4ddlZddlZddlZddlZddlZddlZddlmmZ ddl m Z Gdddej Z GdddZ ddd Zdd d Zed kr0Gd ddejZeZeeeeZeeddejDZeejZeeZe de!e ddde "e#D]Z$e e$%ddqe dS)N)datetimecseZdZfddZeddZfddZddd Zed d Zfd d Z fddZ fddZ fddZ fddZ fddZddZZS)RegressionTestResultcsTtj|||rdnddd|_td|_|jdt dd|_ d|_ dS)Nr)stream descriptions verbosityTZ testsuitestart ) super__init__bufferETZElement_RegressionTestResult__suitesetrZutcnowZ isoformat_RegressionTestResult__e!_RegressionTestResult__start_time)selfrrr __class__K/opt/bitninja-python-dojo/embedded/lib/python3.9/test/support/testresult.pyr s   zRegressionTestResult.__init__cCsRz |j}Wnty$t|YS0z|WStyHt|YS0t|SN)idAttributeErrorstr TypeErrorrepr)clstestZtest_idrrrZ__getIds   zRegressionTestResult.__getIdcs.t|t|jd|_}t|_dS)NZtestcase) r startTestr SubElementrrtime perf_counterr)rrerrrr(s zRegressionTestResult.startTestFc KsD|j}d|_|durdS|d|d|||d|dd|d|dd|jrz|dt|jd|r|jdur|j }|t |d_ |j dur|j  }|t |d _ |D]l\}}|r|sqt ||} t|d r4|D],\} } | r$| | t| n t| | _ qqt|| _ qdS) NnamestatusrunresultZ completedr!z0.6fz system-outz system-erritems)rrpop_RegressionTestResult__getIdrr!r"Z_stdout_buffergetvaluerstripr r textZ_stderr_bufferr(hasattrr) rrcaptureargsr#stdoutstderrkve2Zk2Zv2rrr _add_result-s4    z RegressionTestResult._add_resultcCslt|tr0|jdkr|j}q8|jd|j}nt|}t||d}t|||}|d|d|dS)Nbuiltins.)typemessager9) isinstancer: __module____name__r tracebackformat_exceptionjoin)rZerr_typeZ err_valueZerr_tbtypenamemsgtbrrrZ__makeErrorDictMs  z$RegressionTestResult.__makeErrorDictcs(|j|d|j|dt||dS)NT)error)r6$_RegressionTestResult__makeErrorDictr addErrorrrerrrrrrG`szRegressionTestResult.addErrorcs(|j|d|j|dt||dS)NT)output)r6rFr addExpectedFailurerHrrrrKdsz'RegressionTestResult.addExpectedFailurecs(|j|d|j|dt||dS)NT)Zfailure)r6rFr addFailurerHrrrrLhszRegressionTestResult.addFailurecs |j||dt||dS)N)Zskipped)r6r addSkip)rrreasonrrrrMlszRegressionTestResult.addSkipcs||t|dSr)r6r addSuccessrrrrrrOps zRegressionTestResult.addSuccesscs|j|ddt|dS)NZUNEXPECTED_SUCCESS)outcome)r6r addUnexpectedSuccessrPrrrrRtsz)RegressionTestResult.addUnexpectedSuccesscCsH|j}|dt|j|dtt|j|dtt|j|S)NZtestserrorsfailures)rrrZtestsRunlenrSrT)rr#rrrget_xml_elementxs z$RegressionTestResult.get_xml_element)F)r>r= __qualname__r classmethodr*rr6rFrGrKrLrMrOrRrV __classcell__rrrrrs          rc@seZdZdddZddZdS)QuietRegressionTestRunnerFcCst|dd|_||j_dS)Nr)rr'r )rrr rrrr sz"QuietRegressionTestRunner.__init__cCs||j|jSr)r'rPrrrr&s zQuietRegressionTestRunner.runN)F)r>r=rWr r&rrrrrZs rZFcCs&|rtjtjt||dStjt|dS)N)Z resultclassr r)r ) functoolspartialunittestZTextTestRunnerrrZ)rr rrrget_test_runner_classsr^cCst|||Sr)r^)rrcapture_outputrrrget_test_runnersr`__main__c@s,eZdZddZddZddZddZd S) TestTestscCsdSrrrrrr test_passszTestTests.test_passcCstddS)Ng?)r!sleeprcrrrtest_pass_slowszTestTests.test_pass_slowcCs*tdtjdtdtjd|ddS)Nr1filer2zfailure message)printsysr1r2Zfailrcrrr test_failszTestTests.test_failcCs(tdtjdtdtjdtddS)Nr1rgr2z error message)rirjr1r2 RuntimeErrorrcrrr test_errorszTestTests.test_errorN)r>r=rWrdrfrkrmrrrrrbsrbccs|]}|dkVqdS)z-vNr).0arrr rpzOutput:zXML: r9)end)F)F)&r[iorjr!r?r]Zxml.etree.ElementTreeZetreeZ ElementTreer rZTextTestResultrrZr^r`r>ZTestCaserbZ TestSuiteZsuiteZaddTestZ makeSuiteStringIOrsumargvZ runner_clsr1Zrunnerr&r'rir+Z tostringlistrVsdecoderrrrs0 o