a ze3@sddlmZddlZddlZddlZddZGdddZGdddejZGd d d ejZ Gd d d ejZ Gd ddejZ GdddejZ GdddejZ edkredS))supportNcCs(z tWntdYS0dS)N)OSErrorsysexc_inforrC/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_raise.pyget_tb s r c@seZdZddZddZdS)ContextcCs|SNrselfrrr __enter__szContext.__enter__cCsdS)NTr)r exc_type exc_valueexc_tbrrr__exit__szContext.__exit__N__name__ __module__ __qualname__rrrrrrr sr c@sleZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZdS) TestRaisec CsJzWn4ty:}z|dt|WYd}~nd}~00|ddS)NzNo active exceptionNo exception raised) RuntimeErrorassertInstrfailr errrtest_invalid_reraises &zTestRaise.test_invalid_reraisec Cszz:z tWn*ty6}z|}WYd}~n d}~00Wn0tyj}z|||WYd}~nd}~00|ddSNr) IndexErrorassertIsr)r rZexc1Zexc2rrr test_reraise#s "zTestRaise.test_reraisecCsdd}|t|dS)Nc Ss@z tdWn.z tdWnty2Yn0Yn0dSNfooZcaught TypeErrorKeyErrorrrrrreraise0s   z.TestRaise.test_except_reraise..reraise assertRaisesr'r r)rrrtest_except_reraise/s zTestRaise.test_except_reraisecCsdd}|t|dS)Nc Ss2z tdWn ztdWn0Yn0dSr$r&rrrrr)<s   z/TestRaise.test_finally_reraise..reraise)r+r(r,rrrtest_finally_reraise;szTestRaise.test_finally_reraisecs$ddfdd}|t|dS)NcSsdSr rrrrrnested_reraiseGsz5TestRaise.test_nested_reraise..nested_reraisecs$z tdWnYn0dSNr%r'rr/rrr)Is z.TestRaise.test_nested_reraise..reraiser*r,rr2rtest_nested_reraiseFs zTestRaise.test_nested_reraisec Csjz&z tdWntdYn0Wn>tyd}z&||jt||jWYd}~n d}~00dSr0)r' ValueErrorassertIsInstance __context__ assertIsNone __cause__rrrrtest_raise_from_NonePs zTestRaise.test_raise_from_NonecCsdd}|t|dS)Nc SsFz tdWn4tWdn1s00YYn0dSr0)r'r rrrrr)[s  z-TestRaise.test_with_reraise1..reraiser*r,rrrtest_with_reraise1ZszTestRaise.test_with_reraise1cCsdd}|t|dS)Nc SsNz tdWn<ttdWdn1s80YYn0dSr$)r'r r(rrrrr)es  &z-TestRaise.test_with_reraise2..reraiser*r,rrrtest_with_reraise2dszTestRaise.test_with_reraise2csBdd}|t|tfdd|tfdddS)Ncss&z tdWndVYn0dS)Nr%r1rrrrr)os  z-TestRaise.test_yield_reraise..reraisecstSr nextrgrrwz.TestRaise.test_yield_reraise..cstSr r=rr?rrrAxrB)r>r+r' StopIterationr,rr?rtest_yield_reraisens zTestRaise.test_yield_reraisecCs:Gdddt}z|Wnty*Yn 0|ddS)Nc@seZdZddZdS)z7TestRaise.test_erroneous_exception..MyExceptioncSs tdSr rr rrr__init__|sz@TestRaise.test_erroneous_exception..MyException.__init__NrrrrFrrrr MyException{srHr) Exceptionrrr rHrrrtest_erroneous_exceptionzs  z"TestRaise.test_erroneous_exceptioncCsBGdddt}|t|Wdn1s40YdS)Nc@seZdZddZdS)z@TestRaise.test_new_returns_invalid_instance..MyExceptioncWstSr )object)clsargsrrr__new__szHTestRaise.test_new_returns_invalid_instance..MyException.__new__N)rrrrOrrrrrHsrH)rIr+r'rJrrr!test_new_returns_invalid_instances z+TestRaise.test_new_returns_invalid_instancec Cs>zWn4ty8}z|t|dWYd}~n d}~00dS)Nz(3,))AssertionError assertEqualrrrrrtest_assert_with_tuple_argsz$TestRaise.test_assert_with_tuple_argN)rrrrr#r-r.r3r9r:r;rDrKrPrSrrrrrs          rc@s4eZdZddZddZddZddZd d Zd S) TestCausec Cszrz&ztWnty$tdYn0WnFtyn}z.||j||jd|_|WYd}~n d}~00Wn(ty}z|}WYd}~n d}~00||j||j||j tdS)NF) r'rIr4r7r8Z assertTrue__suppress_context__Z assertFalser5r6)r excrrrrtestCauseSyntaxs      zTestCause.testCauseSyntaxc CsNz tdWn4ty>}z|dt|WYd}~nd}~00|ddS)Nzexception causer)r!r'rrrrrrrtest_invalid_causes  &zTestCause.test_invalid_causec CsLz ttWn2ty<}z||jtWYd}~nd}~00|ddSr )r!r(r5r8rrrrrtest_class_causes  $zTestCause.test_class_causec CsRt}z t|Wn2tyB}z||j|WYd}~nd}~00|ddSr )r(r!r"r8r)r causerrrrtest_instance_causes  $zTestCause.test_instance_causecCs<Gdddt}z t|Wnty,Yn 0|ddS)Nc@seZdZddZdS)z3TestCause.test_erroneous_cause..MyExceptioncSs tdSr rEr rrrrFsz.MyException.__init__NrGrrrrrHsrHr)rIr!rrrJrrrtest_erroneous_causes   zTestCause.test_erroneous_causeN)rrrrWrYrZr\r]rrrrrTs  rTc@seZdZddZddZdS) TestTracebackc CsNz tWn4ty>}z||jtjWYd}~nd}~00|ddSr )r!r5 __traceback__types TracebackTyperrrrrtest_sets_tracebacks  &z!TestTraceback.test_sets_tracebackc Csht}zt|WnBtyX}z*||j|||jj|WYd}~nd}~00|ddSr )r r!with_tracebackassertNotEqualr_rRtb_nextr)r tbrrrrtest_accepts_tracebacks&z$TestTraceback.test_accepts_tracebackN)rrrrbrgrrrrr^sr^c@s$eZdZddZddZddZdS)TestTracebackTypecCstdSr )r4r rrrraiserszTestTracebackType.raiserc Cs|z |Wn*ty6}z|j}WYd}~n d}~00||jtj||jt ||j t ||j t ||jjd|t|`Wdn1s0Y|td|_Wdn1s0Y|t||_Wdn1s 0Y|t||j_Wdn1s@0Yd|_||jdt}||_||j|dS)NZasdf)rirIr_r5rer`rar"tb_framer _getframetb_lastiint tb_linenor+r'r4r )r rVrfZnew_tbrrr test_attrss,  " $ & (zTestTracebackType.test_attrscCsdt}t}t||dd}||j|||j|||jd||j dtd|dd}||jd| t  td|ddWdn1s0Y| t  t|dddWdn1s0Y| t  t||ddWdn1s0Y| t  t||ddWdn1sV0YdS)Nr<rnoznuh-uh) r rrkr`rarRrerjrlrnr+r')r Zother_tbframerfrrrtest_constructors" . . 0 z"TestTracebackType.test_constructorN)rrrrirorrrrrrrhs#rhc@sleZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZdS) TestContextc Csht}z z|WntYn0Wn2tyX}z||j|WYd}~nd}~00|ddSr )r!rrRr6rr contextrrrr$test_instance_context_instance_raise*s$z0TestContext.test_instance_context_instance_raisec Cstt}z z|WntYn0Wn@tyd}z(||j|||j|WYd}~nd}~00|ddSr r!rrdr6r5rrtrrr!test_class_context_instance_raise6s$z-TestContext.test_class_context_instance_raisec Csrt}zz|WntYn0Wn@tyb}z(||j|||j|WYd}~nd}~00|ddSr rwrtrrrtest_class_context_class_raiseCs$z*TestContext.test_class_context_class_raisec Csdz"z ddWntYn0Wn2tyT}z||jtWYd}~nd}~00|ddSNr<rrrr5r6ZeroDivisionErrorrrrrrtest_c_exception_contextPs $z$TestContext.test_c_exception_contextc Csdz"z ddWntYn0Wn2tyT}z||jtWYd}~nd}~00|ddSrz)xyzzy NameErrorr5r6r|rrrrrtest_c_exception_raise[s $z"TestContext.test_c_exception_raisec CsTzzWtnt0Wn0tyD}z||jWYd}~nd}~00|ddSr )rr7r6rrrrrtest_noraise_finallyfs"z TestContext.test_noraise_finallyc Cs^zzddWtnt0Wn2tyN}z||jtWYd}~nd}~00|ddSrzr{rrrrtest_raise_finallyqs $zTestContext.test_raise_finallyc CsGddd}z2|ddWdn1s40YWn2tyr}z||jtWYd}~nd}~00|ddS)Nc@seZdZddZddZdS)z8TestContext.test_context_manager..ContextManagercSsdSr rr rrrr~szBTestContext.test_context_manager..ContextManager.__enter__cSstdSr )r~)r tvrfrrrrszATestContext.test_context_manager..ContextManager.__exit__NrrrrrContextManager}srr<rr)rr5r6r|r)r rrrrrtest_context_manager|s*$z TestContext.test_context_managerc Cspz:z ddWn(ty6}z|WYd}~n d}~00Wn0tyj}z||jWYd}~n d}~00dSNr<r)r|r7r6rrrrtest_cycle_brokens zTestContext.test_cycle_brokenc CszVztWnHtyR}z0z ddWnty<|Yn0WYd}~n d}~00Wn2ty}z||jjWYd}~n d}~00dSr)r~rr|r7r6)r arrrrtest_reraise_cycle_brokens  $z%TestContext.test_reraise_cycle_brokencs ddfdd}|dS)Ncssz dVWn0dS)Nr<rrrrrgensz"TestContext.test_3118..genc sf}t|z ztWn~tYn0Wn2ty`}z|jtWYd}~n d}~00dSr )r>r4r(rIr5r6)r@rrr rrfsz TestContext.test_3118..fr)r rrrr test_3118s zTestContext.test_3118csjddlGdddfddt&}t|jjWdn1s\0YdS)Nrc@seZdZddZdS)z TestContext.test_3611..CcSs z ddWnYn0dSrrr rrr__del__s z(TestContext.test_3611..C.__del__N)rrrrrrrrCsrc s|}z0z jWn ty2~tYn0Wn@tyv}z(|jd|jtWYd}~n d}~00dSr )xAttributeErrorZcollectr'rIrdr6r5)rrrrgcr rrrs  z TestContext.test_3611..f)rrZcatch_unraisable_exceptionrRr|Z unraisabler)r cmrrr test_3611s  zTestContext.test_3611N)rrrrvrxryr}rrrrrrrrrrrrrs)s        rsc@seZdZddZddZdS)TestRemovedFunctionalitycCs.z ttfWntyYn 0|ddSr )r!r(r'rr rrr test_tupless   z$TestRemovedFunctionality.test_tuplescCs*zdWntyYn 0|ddS)Nr%r)r'rr rrr test_stringss  z%TestRemovedFunctionality.test_stringsN)rrrrrrrrrrsr__main__)testrrr`Zunittestr r ZTestCaserrTr^rhrsrrmainrrrrs };B/