1gLpSrSSKrSSKJrJrJr /SQr/rSrSr Sr 0r \ "\ \ "5\ 5 \Hr\ "\ \-\ "5\ 5 M \"S\4\ 5rC C CC "S S \R$5rSS KJr S r"S S5r"SS5r"SS\R$5r\S:Xa\R6"5 gg)z@Test the functionality of Python classes implementing operators.N) cpython_only import_helper script_helper)$addraddsubrsubmulrmulmatmulrmatmultruedivrtruedivfloordiv rfloordivmodrmoddivmodrdivmodpowrpowrshiftrrshiftlshiftrlshiftandrandorrorxorrxorcontainsgetitemsetitemdelitemnegposabsinitc^U4SjnU$)NcV>[RTRU45 T"U0UD6$N)callLstappend__name__)argskwargsfs 6/opt/alt/python313/lib64/python3.13/test/test_class.pytracktrackCall..trackCs( D)*$!&!!)r2r4s` r3 trackCallr8Bs" Lr6a @trackCall def __hash__(self, *args): return hash(id(self)) @trackCall def __str__(self, *args): return "AllTests" @trackCall def __repr__(self, *args): return "AllTests" @trackCall def __int__(self, *args): return 1 @trackCall def __index__(self, *args): return 1 @trackCall def __float__(self, *args): return 1.0 @trackCall def __eq__(self, *args): return True @trackCall def __ne__(self, *args): return False @trackCall def __lt__(self, *args): return False @trackCall def __le__(self, *args): return True @trackCall def __gt__(self, *args): return False @trackCall def __ge__(self, *args): return True z-@trackCall def __%s__(self, *args): pass AllTestsc\rSrSrSrSrSrSrSrSr Sr S r S r S r S rS rSrSrSrSrSrSrSrSrSrSrSrSrSrSrg) ClassTestsc/[SS&gr,)r-selfs r3setUpClassTests.setUps  r6cT[SSnX:waURSU<SU<35 gg)NzExpected call list: z# does not match actual call list )r-fail)r?expected_callsactualCallLists r3assertCallStackClassTests.assertCallStacks,   + II%~7 8 ,r6cB[5nURSU44/5 g)N__init__)r9rF)r?foos r3testInitClassTests.testInits!j zC6234r6c[5n/[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URS US44/5 /[SS&US- URS US44/5 /[SS&SU- URS US44/5 /[SS&US- URS US44/5 /[SS&SU- URS US44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&[US5 URSUS44/5 /[SS&[SU5 URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 /[SS&US- URSUS44/5 /[SS&SU- URSUS44/5 g)N__add____radd____sub____rsub____mul____rmul__ __matmul__ __rmatmul__ __truediv__ __rtruediv__ __floordiv__ __rfloordiv____mod____rmod__ __divmod__ __rdivmod____pow____rpow__ __rshift__ __rrshift__ __lshift__ __rlshift____and____rand____or____ror____xor____rxor__)r9r-rFrr?testmes r3 testBinaryOpsClassTests.testBinaryOpss   y61+678  F  zFA;789   y61+678  F  zFA;789   y61+678  F  zFA;789   |fa[9:;  F  }vqk:;<   }vqk:;<  F  ~{;<= !  ~{;<=  V   <=>   y61+678  F  zFA;789 va |fa[9:; q& }vqk:;< !  y61+678  V  zFA;789 !  |fa[9:;  V  }vqk:;< !  |fa[9:;  V  }vqk:;<   y61+678  F  zFA;789   x&!567  F  y61+678   y61+678  F  zFA;789r6c [5n"SS5nSU"5; URS5 /[SS&SU; UR SUS44/5 /[SS&US UR SUS44/5 /[SS&SUS'UR SUSS44/5 /[SS&US UR SUS44/5 /[SS&USS  UR SU[ SS 544/5 /[SS&S USS &UR SU[ SS 5S 44/5 /[SS&USS 2 UR SU[ SS 544/5 /[SS&US S S 2 UR SU[ S S S 544/5 /[SS&SUS S S 2'UR SU[ S S S 5S44/5 /[SS&US S S 2 UR SU[ S S S 544/5 /[SS&USS 2SSS2SS4 UR SU[ SS S5[ [ SSS5SS444/5 /[SS&SUSS 2SSS2SS4'UR SU[ SS S5[ [ SSS5SS4S44/5 /[SS&USS 2SSS2SS4 UR SU[ SS S5[ [ SSS5SS444/5 g![a GNf=f)Nc\rSrSrSrg),ClassTests.testListAndDictOps..Emptyir7Nr/ __module__ __qualname____firstlineno____static_attributes__r7r6r3EmptyrqsTr6rwrNz$failed, should have raised TypeError __contains__ __getitem__ __setitem__ __delitem__*z The Answeri zA lot.dStrange)r9rC TypeErrorr-rFsliceEllipsis)r?rlrws r3testListAndDictOpsClassTests.testListAndDictOpss   L II< =  V  ~{;<= q  }vqk:;< q  }vq!n=>? 1I }vqk:;< s  }vuT2.GHIJ "s  }vuT2/;/=>? @ 3B3K }vuT2.GHIJ qby }vuQb7I.JKLM #qby }vuQb7IDK/MNO P 1T"9  }vuQb7I.JKLM ssC"r3&' }vdB8M8@8=dB8M8:C8A/BCD E *3ssC"r3&' }vdB8M8@8=dB8M8:C8ACL/MNO P 3B3TbT2s* + }vdB8M8@8=dB8M8:C8A/BCD Eu   sK KKc6[5n/[SS&U* URSU44/5 /[SS&U7 URSU44/5 /[SS&[U5 URSU44/5 /[SS&[ U5 URSU44/5 /[SS&[ U5 URSU44/5 /[SS&[ U5 URSU44/5 /[SS&[U5 URSU44/5 g)N__neg____pos____abs____int__ __float__ __index__)r9r-rFr(intfloatocthexrks r3 testUnaryOpsClassTests.testUnaryOpsXs  y6)456  y6)456  F  y6)456  F  y6)456  f  {VI678  F  {VI678  F  {VI678r6cN[5n/[SS&[U5 URSU44/5 /[SS&[ U5 URSU44/5 /[SS&[ U5 URSU44/5 /[SS&US:H URSUS44/5 /[SS&US: URSUS44/5 /[SS&US: URSUS44/5 /[SS&US:g URSUS44/5 /[SS&SU:H URSSU44/5 /[SS&SU: URSSU44/5 /[SS&SU: URSSU44/5 /[SS&SU:g URSSU44/5 g) N__hash____repr____str__rN__eq____lt____gt____ne__)r9r-hashrFreprstrrks r3testMiscClassTests.testMiscrs  V  zF9567  V  zF9567  F  y6)456 !  x&!567   x&!567   x&!567 !  x&!567  V  x!V567  F  x!V567  F  x!V567  V  x!V567r6c"SS[5nU"5n/[SS&UR URSUS44/5 /[SS&SUlURSUSS44/5 /[SS&U?URSUS 44/5 g) NcD\rSrSr\S5r\S5r\S5rSrg)/ClassTests.testGetSetAndDel..ExtraTestsicg)NSomeValr7r?r0s r3 __getattr__;ClassTests.testGetSetAndDel..ExtraTests.__getattr__s r6cgr,r7rs r3 __setattr__;ClassTests.testGetSetAndDel..ExtraTests.__setattr__r6cgr,r7rs r3 __delattr__;ClassTests.testGetSetAndDel..ExtraTests.__delattr__rr6r7N) r/rsrtrur8rrrrvr7r6r3 ExtraTestsrs<  ! !    r6rrspamzspam, spam, spam and hamreggsrcardinal)r9r-rrFrr)r?rrls r3testGetSetAndDelClassTests.testGetSetAndDels     }vv.>?@A 0  }vv/I/KLM N O }vz.BCDEr6c$SSKnSSKJn UR"S5n"SS5nU"5nUR UR US5S5 UR UR US5S5 UR UR55 g) Nr)r_testlimitedcapic\rSrSrSrSrg)'ClassTests.testHasAttrString..AicSUlgNrNattrr>s r3rI0ClassTests.testHasAttrString..A.__init__s  r6rNr/rsrtrurIrvr7r6r3Ars r6rsattrrNsnoattr)sys test.supportr import_module assertEqualobject_hasattrstring assertIsNone exception)r?rrrras r3testHasAttrStringClassTests.testHasAttrStrings}.(667IJ   C )>>q'JAN )>>q)LaP #--/*r6c^/m"U4SjS5nU"5nASSKnUR5 URS/T5 g)Nc">\rSrSrU4SjrSrg)#ClassTests.testDel..DelTestic(>TRS5 g)Ncrab people, crab people)r.r?xs r3__del__+ClassTests.testDel..DelTest.__del__s34r6r7Nr/rsrtrurrvrsr3DelTestrs  5 5r6rrr)gccollectr)r?rrlrrs @r3testDelClassTests.testDels>  5 5   45q9r6c "SS5nSn[[[[[[ [ [[U4 HnUR[X1"55 M g)Nc6\rSrSrSr\r\r\r\r\r \r \r Sr g)4ClassTests.testBadTypeReturned..BadTypeClassicgr,r7r>s r3r.BadTypeClass.__int__r6r7N) r/rsrtrurr __complex__rr __bytes____bool__rrvr7r6r3 BadTypeClassrs* I!KGHIHIr6rc /U$r,r7rs r3index-ClassTests.testBadTypeReturned..indexs a5Lr6) rcomplexrrbytesbinrrbool assertRaisesr)r?rrr2s r3testBadTypeReturnedClassTests.testBadTypeReturnedsG  #tUCc4OA   iLN ;Pr6c"SS5n[U"55 "SS5nUR[[U"55 g)Nc\rSrSrSrg)$ClassTests.testHashStuff..C0ir7Nrrr7r6r3C0r r6rc\rSrSrSrSrg)$ClassTests.testHashStuff..C2icgrr7r?others r3r+ClassTests.testHashStuff..C2.__eq__sAr6r7N)r/rsrtrurrvr7r6r3C2rs -r6r)rrr)r?rrs r3 testHashStuffClassTests.testHashStuffs7   RT  . . )T240r6c n[5n"SS5nU"5nSnUHnURU5 UR[[ [US555 UR[[ XS555 UR[[ X%S555 UR[[ X5S555 SSS5 M /SQnSnUR [ SRU55 UR [ SRU55 UR [ SRU55 UHnURU5 UR[[U55 UR[X55 UR[X%55 UR[X555 SSS5 M UR[US 55 UR[US 55 g!,(df  GM=f!,(df  M=f) Nc\rSrSrSrg).ClassTests.testPredefinedAttrs..Customir7Nrrr7r6r3Customrrr6r) __class__r__dir__r __format____ge____getattribute__ __getstate__rrrI__init_subclass____le__rr__new__ __reduce__ __reduce_ex__rr __sizeof__r__subclasshook__)'r __aenter__ __aexit__ __aiter__ __anext__ __await__rr__ceil__rrxr __delete__r{r] __enter____exit__r __floor____get__rryrr __invert____iter____len____length_hint__ __missing__r__next__ __objclass__rr^ __reversed__ __round____set__rz __trunc__) rrrrr rr rrrrr z__{}__z__r{}__z__i{}____call__) objectsubTest assertTruecallablegetattrextendmapformat assertFalsehasattr)r?orcmethodsname not_definedaugments r3testPredefinedAttrsClassTests.testPredefinedAttrss H   H Dd#t)D EF$)? @At)D EF$)? @A $#    3x893y//9:3y//9:Dd#  !67  !12  !67  !12 $#  J/0 J/0C$#2$#sBH!A.H% H" % H4 c"SS5nU"5UlU"5nU"5 URS5 g![a gf=f)Nc\rSrSrSrg)%ClassTests.testSFBug532646..Ai0r7Nrrr7r6r3rr90rr6rzFailed to raise RecursionError)r$rCRecursionError)r?rrs r3testSFBug532646ClassTests.testSFBug532646-sI  S C 8 C II6 7   s8 AAcb^Sm"U4SjS5nU"5R "U4SjS5nU"5U"5:H "U4SjS 5nU"5 URS 5 g![a-n[U5S:waURSU-5 SnANuSnAff=f![a gf=f) Nc[S5e)Nbooh)AttributeErrorr>s r3r?BClassTests.testForExceptionsRaisedInInstanceGetattr2..booh?s  ( (r6c(>\rSrSr\"Y5rSrg)?ClassTests.testForExceptionsRaisedInInstanceGetattr2..AiBr7N)r/rsrtrupropertyrrvr?sr3rrCBs Ar6rr?z(attribute error for A().a got masked: %sc(>\rSrSr\"Y5rSrg)?ClassTests.testForExceptionsRaisedInInstanceGetattr2..EiJr7N)r/rsrtrurDrrvrEsr3ErGJs d^Fr6rHc(>\rSrSr\"Y5rSrg)?ClassTests.testForExceptionsRaisedInInstanceGetattr2..IiNr7N)r/rsrtrurDrIrvrEsr3IrJNs ~Hr6rKz)attribute error for I.__init__ got masked)rr@rrC)r?rrrHrKr?s @r3)testForExceptionsRaisedInInstanceGetattr24ClassTests.testForExceptionsRaisedInInstanceGetattr2<s )   J CEE  $ $ qs  & & C C IIA B# J1v DqHI J   s)A'B!' B1#BB! B.-B.cUR[5 X: SSS5 UR[5 X: SSS5 UR[5 X:* SSS5 UR[5 X: SSS5 g!,(df  Nu=f!,(df  Nd=f!,(df  NS=f!,(df  g=fr,)rr)r?rbs r3assertNotOrderableClassTests.assertNotOrderableYs   y ) E*   y ) E*   y ) F*   y ) F* ) * ) ) ) ) ) ) )s.B BB,<B= B B), B:= C c"SS5n"SSU5nU"S5nU"S5nURURUR:H5 URURUR:g5 URURUR:H5 URURUR:g5 URURUR:H5 URURUR:g5 UR URUR5 UR [ UR5[ UR55 URURUR:H5 URURUR:g5 URURUR:H5 URURUR:g5 URURUR:H5 URURUR:g5 UR URUR5 UR [ UR5[ UR55 U"[ UR5S- 5n[ UR5 g)Nc2\rSrSrSrSrSrSrSrSr g) 1ClassTests.testHashComparisonOfMethods..AiecXlgr,rrs r3rI:ClassTests.testHashComparisonOfMethods..A.__init__fsr6cgr,r7r>s r3r23ClassTests.testHashComparisonOfMethods..A.fhr6cgr,r7r>s r3g3ClassTests.testHashComparisonOfMethods..A.gjrYr6cg)NTr7rs r3r8ClassTests.testHashComparisonOfMethods..A.__eq__lrr6c[er,)rr>s r3r:ClassTests.testHashComparisonOfMethods..A.__hash__nsr6rN) r/rsrtrurIr2r[rrrvr7r6r3rrTes     r6rc\rSrSrSrg)1ClassTests.testHashComparisonOfMethods..Bipr7Nrrr7r6r3Brbprr6rcrN)r'r2r-r[rPrr)r?rrca1a2rs r3testHashComparisonOfMethods&ClassTests.testHashComparisonOfMethodscs   qT qT  % & &  % &  % bdd+ bddT"$$Z0 % rtt $ $ qss # qss # $ QSS) accDI. d133in  QSS r6c"SS5nSn[SS5nURUS5 [RXU5 UR U"5S-S5 [SS5nURUS5 URXC5 [R X5 UR [5 U"5S- SSS5 g!,(df  g=f) Nc\rSrSrSrg)2ClassTests.testSetattrWrapperNameIntern..Air7Nrrr7r6r3rrkrr6rcg)Nsummar7rs r3r4ClassTests.testSetattrWrapperNameIntern..addsr6s__add__asciirOrNrm)r assertIsNottyperrrrr)r?rrr2name2s r3testSetattrWrapperNameIntern'ClassTests.testSetattrWrapperNameInterns   :w' y) #& q'*J(  * % "   y ) C!G* ) )s 5 C  Cc"SS5nUR[5 [RUSS5 SSS5 g!,(df  g=f)Nc\rSrSrSrg).ClassTests.testSetattrNonStringName..Air7Nrrr7r6r3rrwrr6rx)rrrqr)r?rs r3testSetattrNonStringName#ClassTests.testSetattrNonStringNames:    y )   Qd +* ) )s A Ac"SS5nSnUR[U5 UR SSS5 UR[U5 U?SSS5 g!,(df  N0=f!,(df  g=f)Nc\rSrSrSrg):ClassTests.testTypeAttributeAccessErrorMessages..Air7Nrrr7r6r3rr}rr6rz$type object 'A' has no attribute 'x')assertRaisesRegexr@r)r?r error_msgs r3$testTypeAttributeAccessErrorMessages/ClassTests.testTypeAttributeAccessErrorMessagess\  ;  # #NI > CC?  # #NI >? >? > > >s AA+ A(+ A9c"SS5n"SS5n"SS5nSnUR[U5 U"5R SSS5 UR[U5 U"5?SSS5 SnUR[U5 U"5R SSS5 UR[U5 U"5?SSS5 UR[S 5 S U"5lSSS5 UR[S 5 S U"5lSSS5 S nUR[U5 U"5?SSS5 UR[U5 S U"5lSSS5 S nUR[U5 U"5R SSS5 UR[U5 U"5?SSS5 g!,(df  GN=f!,(df  GN{=f!,(df  GN[=f!,(df  GNG=f!,(df  GN.=f!,(df  GN=f!,(df  N=f!,(df  N=f!,(df  N=f!,(df  g=f)Nc\rSrSrSrg).Air7Nrrr7r6r3rrrr6rc\rSrSrSrSrSrg).Bir)zr7N)r/rsrtruy __slots__rvr7r6r3rcrs AIr6rcc0^\rSrSrSrSU4SjjrSrU=r$).Ci)rcR>US:Xa[TU]SS5 g[TU]X5 g)NrrrN)superr)r?r2valuers r3rHClassTests.testObjectAttributeAccessErrorMessages..C.__setattr__s&3;G'Q/G'4r6r7)returnN)r/rsrtrurrrv __classcell__rs@r3CrsI 5 5r6rz'A' object has no attribute 'x'z'B' object has no attribute 'x'zJ'B' object has no attribute 'x' and no __dict__ for setting new attributesrz'C' object has no attribute 'x'z%'B' object attribute 'y' is read-onlyr)r~r@rrr)r?rrcrrs r3&testObjectAttributeAccessErrorMessages1ClassTests.testObjectAttributeAccessErrorMessagess     5 56  # #NI > CEE?  # #NI >?6  # #NI > CEE?  # #NI >?  # #  X ACE   # #  - ACE  <  # #NI >?  # #NI >ACE?  # #NI > CEE?  # #NI >? >=? > > >? > > >    ? > > >? > > >swG'G#G5?H% H H+=H=# III0 G # G25 H H H(+ H:= I  I I-0 I>c"SS5nSnUR[S5 U"S5 SSS5 UR[S5 URUS5 SSS5 UR[U5 U"5RS5 SSS5 UR[S5 [RUS5 SSS5 UR[U5 [RU"5S5 SSS5 "SS5nSnUR[U5 U"S5 SSS5 UR[U5 URUS5 SSS5 UR[U5 [RUS5 SSS5 "S S 5nS nUR[U5 U"5RS5 SSS5 UR[U5 [RU"5S5 SSS5 g!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GN=f!,(df  GNl=f!,(df  GNK=f!,(df  GN,=f!,(df  GN =f!,(df  N=f!,(df  g=f) Nc\rSrSrSrg)2ClassTests.testConstructorErrorMessages..Cir7Nrrr7r6r3rrrr6rzHC.__init__\(\) takes exactly one argument \(the instance to initialize\)zC\(\) takes no argumentsr|c4^\rSrSrU4SjrU4SjrSrU=r$)2ClassTests.testConstructorErrorMessages..Dic.>[TU]"U/UQ70UD6 gr,)rr )clsr0r1rs r3r :ClassTests.testConstructorErrorMessages..D.__new__s5d5f5r6c&>[TU]"U0UD6 gr,rrIr?r0r1rs r3rI;ClassTests.testConstructorErrorMessages..D.__init__ $1&1r6r7)r/rsrtrur rIrvrrs@r3Drs 6 2 2r6rzIobject.__new__\(\) takes exactly one argument \(the type to instantiate\)c(^\rSrSrU4SjrSrU=r$)2ClassTests.testConstructorErrorMessages..Ei c&>[TU]"U0UD6 gr,rrs r3rI;ClassTests.testConstructorErrorMessages..E.__init__ rr6r7)r/rsrtrurIrvrrs@r3rHr s  2 2r6rHzMobject.__init__\(\) takes exactly one argument \(the instance to initialize\))r~rr rIr%)r?rrrrHs r3testConstructorErrorMessages'ClassTests.testConstructorErrorMessagess  `  # #I/J K bEL # #I/J K IIa L # #Iy 9 CLL : # #I/J K NN1b !L # #Iy 9 OOAC $: 2 2 b  # #Iy 9 bE: # #Iy 9 IIa : # #Iy 9 NN1b !: 2 2e  # #Iy 9 CLL : # #Iy 9 OOAC $: 9WL KL K: 9L K: 9: 9: 9: 9: 9: 9sw H H0;I0I%I&+ I8J JJ.9J? H-0 H? I I#& I58 J J J+. J<? K cZ"SS[5nSU0n"SS40UD6nURUS045 "SS/SQ70UD6nURU[[S 55045 "S SS /[S S 5Q70UDS S0D6nURU[[S 55S S045 g)Nc \rSrSrSrSrSrg)-ClassTests.testClassWithExtCall..Metaicgr,r7)r0r1s r3rI6ClassTests.testClassWithExtCall..Meta.__init__rYr6cX$4$r,r7)rr2basesattrsr1s r3r 5ClassTests.testClassWithExtCall..Meta.__new__s }$r6r7N)r/rsrtrurIr rvr7r6r3Metars   %r6r metaclassc\rSrSrSrg)*ClassTests.testClassWithExtCall..Ai"r7Nrrr7r6r3rr"sdr6rr7c\rSrSrSrg)ri$r7Nrrr7r6r3rr$sdr6)rrNr}c\rSrSrSrg)ri&r7Nrrr7r6r3rr&s$r6rrNrJbar)rrtuplerange)r?rdrs r3testClassWithExtCallClassTests.testClassWithExtCalls %3 %$ ! RH%22!2 U58_b1266E!QK616%6 U58_uen=>r6c^"U4SjS5mUR[5 T"5 SSS5 U4SjnUR[5 U"5 SSS5 g!,(df  N:=f!,(df  g=f)Nc">\rSrSrU4SjrSrg)1ClassTests.testClassCallRecursionLimit..Ci*c>T"5Ulgr,r0)r?rs r3rI:ClassTests.testClassCallRecursionLimit..C.__init__+s r6rNrrsr3rr*s   r6rc>T"5 gr,r7rsr3 add_one_level=ClassTests.testClassCallRecursionLimit..add_one_level1s Cr6)rr:)r?rrs @r3testClassCallRecursionLimit&ClassTests.testClassCallRecursionLimit)s[    ~ . C/   ~ . O/ ./ ./ .sA A1 A.1 A?c^Sm"U4SjS[5n"SSUS9n[S5H nU"U5 M URTS5 g)Nrc">\rSrSrU4SjrSrg)?ClassTests.testMetaclassCallOptimization..TypeMetaclassi;cB>TS- m[R"U/UQ70UD6$r)rqr$)rr0r1callss r3r$HClassTests.testMetaclassCallOptimization..TypeMetaclass.__call__<s% }}S:4:6::r6r7N)r/rsrtrur$rv)rsr3 TypeMetaclassr;s  ; ;r6rc\rSrSrSrSrg)6ClassTests.testMetaclassCallOptimization..TypeiAcXlgr,_obj)r?objs r3rI?ClassTests.testMetaclassCallOptimization..Type.__init__Bs r6rNrr7r6r3TyperAs r6r)rr)rqrr)r?rrirs @r3testMetaclassCallOptimization(ClassTests.testMetaclassCallOptimization8sG ;D ;  ] sA G $r6r7N)r/rsrtrur@rFrKrmrrrrrrrrr5r;rLrPrgrsryrrrrrrrvr7r6r3r;r;s85u:nGER94-8`F< + :<$ 111f 8C:&P(,/b5%n?" %r6r;)has_inline_valuesrc\rSrSrSrg)PlainiNr7Nrrr7r6r3rrNsr6rc\rSrSrSrSrg) WithAttrsiRc<SUlSUlSUlSUlg)NrNr}rrrrOr0rr>s r3rIWithAttrs.__init__Tsr6rNrr7r6r3rrRsr6rc|\rSrSrSrSrSrSrSr\ S5r Sr S r S r S rS rS rSr\S5rSrg)TestInlineValuesi[cUR[R[-[5 UR[R[-[5 gr,)rr __flags__Py_TPFLAGS_MANAGED_DICTrr>s r3 test_flagsTestInlineValues.test_flags]s: +BBD[\ ,,/FFH_`r6c[5nUR[U55 U?UR [U55 gr,)rr'r__dict__r-)r?r0s r3test_has_inline_values'TestInlineValues.test_has_inline_valuesas4 G )!,- J *1-.r6cUR[[555 UR[[555 gr,)r'rrrr>s r3test_instancesTestInlineValues.test_instancesgs* )%'23 ))+67r6c[[4H0nU"5nUR UR[ U55 M2 gr,)rrrr'r)r?rr0s r3test_inspect_dict"TestInlineValues.test_inspect_dictks19%CA JJ OO-a0 1&r6cSSS.n[[4H?nU"5nURRU5 UR [ U55 MA g)Nrr)er2)rrrupdater'r)r?rrr0s r3test_update_dict!TestInlineValues.test_update_dictqsF1 9%CA JJ  a OO-a0 1&r6cH[S5Hn[USU3U5 M gNrr)rsetattr)rrs r3set_100TestInlineValues.set_100xs"sA C1QC! $r6cf[S5H"nUR[USU35U5 M$ gr)rrr))r?rrs r3 check_100TestInlineValues.check_100}s-sA   WSAaS'2A 6r6c"SS5nU"5nUR[U55 URU5 UR[U55 UR U5 U"5nUR[U55 g)Nc\rSrSrSrg)0TestInlineValues.test_many_attributes..Cir7Nrrr7r6r3rr r6r)r'rrr-r)r?rr0s r3test_many_attributes%TestInlineValues.test_many_attributessd C )!,- Q *1-. q C )!,-r6c"SS5nU"5nURnUR[U55 URU5 UR [U55 UR U5 g)Nc\rSrSrSrg):TestInlineValues.test_many_attributes_with_dict..Cir7Nrrr7r6r3rrr r6r)rr'rrr-r)r?rr0rs r3test_many_attributes_with_dict/TestInlineValues.test_many_attributes_with_dictsT C JJ )!,- Q *1-. qr6c"SS5nU"5nURUR05 SUlURURSS05 g)zAborted on 3.13a6c\rSrSrSrSrg)+TestInlineValues.test_bug_117750..Cic8URR5 gr,)rclearr>s r3rI4TestInlineValues.test_bug_117750..C.__init__s ##%r6r7Nrr7r6r3rrs &r6rNrJ)rrrJ)r?rrs r3test_bug_117750 TestInlineValues.test_bug_117750sH & &c r* d|4r6cp"SS5nU"5nU?SUlURURS5 g)Nc\rSrSrSrg):TestInlineValues.test_store_attr_deleted_dict..Fooir7Nrrr7r6r3Foorrr6rr)rrr)r?rr2s r3test_store_attr_deleted_dict-TestInlineValues.test_store_attr_deleted_dicts5   E J a r6c "SS5nU"5nSURS'U?"SS[5nUR[X#"S555 "SS5nXBlUR X$5 UR UR05 g) Nc\rSrSrSrg).Fooir7Nrrr7r6r3rr$4r6rrNrc\rSrSrSrg)DTestInlineValues.test_rematerialize_object_dict..StrSubclassir7Nrrr7r6r3 StrSubclassr'sr6r(c\rSrSrSrg).Barir7Nrrr7r6r3Barr*r%r6r+)rrr-r.rassertIsInstancer)r?rr2r(r+s r3test_rematerialize_object_dict/TestInlineValues.test_rematerialize_object_dictsu  E 6 J %#$ K$789   a% R(r6c^^^"UU4SjS5m"U4SjS5mTR TR T"5TlT"5Tlg)zZVerifies that the type cache doesn't provide a value which is inconsistent from the dict.c$>\rSrSrUU4SjrSrg)6TestInlineValues.test_store_attr_type_cache..Xic\>TRnTRUTRS5 g)Nr)rrr) inner_selfvrr?s r3r>TestInlineValues.test_store_attr_type_cache..X.__del__s$CC  AJJsO4r6r7Nr)rr?sr3Xr1s  5 5r6r6c&>\rSrSrY"5rSrg)6TestInlineValues.test_store_attr_type_cache..Cir7N)r/rsrtrurrv)r6sr3rr8s Ar6rN)r)r?rr6s`@@r3test_store_attr_type_cache+TestInlineValues.test_store_attr_type_caches; 5 5     ccr6c[R"S5 Sn[R"SU5up#nUR US5 UR X3R S5S9 UR XDR S5S9 g)N _testcapiaTif 1: import test.support import _testcapi class A: def __init__(self): self.a = 1 self.b = 2 a = A() d = a.__dict__ with test.support.catch_unraisable_exception() as ex: _testcapi.set_nomemory(0, 1) del a assert ex.unraisable.exc_type is MemoryError try: d["a"] except KeyError: pass else: assert False, "KeyError not raised" z-crzutf-8)msg)rrrassert_python_okrr-decode)r?codercouterrs r3'test_detach_materialized_dict_no_memory8TestInlineValues.test_detach_materialized_dict_no_memorysu ##K0 *%55dDA  Q **W"56 **W"56r6r7N)r/rsrtrurrrrr staticmethodrrr rrr r-r9rrDrvr7r6r3rr[sga/ 82 2%%7. 5!)$&77r6r__main__)__doc__unittestrrrr testmethsr-r8 statictestsmethod_templaterexecglobalsmethodrqr%r9TestCaser;_testinternalcapirrrrrr/mainr7r6r3rSsBCC-  v  0 h [')QF6 !79a0  VIq ){FO~ %""~ %B0!  O7x((O7b z MMOr6