cbh SSKrSSKJrJr SSKrSSKrSSKrSSKrSSKJ r SSK J r J r Sr Sr"SS\ 5r"S S \R 5r"S S \ 5r"S S\ 5r\S:Xa\R*"5 gg)N) combinationsproduct)support)BytecodeTestCaseCfgOptimizationTestCasecn[R"SUS35n0n[X5 USR$)Nz= def f(x): match x: case z#: pass f)textwrapdedentexec__code__)patternsource namespaces :/opt/alt/python313/lib64/python3.13/test/test_peepholer.py compile_pattern_with_fast_localsr sE __ Y  FI S> " ""cSn[R"U5HnURU:XdMUS- nM [US5(a URnUR H$n[US5(dMU[ XA5- nM& U$)Nrr co_code)disget_instructionsopnamehasattrr co_constscount_instr_recursively)r rcountinstrcs rrrs{ E%%a( <<6 ! QJE)q* JJ [[ 1i ,Q7 7E Lrc\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr\ RB"S5S5r"S r#S!r$S"r%S#r&S$r'S%r(S&r)S'r*g()) TestTranforms'c N[[R"U55nUVs0sHo3RU_M nnUHnSUR;aMXCR nURS;aDUR URSURSURSUR35 URS;dMURS:XdMUR URSURSURSUR35 M gs snf)NJUMP_) JUMP_BACKWARD JUMP_FORWARDz at z jumps to RETURN_VALUE)listrroffsetrargvalfail)selfcode instructionsrtargetstgts rcheck_jump_targets TestTranforms.check_jump_targets)sC0067 4@AL5<<&LA!Eell*,,'Czz>> U\\N$u||n=&&)jj\cjj\CD AA n, U\\N$u||n=&&)jj\cjj\CD"BsD"c$[R"U5n[[R"U55n[ SU55n[ SU55nUR US5 URU[UR55 g)Nc3*# UH oSv M g7frN.0ts r -TestTranforms.check_lnotab..@0AQ4c3*# UH oSv M g7fr5r6r7s rr:r;Ar<r=r) r_get_code_objectr(findlinestartsminmaxassertGreaterEqual assertLesslenr)r,r-lnotab min_bytecode max_bytecodes r check_lnotabTestTranforms.check_lnotab:sp##D)c((./000 000   a0  c$,,&78rcSnURUS5 URUS5 URUS5 URU5 g)NcUS:XdAgg)Nr6xs runot%TestTranforms.test_unot..unotJs6r UNARY_NOTPOP_JUMP_IF_FALSEPOP_JUMP_IF_TRUEassertNotInBytecodeassertInBytecoderI)r,rPs r test_unotTestTranforms.test_unotHsI    {3   ':; d$67 $rcSHNupnURUS9 [USS5nURXBU5 URU5 SSS5 MP g!,(df  Mb=f)N))z not a is bIS_OPr)znot a is not br[r)z not a in b CONTAINS_OPr)znot a not in br\rlinesingle)subTestcompilerWrI)r,r^cmp_opinvertr-s rtest_elim_inversion_of_is_or_in-TestTranforms.test_elim_inversion_of_is_or_inRs`% D& 4(tR2%%dF;!!$')( % )(s 1A A% cpSnSnSnUS4US4US44HSupEURUS9 URUS5 URUSU5 URU5 SSS5 MU S nURUS5 URUS S5 URU5 g!,(df  M=f) NcSnSnU$Nr6rNs rr 0TestTranforms.test_global_as_constant..f`sAAHrc SnU$)NTr6rNs rg0TestTranforms.test_global_as_constant..gds AHrc SnU$)NFr6rNs rh0TestTranforms.test_global_as_constant..hgs AHrTF)func LOAD_GLOBAL LOAD_CONSTcgrir6r6rrr rjqsr RETURN_CONST)rarVrWrI)r,r rlrorqelems rtest_global_as_constant%TestTranforms.test_global_as_constant^s   t9q$i!U.f{s r)rsrS)r%rU)r,r rvs rtest_while_oneTestTranforms.test_while_oneysG 8D  $ $Q -8&D  ! !! *' !rcSHpupURUS9 [USS5nURX25 URUS5 URUS5 UR U5 SSS5 Mr g!,(df  M=f)N))za, = a,ru)z a, b = a, bSWAP)za, b, c = a, b, crr]r_r` BUILD_TUPLEUNPACK_SEQUENCErarbrWrVrIr,r^rvr-s rtest_pack_unpackTestTranforms.test_pack_unpacks|JD 4(tBx0%%d1((}=((/@A!!$' )(  )(s AA88 B c dSH`upURUS9 [USS5nURUSU5 URUS5 UR U5 SSS5 Mb [[ [ [S555SS5nURUS5 [R"U5Vs/sHnURS:XdMUPM nnUR[U5S5 UR U5 S nUR U5 g!,(df  GM'=fs snf) N))z a = 1,2,3rrM)z ("a","b","c")abr)z a,b,c = 1,2,3r)z(None, 1, None)NrN)z((1, 2), 3, 4)rrMrr]r_r`rsr'rc/SQ)4 g)N)drrrMrr rrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrrrrMrrrrrrrr6r6rrcraterATestTranforms.test_folding_of_tuples_of_constants..craters   r) rarbrWrVrIreprtuplerangerrr assertEqualrE)r,r^rvr-r load_constsrs r#test_folding_of_tuples_of_constants1TestTranforms.test_folding_of_tuples_of_constantss JD4(tBx0%%dL$?((}=!!$' )(tE%,/0H=   }5*-*>*>t*D?*D!&!=*D ? [)1- $  &!?)(?sAD9D-D- D* cSH`upURUS9 [USS5nURUSU5 URUS5 UR U5 SSS5 Mb g!,(df  Mt=f)N))z a in [1,2,3]r)za not in ["a","b","c"]r)za in [None, 1, None]r)za not in [(1, 2), 3, 4]rr]r_r`rs BUILD_LISTrrs r"test_folding_of_lists_of_constants0TestTranforms.test_folding_of_lists_of_constantssoJD4(tR2%%dL$?((|<!!$' )()(s AA(( A7 c S[1Sk54S[1Sk54S[SS154S[1Sk54S [1Sk544H`upURUS 9 [US S 5nURUS 5 UR USU5 UR U5 SSS5 Mb SnSnUR U"S55 UR U"S5(+5 UR U5 UR U"S5(+5 UR U"S55 UR U5 g!,(df  GM=f)Nz a in {1,2,3}rrMrza not in {"a","b","c"}>rrrza in {None, 1, None}rza not in {(1, 2), 3, 4}>rrrza in {1, 2, 3, 3, 2, 1}r]r_r` BUILD_SETrsc US;$Nrr6rs rr :TestTranforms.test_folding_of_sets_of_constants..fs  > !rc US;$rr6rs rrl:TestTranforms.test_folding_of_sets_of_constants..gs I% %rrr) frozensetrarbrVrWrI assertTrue)r,r^rvr-r rls r!test_folding_of_sets_of_constants/TestTranforms.test_folding_of_sets_of_constantss"Yy1 2 %y'A B #Y4y%9 : & .(A B & )(< = JD4(tR2(({;%%dL$?!!$' )( " & ! AaD! ! AaD! ! !')(s AD<< E cSHupURUS9 [USS5nURUSU5 [R"U5H-nUR UR RS55 M/ URU5 SSS5 M [SSS5nURUSS5 URUSS 5 URU5 [S SS5nURUSS 5 URS S -UR5 URU5 [S SS5nURUSS5 URSS-UR5 URU5 [SSS5nURUSS5 URSS-UR5 URU5 g!,(df  GM=f)N))z a = 2+3+4r)z"@"*4z@@@@)za="abc" + "def"abcdef)za = 3**4Q)za = 3*4 )z a = 13//4r)za = 14%4rM)za = 2+3r)za = 13-4r)za = (12,13)[1] )z a = 13 << 24)z a = 13 >> 2r)z a = 13 & 7r)z a = 13 ^ 7 )z a = 13 | 7r]r_r`rsBINARY_za=2+"b"rMrz a="x"*10000rrOz a=1<<1000irz a=2**1000) rarbrWrr assertFalser startswithrI assertNotInr)r,r^rvr-rs r#test_folding_of_binops_on_constants1TestTranforms.test_folding_of_binops_on_constantssJD"4(tR2%%dL$? 11$7E$$U\\%<%.negzero=sr))z-"abc"abcUNARY_NEGATIVE)z~"abc"r UNARY_INVERT) rarbrWrrrrrrI)r,r^rvr-rrrs r%test_folding_of_unaryops_on_constants3TestTranforms.test_folding_of_unaryops_on_constants,sF JD4(tR2%%dL$? 11$7E$$U\\%<% ?3 '"# D4(tR2%%dL$?%%d3!!$' )( # !)(()(sA9EAE1 E. 1 F cSnURUSS5 [R"U5Vs/sHnURS:XdMUPM nnUR [ U5S5 UR U5 gs snf)NcU$rir6rNs rr /TestTranforms.test_elim_extra_return..fQsHrrsr'r)rVrrrrrErIr,r rreturnss rtest_elim_extra_return$TestTranforms.test_elim_extra_returnOst    L$7&)&:&:1&==&=U"\\^;&== Wq) !=s A<A<cFSnURU5 URUS5 URUS5 [R"U5Vs/sHnURS:XdMUPM nnUR [ U5S5 URU5 gs snf)NcU(aU$U$rir6)cond true_value false_values rr 1TestTranforms.test_elim_jump_to_return..f[s"&J &$ &rr&r%r'rM)r1rVrrrrrErIrs rtest_elim_jump_to_return&TestTranforms.test_elim_jump_to_returnYs & "   N3   O4&)&:&:1&==&=U"\\^;&== Wq) !=s B)BcNSnURU5 URU5 g)Ncr[(a"[(d [(a [5 gg[ 5 gri)rrdfoobazr6rrr 6TestTranforms.test_elim_jump_to_uncond_jump..fis"qAqErr1rIr,r s rtest_elim_jump_to_uncond_jump+TestTranforms.test_elim_jump_to_uncond_jumpgs%  " !rcNSnURU5 URU5 g)NcfW(a*[(d [(a [5nU(aM)ggri)rrrrs rr 7TestTranforms.test_elim_jump_to_uncond_jump2..fvsAqA !rrrs rtest_elim_jump_to_uncond_jump2,TestTranforms.test_elim_jump_to_uncond_jump2ts%  " !rc|SnURU5 URU5 UR[US5S5 SnURU5 URU5 UR[US5S5 SnURU5 URU5 UR[US5S5 UR[US5S5 SnURU5 URU5 UR[US5S5 UR[US5S5 g) Nc*U=(a U=(a U$rir6rs rr 7TestTranforms.test_elim_jump_to_uncond_jump3..fsW1 rrSrMc*U=(d U=(d U$rir6rs rr rsV! rrTc*U=(a U=(d U$rir6rs rr rsW1 rrc*U=(d U=(a U$rir6rs rr rsV! r)r1rIrrrs rtest_elim_jump_to_uncond_jump3,TestTranforms.test_elim_jump_to_uncond_jump3s$  " ! 04GH!L  " ! 04FGK  " ! 04GH!L 04FGK  " ! 04GH!L 04FGKrc,SnURU5 g)NcN[S5HnUS:dM [U5 M g)Nrr)rprint)is rr 7TestTranforms.test_elim_jump_to_uncond_jump4..fs1Xq5!Hr)r1rs rtest_elim_jump_to_uncond_jump4,TestTranforms.test_elim_jump_to_uncond_jump4s  "rc$SnURUS5 URUS5 [R"U5Vs/sHnURS:XdMUPM nnUR [ U5S5 UR U5 gs snf)Nc&U(agU(agg)NrrMrr6)cond1cond2s rr 5TestTranforms.test_elim_jump_after_return1..fsQQrr&r%r'r)rVrrrassertLessEqualrErIrs rtest_elim_jump_after_return1*TestTranforms.test_elim_jump_after_return1s    N3   O4&)&:&:1&==&=U"\\^;&== S\1- !=s B B cPSnURUS5 URU5 g)NcSSjnU$)Ncgrir6r6rrrlBTestTranforms.test_make_function_doesnt_bail..f..gsr)returnrMr6)rls rr 7TestTranforms.test_make_function_doesnt_bail..fs  Hr BINARY_OP)rVrIrs rtest_make_function_doesnt_bail,TestTranforms.test_make_function_doesnt_bails'    K0 !rc/SQnUHnURUS9 [USS5n[R"U5HnUR UR R S55 UR UR R S55 UR UR R S55 M URU5 SSS5 M g!,(df  M=f)N) z3 * -5z-3 * 5z 2 * (3 * 4)z (2 * 3) * 4z (-1, 2, 3)z (1, -2, 3)z (1, 2, -3)z(1, 2, -3) * 6z:lambda x: x in {(3 * -5) + (-1 - 6), (1, -2, 3) * 2, None})er_r`rrBUILD_)rarbrrrrrrI)r,exprsr r-rs rtest_constant_folding#TestTranforms.test_constant_foldings  A"q"h/ 11$7E$$U\\%<%.containtestsA; rrrrrrI)r,rs rtest_in_literal_list"TestTranforms.test_in_literal_lists-  0lKQO +&rcdSnUR[US5S5 URU5 g)Nc*[[4HnM grirrrNs rforloop8TestTranforms.test_iterate_literal_list..forloopsVrrrr)r,rs rtest_iterate_literal_list'TestTranforms.test_iterate_literal_lists/  0,GK '"rcZSnURU"5S5 URU5 g)NcgNrr6r6rrr =TestTranforms.test_condition_with_binop_with_bools..fsrr)rrIrs r$test_condition_with_binop_with_bools2TestTranforms.test_condition_with_binop_with_boolss)  a  !rcZSnURU"S55 URU5 g)NcU(agg)NTFr6rNs rr 3TestTranforms.test_if_with_if_expression..fs %rT)rrIrs rtest_if_with_if_expression(TestTranforms.test_if_with_if_expressions'  $  !rc,SnURU5 g)Ncg)Nrr6rNs rr +TestTranforms.test_trailing_nops..fsr)rIrs rtest_trailing_nops TestTranforms.test_trailing_nopss  !rcSnUR[US5S5 SnUR[US5S5 SnUR[US5S5 SnUR[US5S5 g)NcT[VVs/sHn[U5oPM snn$s snnfrirr rOys rlistcompGTestTranforms.test_assignment_idiom_in_comprehensions..listcomp" 1q!1Q4QAq1 11$FOR_ITERrcT[VVs1sHn[U5oiM snn$s snnfrir2r3s rsetcompFTestTranforms.test_assignment_idiom_in_comprehensions..setcompr7r8cV[VVs0sHn[U5oU_M snn$s snnfrir2r3s rdictcompGTestTranforms.test_assignment_idiom_in_comprehensions..dictcomps&"#4!QadqDA!4 44s%cS[5$)Nc3:# UHn[U5o"v M g7fri)r )r8rOr4s rr:YTestTranforms.test_assignment_idiom_in_comprehensions..genexpr.. s1q!1Q4QAqsrr6rrgenexprFTestTranforms.test_assignment_idiom_in_comprehensions..genexpr s 1q1 1r)rr)r,r5r;r>rCs r'test_assignment_idiom_in_comprehensions5TestTranforms.test_assignment_idiom_in_comprehensionssv 2 0:FJ 2 0*EqI 5 0:FJ 2 0*EqIrcpuc ,Sn/[SS5Q[SS5Q[SS5Q[[S5[S5*4S 5Qn/[S S 5QS PS PnUHupEUHupg[[U5S-5Hvn[ X5Hdn SSR U 5-U-U-U-n UR XS9 X-n [U <S3SU05n URXSU <35 SSS5 Mf Mx M M g!,(df  M=f)Nz-+ #0)r_1234uабвгsra)i.duioxX)|EJ@g|EJ duifegFEGinffegFEG)r_130)r_.z.0z.2)r_.40)rRrTr%r_)fmtvaluez % (x,)rOzfmt = ) rfloatrrErjoinraevalr) r,flags testcases width_precsrWsuffixwidthprecrspecrVs1s2s rtest_format_combinations&TestTranforms.test_format_combinationss> -u 5 ]H - 2K @ eElU5\M2H =   _&; <    'ME* s5zA~.A ,U 6!BGGDM1E9D@6I!\\c\?!$B!%w&7#u!FB ,,Rx[A@?!7/ +' @?s >-D  Dc0SnURU"S5S5 URU"SS5S5 URU"SS5S5 URU"SS5S5 URU"S S5S 5 URU"SS 5S 5 URU"S S 5S 5 URU"SS 5S5 URU"SS5S5 URU"SS5S5 URU"SSS5S5 g)Nc  [[U55Vs/sH nSUS-3PM nn[U5S:Xa SUS-S-nOSSRU5-S-n[U<SU3[ [ X1555$s snf) NrOr(rz,)z, )z % )rrErYrZdictzip)rVvaluesrvarsargss rformat.TestTranforms.test_format_misc..format(s',S['9:'9!a!uI'9D:4yA~T!W}t+TYYt_,s23'TF+T#d2C-DE E ;sBstringzx = %s!rKz x = 1234!zx = %d!zx = %x!zx = 4d2!zx = %f!zx = 1234.000000!rMzx = 1234.5678901!zx = 1234.567890!z x = %s%% %%%%z x = 1234% %%z%% %sz x = %% %s!zx = %s, y = %dr"zx = 12, y = 34)r)r,rps rtest_format_miscTestTranforms.test_format_misc's  F )84  40+>  40+>  40*=  402DE  <8:MN  <8:LM  <8+F 6G  73\B  0"b9;KLrcUR[S5 [S5 SSS5 UR[S5 [SSSS.5 SSS5 UR[S5 [S S S 05 SSS5 UR[S5 [S S S 05 SSS5 UR[S5 [S S S 05 SSS5 UR[S5 [SS S 05 SSS5 UR[S5 [SS S05 SSS5 UR[S5 [SS S05 SSS5 UR[S5 [SS S05 SSS5 UR[S5 [SS S05 SSS5 UR[S5 [SS/S.5 SSS5 UR[S5 [SSSS/S.5 SSS5 g!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN|=f!,(df  GNa=f!,(df  GNF=f!,(df  GN+=f!,(df  GN=f!,(df  N=f!,(df  g=f)Nz¬ enough arguments for format stringz '%s' % ()z4not all arguments converted during string formattingz '%s' % (x, y)rrMr3zincomplete formatz '%s%' % (x,)rOrKz'%s%%%' % (x,)z '%s%z' % (x,)zunsupported format characterz'%s%z' % (x, 5)z"a real number is required, not strz '%d' % (x,)rIz!an integer is required, not floatz '%x' % (x,)g ףp=J@zan integer is required, not strzmust be real number, not strz '%f' % (x,)z'%s, %s' % (x, *y)r)assertRaisesRegex TypeErrorrZ ValueErrorr,s rtest_format_errors TestTranforms.test_format_errors<sL  # #I<>  > # #IJL "2 3L # #J0C D #t -E  # #J0C D !C; /E  # #I<> 3+ .> # #J0N O "S$K 0P  # #I/S T f .U  # #I/R S g /T  # #I/P Q f .R  # #I/M N f .O  # #I<> %QR'8 9> # #IJL %QaV'< =LL5>>LLE D D D>>P O T T S S Q Q N N>>LLs H H2/II I(6I:#J J=J0*KKK% H/2 I I I%( I7: J  J J-0 J? K K"% K3c.SnURUS5 g)Nc XpXpgrir6rs rr 5TestTranforms.test_static_swaps_unpack_two..f\s qqrrrVrs rtest_static_swaps_unpack_two*TestTranforms.test_static_swaps_unpack_two[s    F+rc.SnURUS5 g)Nc4XUp!nXUpnXUp nXUpnXUpnXUpngrir6rs rr 7TestTranforms.test_static_swaps_unpack_three..fbs:A!AA!AA!AA!AA!AA!A!rrrrs rtest_static_swaps_unpack_three,TestTranforms.test_static_swaps_unpack_threeas    F+rc[SSS5HIupnSUSUSUS3nURU5 [U5nURUS5 SSS5 MK g!,(df  M]=f) N_a_b_cz{'a': z, 'b': z, 'c': }r)rrarrV)r,rrrrr-s rtest_static_swaps_match_mapping-TestTranforms.test_static_swaps_match_mappingkshtT40GA!s'!GA3b9Gg&7@((v6'&1&&s A A+ c/SQn[SSS5HXup#nUHLnURX#U5nURU5 [U5nUR US5 SSS5 MN MZ g!,(df  Md=f)N)z C({}, {}, {})zC({}, {}, c={})zC({}, b={}, c={})zC(a={}, b={}, c={})rrrr)rrprarrV)r,formsrrrformrr-s rtest_static_swaps_match_class+TestTranforms.test_static_swaps_match_classrss  tT40GA!++aA.\\'*;GDD,,T6:+*1+*s A// A> c:1Skn/SQn[SSS5Hpup4nUHdnURX4U5nURU5 [U5nXq;aUR US5 OUR US5 SSS5 Mf Mr g!,(df  M|=f)N>*_, b, ca, *_, ca, b, *_)z {}, {}, {}z {}, {}, *{}z {}, *{}, {}z *{}, {}, {}rrrr)rrprarrWrV) r,swapsrrrrrrr-s r test_static_swaps_match_sequence.TestTranforms.test_static_swaps_match_sequences4KtT40GA!++aA.\\'*;GDD'--dF;00v>+*1+*s 6B  B r6N)+__name__ __module__ __qualname____firstlineno__r1rIrXrerwr|rrrrrrrrrrrrrrr rrrr$r)r.rErrequires_resourcerertr{rrrrr__static_attributes__r6rrr!r!'sD" 9  (6  ('"R (>+ Z .!(F   LB#$(,' #  J u%B&B.M*>>, ,7 ; ?rr!c,\rSrSrSrSrSrSrSrg) TestBugletsicvSnUR[5 U"5 SSS5 g!,(df  g=f)NcSS1upX4$r"r6r3s rr %TestBuglets.test_bug_11510..fsq6DA4Kr) assertRaisesryrs rtest_bug_11510TestBuglets.test_bug_11510s(   z * C+ * *s* 8cn[S5Hn[e g![=(d [a M'f=f)Nr)r Exception)r,rs rtest_bpo_42057TestBuglets.test_bpo_42057s3rA )   s 44c[SSS5 g)Nzwhile True or spam: passr rbrzs rtest_bpo_45773_pop_jump_if_true+TestBuglets.test_bpo_45773_pop_jump_if_trues*Hf=rc[SSS5 g)Nzwhile True or not spam: passrr rrzs r test_bpo_45773_pop_jump_if_false,TestBuglets.test_bpo_45773_pop_jump_if_falses.&Arr6N) rrrrrrrrrr6rrrrs>Brrct\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrg)TestMarkingVariablesAsUnKnownicUR[R[R"55 [R"S5 gri) addCleanupsyssettracegettracerzs rsetUp#TestMarkingVariablesAsUnKnown.setUps&  clln5 Trc.SnURUS5 g)NcSnX-ngr"r6r3s rr DTestMarkingVariablesAsUnKnown.test_load_fast_known_simple..fsAArLOAD_FAST_LOAD_FASTrWrs rtest_load_fast_known_simple9TestMarkingVariablesAsUnKnown.test_load_fast_known_simples  a!67rcRSnURUS5 URUS5 g)Nc<[5(aSn[W5 gr" conditionrrNs rr FTestMarkingVariablesAsUnKnown.test_load_fast_unknown_simple..fs{{ !HrLOAD_FAST_CHECK LOAD_FASTrWrVrs rtest_load_fast_unknown_simple;TestMarkingVariablesAsUnKnown.test_load_fast_unknown_simple*  a!23   K0rcRSnURUS5 URUS5 g)Nc SnA[W5 gr"rrNs rr KTestMarkingVariablesAsUnKnown.test_load_fast_unknown_because_del..fsA !Hrrrrrs r"test_load_fast_unknown_because_del@TestMarkingVariablesAsUnKnown.test_load_fast_unknown_because_delrrcSnURUS5 URUS5 SnURUS5 URUS5 SnURUS5 URUS5 SnURUS5 URUS5 SSjnURUS5 URUS5 g) Nc[U5 grirrNs rf1PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter..f1 !Hrrrc[U5 grirrNs rf2PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter..f2rrc[U5 grir)ros rf3PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter..f3s $Krc[U5 grir)kwargss rf4PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter..f4s &Mrc[U5 grirrNs rf5PTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameter..f5rr)rr)r,rrrrrs r&test_load_fast_known_because_parameterDTestMarkingVariablesAsUnKnown.test_load_fast_known_because_parameters  b+.   %67  b+.   %67  b+.   %67  b+.   %67  b+.   %67rcRSnURUS5 URUS5 g)NcR[5(aSn[W5 [U5 gr"rrNs rr TTestMarkingVariablesAsUnKnown.test_load_fast_known_because_already_loaded..fs{{ !H !Hrrrrrs r+test_load_fast_known_because_already_loadedITestMarkingVariablesAsUnKnown.test_load_fast_known_because_already_loadeds*  a!23 a-rcRSnURUS5 URUS5 g)NcB[5(aSnOSn[U5 g)NrrMrrNs rr OTestMarkingVariablesAsUnKnown.test_load_fast_known_multiple_branches..fs{{ !Hrrrrrs r&test_load_fast_known_multiple_branchesDTestMarkingVariablesAsUnKnown.test_load_fast_known_multiple_branchess*  a-   $56rc.SnURUS5 g)Nc4SS- nU$![a W$f=fNrr)ZeroDivisionError)ress rr KTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error..fs0 !eJ% J s  rrrs r"test_load_fast_unknown_after_error@TestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_errors  a!23rcRSnURUS5 URUS5 g)Nc ZSS- S=n=n=n=n=n=pVg! [WWWWWWW5 N#=frr)rrrrr r rls rr MTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error_2..fsN +A)* )A ) )A ) )A )A +aAq!Q*s*rrrrs r$test_load_fast_unknown_after_error_2BTestMarkingVariablesAsUnKnown.test_load_fast_unknown_after_error_2s* * a!23   K0rc^SnURUSS5 URUSS5 URUSS5 SH1nURUSS US 35 URUSS US 35 M3 S H1nURUSS US 35 URUSS US 35 M3 S H1nURUSS US 35 URUSS US 35 M3 URUSS 5 URUSS 5 URUSS5 URUSS5 g)NcS=n=n=n=n=n=n=n=n=pS=n =n =n =n =n=n=n=n=nnS=n=n=n=n=n=n=n=n=nnS=n=n=n =n!=n"=n#=n$=n%=n&n'S=n(=n)=n*=n+=n,=n-=n.=n/=n0n1S=n2=n3=n4=n5=n6=n7=n8=n9=n:n;S=n<=n==n>=n?=n@=nA=nB=nC=nDnES=nF=nG=nH=nI=nJ=nK=nL=nM=nNnOAHAI[WI5 [UFUGWHUI5 [XU>U?5 [W@WAWNWO5 Mr"r)Pa00a01a02a03a04a05a06a07a08a09a10a11a12a13a14a15a16a17a18a19a20a21a22a23a24a25a26a27a28a29a30a31a32a33a34a35a36a37a38a39a40a41a42a43a44a45a46a47a48a49a50a51a52a53a54a55a56a57a58a59a60a61a62a63a64a65a66a67a68a69a70a71a72a73a74a75a76a77a78a79sP rr GTestMarkingVariablesAsUnKnown.test_load_fast_too_many_locals..f sHI IC I# I Ic IC I# I Ic ICHI IC I# I Ic IC I# I Ic IC#HI IC I# I Ic IC I# I Ic IC#HI IC I# I Ic IC I# I Ic IC#HI IC I# I Ic IC I# I Ic IC#HI IC I# I Ic IC I# I Ic IC#HI IC I# I Ic IC I# I Ic IC#HI IC I# I Ic IC I# I Ic IC#S #J #sC %cS)c3S)rr)rrrrr)>?rr02)@ANO)FGrKrLr)r,r rs rtest_load_fast_too_many_localsUS:Xa.URS:XaSUl[R"S5 gT$Nr^rrf_linenorrframeeventargtraces rrhMTestMarkingVariablesAsUnKnown.test_setting_lineno_no_undefined..traceE05>>Q#6!" T"Lr) r r r rWrVr rrr assertIsNoner)r,r-nsr rresultrhs @r test_setting_lineno_no_undefined>TestMarkingVariablesAsUnKnown.test_setting_lineno_no_undefined2s   T sG a-   $56**$$  U &! a-   $56 ++W5rc,^[R"S5n0n[X5 USnURUS5 UR US5 UR R nU4SjmSnUR[U5 [R"T5 U"5nSSS5 URWS5 URUS5 UR US5 URUR R U5 g!,(df  Nk=f)Na def f(): x = y = 2 if not x: return 4 for i in range(55): x + 6 del x L = 8 L = 9 L = 10 r rrcp>US:Xa.URS:XaSUl[R"S5 gT$rarbrds rrhNTestMarkingVariablesAsUnKnown.test_setting_lineno_one_undefined..traceerjrz!assigning None to 1 unbound localr r r r rWrVr rassertWarnsRegexRuntimeWarningrrrr,r-rlr rr rmrhs @r!test_setting_lineno_one_undefined?TestMarkingVariablesAsUnKnown.test_setting_lineno_one_undefinedRs   T sG a-   $56**$$  1  " ">1 5 LL SF6 # a-   $56 ++W5 6 5 D Dc,^[R"S5n0n[X5 USnURUS5 UR US5 UR R nU4SjmSnUR[U5 [R"T5 U"5nSSS5 URWS5 URUS5 UR US5 URUR R U5 g!,(df  Nk=f)Na def f(): x = y = 2 if not x: return 4 for i in range(55): x + 6 del x, y L = 8 L = 9 L = 10 r rrcp>US:Xa.URS:XaSUl[R"S5 gT$rarbrds rrhNTestMarkingVariablesAsUnKnown.test_setting_lineno_two_undefined..tracerjrz"assigning None to 2 unbound localsrrsrvs @r!test_setting_lineno_two_undefined?TestMarkingVariablesAsUnKnown.test_setting_lineno_two_undefinedts   T sG a-   $56**$$  2  " ">1 5 LL SF6 # a-   $56 ++W5 6 5ryc[R"S5n0n[X5 USnURUS5 UR US5 U$)Nz def f(): x = 2 L = 3 L = 4 L = 5 if not L: x + 7 y = 2 r rr)r r r rWrV)r,r-rlr s rmake_function_with_no_checks:TestMarkingVariablesAsUnKnown.make_function_with_no_checkssR   T sG a-   $56rc^UR5nU4Sjm[R"T5 U"5 URUS5 UR US5 g)Nc>US:Xa6URS:Xa&SURS'[R"S5 gT$)Nr^r*rOrcf_localsrrrds rrhTTestMarkingVariablesAsUnKnown.test_modifying_local_does_not_add_check..trace75>>Q#6&(s# T"LrrrrrrrWrVr,r rhs @r'test_modifying_local_does_not_add_checkETestMarkingVariablesAsUnKnown.test_modifying_local_does_not_add_checkJ  - - /  U  a-   $56rc^UR5nU4Sjm[R"T5 U"5 URUS5 UR US5 g)Nc>US:Xa6URS:Xa&SURS'[R"S5 gT$)Nr^rrr4rrds rrhWTestMarkingVariablesAsUnKnown.test_initializing_local_does_not_add_check..tracerrrrrrs @r*test_initializing_local_does_not_add_checkHTestMarkingVariablesAsUnKnown.test_initializing_local_does_not_add_checkrrr6N)rrrrrrrrrrrrrr]rnrwr}rrrrr6rrrrsV8 1184.7 41(5T6@ 6D 6D$ 7 7rrcX\rSrSrSSjrSrSrSrSrSr S r S r S r S r S rg)DirectCfgOptimizerTestsiNcURU5 URU5 UcUnURU5nURXcU5upxURU5R5nUR Xr5 UR X5 gri)check_instructionsseq_from_insts get_optimizedrassertInstructionsMatchr) r,instsexpected_instsconstsexpected_constsnlocalsseq opt_insts opt_constss rcfg_optimization_test-DirectCfgOptimizerTests.cfg_optimization_tests & /  "$O!!%( $ 2 23 H ,,^<MMO $$Y? 5rcSSUR5=nS4SSUSS/nSSUR5=nS4SUS /nURUU/S Q/S QS 9 g) N LOAD_NAMEr rTrrsrMrr'Nrrsrr'Nr)rurr)rurMrrrrMrr)rrMrrrLabelrr,lblrrs r1test_conditional_jump_forward_non_const_conditionIDirectCfgOptimizerTests.test_conditional_jump_forward_non_const_conditionsz  !4b 9 ! &  ! &  !  !4b 9 #  #   ""5#1*93< # >rcnSSUR5=nS4SUSS/n/SQnURUU/SQS S /S 9 g) NrsrrrTrrrr)NOPNr)rNr)rurrrrrrrrs r-test_conditional_jump_forward_const_conditionEDirectCfgOptimizerTests.test_conditional_jump_forward_const_conditionsZ "  !4b 9 !  ! &    ""5#1*945q6 # ;rc UR5=nSSUS4SS/nUR5=nSSUS4SS/nURX$[[S55S9 g)NrrTr)rrMrrrrrrr(r)r,lbl1rrexpecteds r2test_conditional_jump_backward_non_const_conditionJDirectCfgOptimizerTests.test_conditional_jump_backward_non_const_conditionsqJJL D r * &  ::< C b ) &   ""54a>"Jrc UR5=nSSUS4SS/nUR5=nSSUS4/nURX$[[S55S 9 g) NrrTrrrrJUMPrrr)r,rrrrs r.test_conditional_jump_backward_const_conditionFDirectCfgOptimizerTests.test_conditional_jump_backward_const_conditionsmJJL D ! r * ! &  ::< C  S"   ""5eAh"Prc SUR5=nS4SSUS/nSUR5=nS4SUS/nURX#[[S55S9 g)N SETUP_FINALLYr) POP_BLOCKN)rurr)rurMrrrr)r,handlerrrs rtest_except_handler_label1DirectCfgOptimizerTests.test_except_handler_label!sn 5gr : # #  #  5gr : #  #   ""5eAh"Prc Z/SQn/SQnURX[[S55SS9 g)N) rsrrrsrrMrsrMr)rrr STORE_FASTrrrPOP_TOPNrrsrrr'Nr)rrrNrrr)rurrrrrrr(rr,rrs rtest_no_unsafe_static_swap2DirectCfgOptimizerTests.test_no_unsafe_static_swap1s0    ""5eAhYZ"[rc Z/SQn/SQnURX[[S55SS9 g)N)rrrrrrrr)rrrrrrurrrrrrrs r*test_dead_store_elimination_in_same_linenoBDirectCfgOptimizerTests.test_dead_store_elimination_in_same_linenoHs0    ""5eAhYZ"[rc Z/SQn/SQnURX[[S55SS9 g)N)rrrrrrrrrrrr)rrrrrrrrrrrrs r2test_no_dead_store_elimination_in_different_linenoJDirectCfgOptimizerTests.test_no_dead_store_elimination_in_different_lineno]s0    ""5eAhYZ"[rc  ^U4SjnSHnSHnSupETRXE4X#4S9 U"XEX#5nSX#4;aSOSnSSUS S 4/nTRXh[[S 55S 9 SSS5 S HoupETRXE4X#4S9 U"XEX#5nUS :waUOUn U S :XaSn SX#4;aSOSnSUS U 4/nTRXh[[S 55S 9 SSS5 Mq M M g!,(df  N=f!,(df  M=f)Nc\>TR5=nSUTR5=oP4SUX4U4/$)Nrrr)rr)r)lno1lno2op1op2lbl2rr,s r get_instsLDirectCfgOptimizerTests.test_unconditional_jump_threading..get_instsus?#zz|+t+TZZ\1T8+4(  r)rJUMP_NO_INTERRUPT)rr)lnoopsrrr)rNrrrr))rr)rr)rr)rrrr)rarr(r) r,rrrrrroprrs ` r!test_unconditional_jump_threading9DirectCfgOptimizerTests.test_unconditional_jump_threadingss> 1C4# \\ SJ\G%d#;E#)cZ#7=PB,(Q &N ..uTRWXYRZ^.\H#GJDTL K )$c ?&*bjdd"9"$C'-#';VAT0CL*225QUV[\]V^Q_2`LK#G51HGLKs?C-AC> - C; > D r6)NNr)rrrrrrrrrrrrrrrr6rrrrsD<@&' 6>,;,K"Q Q \.\*\,(arr__main__)r itertoolsrropcoderr unittesttestrtest.support.bytecode_helperrrrrr!TestCaserrrrmainr6rrrs + R # f ?$f ?RB(##B4V7$4V7rXa5Xat z MMOr