NL iUdZddlmZddlZddlmZddlmZddl m Z ddl m Z ddl mZdd lmZdd lmZmZmZmZmZmZdd lmZdd lmZdd lmZddgZGddeZy)z|Test runner for exception handling transform test cases. The transform inserts exception handling branch operations to IR. ) annotationsN) CompileError) test_temp_dir)DataDrivenTestCase)frequently_executed_blocks)TOP_LEVEL_NAME) format_func)ICODE_GEN_BUILTINSMypycDataSuiteassert_test_outputbuild_ir_for_single_fileremove_comment_linesuse_custom_builtins)insert_exception_handling)insert_ref_count_opcodes)insert_uninit_checkszexceptions.testzexceptions-freq.testceZdZeZeZddZy)TestExceptionTransformc ttjj|jt |5t |j} t|j}g}|D]}|jtk(r|jjds2t|t|t||j!t#||jjdst%|j&d}|j)dt+d|Dz t1||d|dddy#t,$r}|j.}Yd}~1d}~wwxYw#1swYyxYw)z4Perform a runtime checking transformation test case. _toplevel_freqrzhot blocks: %sc34K|]}|jyw)N)label).0bs `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mypyc/test/test_exceptions.py z2TestExceptionTransform.run_case..6s?XA?XsNzInvalid source code output)rospathjoin data_prefixr routputr inputnamerendswithrrrextendr rblocksappendsortedrmessagesr )selftestcaseexpected_outputiractualfncommones rrun_casezTestExceptionTransform.run_case#s3 d.>.>@R!SU] ^ `28??CO Z-hnn= ZBww.09O9OP[9\ (,-b1,R0MM+b/2}}--g6!;BIIaL!I &6?XQW?X9X&XY Z x1M _' ` `  $ $  ` `s=E*E%B E*2A E* E' E"E*"E''E**E3N)r,rreturnNone)__name__ __module__ __qualname__filesr base_pathr3rrrs EI`r<r) __doc__ __future__ros.pathr mypy.errorsrmypy.test.configrmypy.test.datarmypyc.analysis.blockfreqr mypyc.commonrmypyc.ir.pprintr mypyc.test.testutilr r r r rrmypyc.transform.exceptionsrmypyc.transform.refcountrmypyc.transform.uninitrr9rr;r<rrJsS #$*-?''A=7 23`^`r<