a zel@s>ddlZddlmZmZGdddejZedkr:edS)N) ann_modulesupportc@sLeZdZddZddZddZddZd d Zd d Zd dZ ddZ dS) OpcodeTestc Csd}tdD]n}||}z ddWn2ty6Yn"tyFYntyVYn0zWn Yn0zWn0||}q |dkr|ddS)Nr Zztry inside for)range NameErrorZeroDivisionError TypeErrorfail)selfnirE/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_opcodes.pytest_try_inside_for_loops   z#OpcodeTest.test_try_inside_for_loopcCsjzRttj}|}Wdn1s*0Yt|tjd}||jdWntydYn0dS)Nexec)openr__file__readcompile assertEqualco_firstlinenoOSError)r fZtxtcorrrtest_setup_annotations_lines & z&OpcodeTest.test_setup_annotations_linecCsBGddd}|t|jWdn1s40YdS)Nc@s eZdZdS)z7OpcodeTest.test_no_annotations_if_not_needed..CN__name__ __module__ __qualname__rrrrC#r#) assertRaisesAttributeError__annotations__r r#rrr!test_no_annotations_if_not_needed"s z,OpcodeTest.test_no_annotations_if_not_neededcCs0dddii}td|||dtdddS)Nr'rzx: int)xr)rrint)r nsrrrtest_use_existing_annotations's  z(OpcodeTest.test_use_existing_annotationscsNttdi*td=Gfddd}Wdn1s@0YdS)Nr'csBeZdZU[eeed<Wdn1s40YdS)z6OpcodeTest.test_do_not_recreate_annotations..Cr+N)r r!r"r'r%r r,rr rrr#0s  r#)rZ swap_itemglobalsr(rr/r test_do_not_recreate_annotations,sz+OpcodeTest.test_do_not_recreate_annotationsc CsdGdddt}Gddd|}Gdddt}Gddd|}z |Wn Yn0z |Wn|ytYn0z |Wn|yYn0z |Wn$|y|Yn Yn0|}|}z|Wn2|y }z|||WYd}~nd}~00|d z ||Wn2|yT}z|||WYd}~nd}~00|d dS) Nc@s eZdZdS)z6OpcodeTest.test_raise_class_exceptions..AClassNrrrrrAClass7r$r2c@s eZdZdS)z6OpcodeTest.test_raise_class_exceptions..BClassNrrrrrBClass8r$r3c@s eZdZdS)z6OpcodeTest.test_raise_class_exceptions..CClassNrrrrrCClass9r$r4c@seZdZddZdS)z6OpcodeTest.test_raise_class_exceptions..DClasscSsdS)Nr)r ignorerrr__init__;sz?OpcodeTest.test_raise_class_exceptions..DClass.__init__N)r r!r"r6rrrrDClass:sr7z no exception) Exceptionr rZassertIsInstance)r r2r3r4r7abvrrrtest_raise_class_exceptions5s0      " "z&OpcodeTest.test_raise_class_exceptionscCstd}td}|||td}td}|||td}td}|||td}td}|||td}td}|||td}td}|||td}td}|||td }td }|||dS) Nz lambda: Nonez lambda a: az lambda a=1: az lambda: 0z lambda: 1zlambda a: Nonezlambda b: Nonezlambda a=None: Nonezlambda a=0: Nonezlambda a=1: None)evalZassertNotEqual)r rgrrrtest_compare_function_objects`s0       z(OpcodeTest.test_compare_function_objectscCs&Gdddt}||dddS)Nc@seZdZddZdS)z=OpcodeTest.test_modulo_of_string_subclasses..MyStringcSsdS)N*r)r valuerrr__mod__szEOpcodeTest.test_modulo_of_string_subclasses..MyString.__mod__N)r r!r"rBrrrrMyStringsrCrr@)strr)r rCrrr test_modulo_of_string_subclassessz+OpcodeTest.test_modulo_of_string_subclassesN) r r!r"rrr)r.r1r<r?rErrrrrs  +"r__main__)ZunittesttestrrZTestCaserr mainrrrrs