§ |<ˆjc ãóx—ddlZddlZddlZddlmZddlmZddlmZddlmZddlm Z ddlm Z ddl Z Gd„d ¦«Z d ed fd „Z e jd d ¬¦«d ed fd„¦«Ze jd d ¬¦«d ed fd„¦«Ze jd d ¬¦«d ed fd„¦«ZdS)éN)Ú TracebackType)ÚAny)ÚCallable)Ú Generator)ÚOptional)ÚTypecór—eZdZdZd d„Zdd„Zdd„Zd eee d ee d ee ddfd „Z dS)Úcatch_threading_exceptionaÝContext manager catching threading.Thread exception using threading.excepthook. Storing exc_value using a custom hook can create a reference cycle. The reference cycle is broken explicitly when the context manager exits. Storing thread using a custom hook can resurrect it if it is set to an object which is being finalized. Exiting the context manager clears the stored object. Usage: with threading_helper.catch_threading_exception() as cm: # code spawning a thread which raises an exception ... # check the thread exception: use cm.args ... # cm.args attribute no longer exists at this point # (to break a reference cycle) ÚreturnNcó"—d|_d|_dS©N)ÚargsÚ _old_hook©Úselfs úi/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/_pytest/threadexception.pyÚ__init__z"catch_threading_exception.__init__$s€Ø:>ˆŒ ØPTˆŒˆˆórúthreading.ExceptHookArgscó—||_dSr )r)rrs rÚ_hookzcatch_threading_exception._hook(s €ØˆŒ ˆ ˆ rcóJ—tj|_|jt_|Sr )Ú threadingÚ excepthookrrrs rÚ __enter__z#catch_threading_exception.__enter__+s€Ý"Ô-ˆŒØ#œz� ÔØˆ rÚexc_typeÚexc_valÚexc_tbcóL—|j€J‚|jt_d|_|`dSr )rrrr)rrrrs rÚ__exit__z"catch_threading_exception.__exit__0s,€ð Œ~Ð)Ð)Ð)Ø#œ~� ÔØˆŒØ ˆIˆIˆIr)r N)rrr N)r r ) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrrÚ BaseExceptionrr ©rrr r s¬€€€€€ððð(UðUðUðUððððððððð à˜4  Ô.Ô/ð ð˜-Ô(ð ð˜Ô'ð ð ð ð ð ð ð ð rr r )NNNc #ó˜K—t¦«5}dV—|jr•|jj€dn|jjj}d|›d�}|d t j|jj|jj|jj ¦«¦«z }tj tj |¦«¦«ddd¦«dS#1swxYwYdS)Nz zException in thread z Ú)r rÚthreadÚnameÚjoinÚ tracebackÚformat_exceptionrÚ exc_valueÚ exc_tracebackÚwarningsÚwarnÚpytestÚ%PytestUnhandledThreadExceptionWarning)ÚcmÚ thread_nameÚmsgs rÚthread_exception_runtest_hookr7<s"èè€Ý "Ñ $Ô $ð M¨Ø ˆˆˆØ Œ7ð MØ)+¬¬Ð)?˜+˜+ÀRÄWÄ^ÔEXˆKØ:¨Ð:Ð:Ð:ˆCØ �2—7’7ÝÔ*Ø”GÔ$Ø”GÔ%Ø”GÔ)ñôñôñ ˆCõ ŒM�&ÔFÀsÑKÔKÑ LÔ LÐ Lð Mð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð Ms‘B!B?Â?CÃCT)Ú hookwrapperÚtrylastc#ó2K—t¦«Ed{V—†dSr ©r7r&rrÚpytest_runtest_setupr<Ló*èè€å,Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.r)r8Útryfirstc#ó2K—t¦«Ed{V—†dSr r;r&rrÚpytest_runtest_callr@Qr=rc#ó2K—t¦«Ed{V—†dSr r;r&rrÚpytest_runtest_teardownrBVr=r)rr,r0ÚtypesrÚtypingrrrrrr2r r7Úhookimplr<r@rBr&rrúrFs±ðØÐÐÐØÐÐÐØ€€€ØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐà € € € ð*ð*ð*ð*ð*ñ*ô*ð*ðZ M yÐ1AÔ'Bð Mð Mð Mð M𠀄˜T¨4Ð0Ñ0Ô0ð/˜iÐ(8Ô9ð/ð/ð/ñ1Ô0ð/ð€„˜T¨DÐ1Ñ1Ô1ð/˜YÐ'7Ô8ð/ð/ð/ñ2Ô1ð/ð€„˜T¨DÐ1Ñ1Ô1ð/ Ð+;Ô!<ð/ð/ð/ñ2Ô1ð/ð/ð/r