j".٢ ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlmZddlmZ ddlZn #e$rdZYnwxYwddlmZddlmZddlmZmZmZmZmZm Z ddl!m"Z"ddl#m$Z$dd lm%Z%dd l&m'Z'dd lm(Z( e'5ddl)Z*dddn #1swxYwYn #e$rdZ*YnwxYwej+e j,d kd Z-e.ej/dzZ0dZ1dZ2dZ3Gddej4Z5Gdde6Z7GddZ8GddZ9Gdde9Z:Gdde9Z;GddZ<Gd d!Z=ddl>Z>e9e>_9d"e9_?e:e>_:d"e:_?e;e>_;d"e;_?Gd#d$e@ZAGd%d&e9ZBGd'd(eCZDGd)d*e6eD+ZEGd,d-eCZFd.ZGGd/d0eHZIGd1d2eJZKe Gd3d4ZLd5ZMd6ZNd7ZOd8ZPd9ZQd:ZRd;ZSdZVd?ZWd@ZXdAZYdBZZge[e\e]e^e_e`eaebecedeeefegeheeiejekelemeneoepeqereseteuevewexeyeze{e|e}e~eeeeeeeRZdCZdDZdEZGdFdGZGdHdIZGdJdKZGdLdMe6ZGdNdOe6ZGdPdQe6ZGdRdSe6ZGdTdUe6ZGdVdWe6ZGdXdYe6ZGdZd[e6ZGd\d]e@ZGd^d_eZGd`daeZGdbdceZGdddeeZGdfdgeZGdhdieZGdjdkeZGdldmeZGdndoeZeeeeeeeeeeg ZGdpdqe@ZGdrdseZGdtdueZGdvdwe@aGdxdytVZGdzd{tVZGd|d}ZGd~dZGddZGddZGddZdZGdde6ZGdde6ZdZGddZGddZGddZed"krddl mZeZe.ej/dzD]ZejeeZedee.deedD]6ZeHeeedzZedeĦ7edeedeedeeeededSdS)N)dedent) SimpleCookie)support) os_helper) TestFailedrun_with_locale no_tracing_2G_4G bigmemtest)forget)TESTFN)threading_helper)save_restore_warnings_filters) bytes_typeslz(test is only meaningful on 32-bit buildsc~tj|D]'\}}}|j|dkrdS(dS)Nlatin-1TF pickletoolsgenopscodedecode)rpickleopdummys 8/opt/alt/python311/lib64/python3.11/test/pickletester.pyopcode_in_pickler;sM'.v66E5 7dkk),, , ,44 - 5cd}tj|D])\}}}|j|dkr|dz }*|S)Nrrrr)rrnrrs r count_opcoder"BsP A'.v66E5 7dkk),, , , FA Hrc|SNxs ridentityr(Js Hrc&eZdZdZdZdZdZdS) UnseekableIOctr$)NotImplementedErrorselfargss rpeekzUnseekableIO.peekOs!!rcdS)NFr%r.s rseekablezUnseekableIO.seekableRsurctjr$ioUnsupportedOperationr-s rseekzUnseekableIO.seekU %%rctjr$r5r2s rtellzUnseekableIO.tellXr9rN)__name__ __module__ __qualname__r0r3r8r;r%rrr*r*NsP"""&&&&&&&&rr*ceZdZdZdZdS) MinimalIOz= A file-like object that doesn't support readinto(). ctj||_|jj|_|jj|_|jj|_|jj|_dSr$)r6BytesIO_biogetvaluereadreadlinewriter-s r__init__zMinimalIO.__init__`sBJ%  * IN  * Y_ rN)r<r=r>__doc__rHr%rrr@r@\s-%%%%%rr@ceZdZdZdZdS)ExtensionSaverc||_|tjvrEtj||_tj|jd|jd|dSd|_dSNrr)rcopyreg_inverted_registrypairremove_extension)r.rs rrHzExtensionSaver.__init__usX 7- - -248DI  $TYq\49Q< F F F F FDIIIrc|j}tj|}|"tj|d|d||j}|$tj|d|d|dSdSrM)rrNrOgetrQrP add_extension)r.rcurpairrPs rrestorezExtensionSaver.restore~szy,0066    $WQZT B B By    !$q'47D 9 9 9 9 9  rN)r<r=r>rHrVr%rrrKrKrs2:::::rrKceZdZdZdS)Cc"|j|jkSr$)__dict__r.others r__eq__zC.__eq__s}..rN)r<r=r>r]r%rrrXrXs#/////rrXceZdZdZdS)DcdSr$r%)r.args rrHz D.__init__ rNr<r=r>rHr%rrr_r_s#     rr_ceZdZdZdS)EcdSNr%r%r2s r__getinitargs__zE.__getinitargs__srrN)r<r=r>rhr%rrreres#rreceZdZdS)ObjectNr<r=r>r%rrrjrjDrrjceZdZdZdZdS)Kc||_dSr$)value)r.rps rrHz K.__init__  rc t|jffSr$)rnrpr2s r __reduce__z K.__reduce__s4:-rN)r<r=r>rHrsr%rrrnrns2     rrn__main__ceZdZdZdS)myintc.t||_dSr$str)r.r's rrHzmyint.__init__sq66rNrcr%rrrvrvs#rrvceZdZdZdZdS)initargc"||_||_dSr$ab)r.r~rs rrHzinitarg.__init__src|j|jfSr$r}r2s rrhzinitarg.__getinitargs__svtv~rN)r<r=r>rHrhr%rrr{r{s2rr{ceZdZdS) metaclassNrkr%rrrrrlrrceZdZdS) use_metaclassNrkr%rrrrrlrr)rceZdZdZdZdS)pickling_metaclasscbt|t|ko|j|jkSr$)type reduce_argsr[s rr]zpickling_metaclass.__eq__s.T d5kk)6 E$55 7rct|jfSr$)create_dynamic_classrr2s rrszpickling_metaclass.__reduce__s$d&677rN)r<r=r>r]rsr%rrrrs277788888rrcRt||t}||f|_|Sr$)rdictr)namebasesresults rrrs( eTVV 4 4FF MrcDeZdZdZdZdZdZdZdZeZ e dZ dS) ZeroCopyBytesTc|dkr*t|jtj|fdfSt|jt |ffSNr _reconstructr PickleBufferbytesr.protocols r __reduce_ex__zZeroCopyBytes.__reduce_ex__K q==::*V-@-F-F,H$N N::*U4[[N: :rc\d|jjt|SNz{}({!r})format __class__r<rr2s r__repr__zZeroCopyBytes.__repr__#  !8%++FFFrct|5}|j}t||ur|cdddS||cdddS#1swxYwYdSr$ memoryviewobjrclsrms rrzZeroCopyBytes._reconstruct __ %CCyyC         s3xx                   A AAAN r<r=r>readonly c_contiguous f_contiguouszero_copy_reconstructrr__str__ classmethodrr%rrrrsjHLL ;;; GGGG  [   rrcDeZdZdZdZdZdZdZdZeZ e dZ dS)ZeroCopyBytearrayFTc|dkr*t|jtj|fdfSt|jt |ffSrrrs rrzZeroCopyBytearray.__reduce_ex__rrc\d|jjt|Srrr2s rrzZeroCopyBytearray.__repr__rrct|5}|j}t||ur|cdddS||cdddS#1swxYwYdSr$rrs rrzZeroCopyBytearray._reconstructrrNrr%rrrrsjHLL ;;; GGGG  [   rrceZdZdZdZdZedZedZedZ dZ dZ d Z d Z ed Zd S) PicklableNDArrayFc2tj|i||_dSr$) _testbufferndarrayarrayr.r/kwargss rrHzPicklableNDArray.__init__ s$,d=f==DJJJrcrt|}||}|j||_|Sr$)r__new__r)r.idxrnews r __getitem__zPicklableNDArray.__getitem__ s0t**C++c""C 3CIJrc|jjSr$)rrr2s rrzPicklableNDArray.readonlys :& &rc|jjSr$)rrr2s rrzPicklableNDArray.c_contiguous :* *rc|jjSr$)rrr2s rrzPicklableNDArray.f_contiguousrrcrt|tstS|jj|jjko|jj|jjkog|jj|jjkoM|jj|jjko3|j|jkSr$) isinstancerNotImplementedrrshapestridesrtobytesr[s rr]zPicklableNDArray.__eq__se%566 &%%K&$**;;BK%)99BK'4:+==BK(DJ,??BK''))TZ-?-?-A-AA  CrcHt|tstS||k Sr$)rrrr[s r__ne__zPicklableNDArray.__ne__'s(e%566 &%% & &rct|d|jjd|jjd|jdS)Nz(shape=z ,strides=z, bytes=))rrrrrr2s rrzPicklableNDArray.__repr__,s]Dzz55$**:55#z155!Z//11555 6rc|jjstd|jj|jj|jj|jrdn tjd}tj |j}|dkrt|j ||ffS| 5}t|j ||ffcdddS#1swxYwYdS)Nz>Reconstructing a non-contiguous ndarray does not seem possibler)rrrflagsr)r contiguousr,rrrrr ND_WRITABLErrrrrawr)r.rndarray_kwargspbrs rrzPicklableNDArray.__reduce_ex__1s3:( L)+KLLL'+z'7)-);(, (9-1])E-8-D GGN $TZ00B1}}T /^,..VVXX; JJ3YY[[.9;;;;;;;;;;;;;;;;;;;s*CCCct|5}t|}dddn #1swxYwY||fi|Sr$)rlistr)rrrritemss rrzPicklableNDArray._reconstructDsC *AQYY[[)) * * * * * * * * * * * * * * *3u'''' 's">AAN)r<r=r>rrHrpropertyrrrr]rrrrrr%rrrrs!& > > >     ' '  '  + +  +  + +  + C C C ' ' '  6 6 6  ; ; ;&  ( (  ( ( (rrs;(lp0 L0L aL1L aF2.0 ac__builtin__ complex p1 (F3.0 F0.0 tp2 Rp3 aL1L aL-1L aL255L aL-255L aL-256L aL65535L aL-65535L aL-65536L aL2147483647L aL-2147483647L aL-2147483648L a(Vabc p4 g4 ccopy_reg _reconstructor p5 (c__main__ C p6 c__builtin__ object p7 Ntp8 Rp9 (dp10 Vfoo p11 L1L sVbar p12 L2L sbg9 tp13 ag13 aL5L a.an 0: ( MARK 1: l LIST (MARK at 0) 2: p PUT 0 5: L LONG 0 9: a APPEND 10: L LONG 1 14: a APPEND 15: F FLOAT 2.0 20: a APPEND 21: c GLOBAL '__builtin__ complex' 42: p PUT 1 45: ( MARK 46: F FLOAT 3.0 51: F FLOAT 0.0 56: t TUPLE (MARK at 45) 57: p PUT 2 60: R REDUCE 61: p PUT 3 64: a APPEND 65: L LONG 1 69: a APPEND 70: L LONG -1 75: a APPEND 76: L LONG 255 82: a APPEND 83: L LONG -255 90: a APPEND 91: L LONG -256 98: a APPEND 99: L LONG 65535 107: a APPEND 108: L LONG -65535 117: a APPEND 118: L LONG -65536 127: a APPEND 128: L LONG 2147483647 141: a APPEND 142: L LONG -2147483647 156: a APPEND 157: L LONG -2147483648 171: a APPEND 172: ( MARK 173: V UNICODE 'abc' 178: p PUT 4 181: g GET 4 184: c GLOBAL 'copy_reg _reconstructor' 209: p PUT 5 212: ( MARK 213: c GLOBAL '__main__ C' 225: p PUT 6 228: c GLOBAL '__builtin__ object' 248: p PUT 7 251: N NONE 252: t TUPLE (MARK at 212) 253: p PUT 8 256: R REDUCE 257: p PUT 9 260: ( MARK 261: d DICT (MARK at 260) 262: p PUT 10 266: V UNICODE 'foo' 271: p PUT 11 275: L LONG 1 279: s SETITEM 280: V UNICODE 'bar' 285: p PUT 12 289: L LONG 2 293: s SETITEM 294: b BUILD 295: g GET 9 298: t TUPLE (MARK at 172) 299: p PUT 13 303: a APPEND 304: g GET 13 308: a APPEND 309: L LONG 5 313: a APPEND 314: . STOP highest protocol among opcodes = 0 s]q(KKG@c__builtin__ complex q(G@GtqRqKJKJJMJJJJJ(Xabcqhccopy_reg _reconstructor q(c__main__ C qc__builtin__ object qNtqRq }q (Xfooq KXbarq Kubh tq h Ke.a 0: ] EMPTY_LIST 1: q BINPUT 0 3: ( MARK 4: K BININT1 0 6: K BININT1 1 8: G BINFLOAT 2.0 17: c GLOBAL '__builtin__ complex' 38: q BINPUT 1 40: ( MARK 41: G BINFLOAT 3.0 50: G BINFLOAT 0.0 59: t TUPLE (MARK at 40) 60: q BINPUT 2 62: R REDUCE 63: q BINPUT 3 65: K BININT1 1 67: J BININT -1 72: K BININT1 255 74: J BININT -255 79: J BININT -256 84: M BININT2 65535 87: J BININT -65535 92: J BININT -65536 97: J BININT 2147483647 102: J BININT -2147483647 107: J BININT -2147483648 112: ( MARK 113: X BINUNICODE 'abc' 121: q BINPUT 4 123: h BINGET 4 125: c GLOBAL 'copy_reg _reconstructor' 150: q BINPUT 5 152: ( MARK 153: c GLOBAL '__main__ C' 165: q BINPUT 6 167: c GLOBAL '__builtin__ object' 187: q BINPUT 7 189: N NONE 190: t TUPLE (MARK at 152) 191: q BINPUT 8 193: R REDUCE 194: q BINPUT 9 196: } EMPTY_DICT 197: q BINPUT 10 199: ( MARK 200: X BINUNICODE 'foo' 208: q BINPUT 11 210: K BININT1 1 212: X BINUNICODE 'bar' 220: q BINPUT 12 222: K BININT1 2 224: u SETITEMS (MARK at 199) 225: b BUILD 226: h BINGET 9 228: t TUPLE (MARK at 112) 229: q BINPUT 13 231: h BINGET 13 233: K BININT1 5 235: e APPENDS (MARK at 3) 236: . STOP highest protocol among opcodes = 1 s]q(KKG@c__builtin__ complex qG@GqRqKJKJJMJJJJJ(Xabcqhc__main__ C q)q}q(XfooqKXbarq Kubhtq h Ke.u 0: € PROTO 2 2: ] EMPTY_LIST 3: q BINPUT 0 5: ( MARK 6: K BININT1 0 8: K BININT1 1 10: G BINFLOAT 2.0 19: c GLOBAL '__builtin__ complex' 40: q BINPUT 1 42: G BINFLOAT 3.0 51: G BINFLOAT 0.0 60: † TUPLE2 61: q BINPUT 2 63: R REDUCE 64: q BINPUT 3 66: K BININT1 1 68: J BININT -1 73: K BININT1 255 75: J BININT -255 80: J BININT -256 85: M BININT2 65535 88: J BININT -65535 93: J BININT -65536 98: J BININT 2147483647 103: J BININT -2147483647 108: J BININT -2147483648 113: ( MARK 114: X BINUNICODE 'abc' 122: q BINPUT 4 124: h BINGET 4 126: c GLOBAL '__main__ C' 138: q BINPUT 5 140: ) EMPTY_TUPLE 141:  NEWOBJ 142: q BINPUT 6 144: } EMPTY_DICT 145: q BINPUT 7 147: ( MARK 148: X BINUNICODE 'foo' 156: q BINPUT 8 158: K BININT1 1 160: X BINUNICODE 'bar' 168: q BINPUT 9 170: K BININT1 2 172: u SETITEMS (MARK at 147) 173: b BUILD 174: h BINGET 6 176: t TUPLE (MARK at 113) 177: q BINPUT 10 179: h BINGET 10 181: K BININT1 5 183: e APPENDS (MARK at 5) 184: . STOP highest protocol among opcodes = 2 s]q(KKG@cbuiltins complex qG@GqRqKJKJJMJJJJJ(Xabcqhc__main__ C q)q}q(XbarqKXfooq Kubhtq h Ke.u 0: € PROTO 3 2: ] EMPTY_LIST 3: q BINPUT 0 5: ( MARK 6: K BININT1 0 8: K BININT1 1 10: G BINFLOAT 2.0 19: c GLOBAL 'builtins complex' 37: q BINPUT 1 39: G BINFLOAT 3.0 48: G BINFLOAT 0.0 57: † TUPLE2 58: q BINPUT 2 60: R REDUCE 61: q BINPUT 3 63: K BININT1 1 65: J BININT -1 70: K BININT1 255 72: J BININT -255 77: J BININT -256 82: M BININT2 65535 85: J BININT -65535 90: J BININT -65536 95: J BININT 2147483647 100: J BININT -2147483647 105: J BININT -2147483648 110: ( MARK 111: X BINUNICODE 'abc' 119: q BINPUT 4 121: h BINGET 4 123: c GLOBAL '__main__ C' 135: q BINPUT 5 137: ) EMPTY_TUPLE 138:  NEWOBJ 139: q BINPUT 6 141: } EMPTY_DICT 142: q BINPUT 7 144: ( MARK 145: X BINUNICODE 'bar' 153: q BINPUT 8 155: K BININT1 2 157: X BINUNICODE 'foo' 165: q BINPUT 9 167: K BININT1 1 169: u SETITEMS (MARK at 144) 170: b BUILD 171: h BINGET 6 173: t TUPLE (MARK at 110) 174: q BINPUT 10 176: h BINGET 10 178: K BININT1 5 180: e APPENDS (MARK at 5) 181: . STOP highest protocol among opcodes = 2 s](KKG@builtinscomplexG@GRKJKJJMJJJJJ(abch__main__C)}(barKfooKubh thKe.u 0: € PROTO 4 2: • FRAME 168 11: ] EMPTY_LIST 12: ” MEMOIZE 13: ( MARK 14: K BININT1 0 16: K BININT1 1 18: G BINFLOAT 2.0 27: Œ SHORT_BINUNICODE 'builtins' 37: ” MEMOIZE 38: Œ SHORT_BINUNICODE 'complex' 47: ” MEMOIZE 48: “ STACK_GLOBAL 49: ” MEMOIZE 50: G BINFLOAT 3.0 59: G BINFLOAT 0.0 68: † TUPLE2 69: ” MEMOIZE 70: R REDUCE 71: ” MEMOIZE 72: K BININT1 1 74: J BININT -1 79: K BININT1 255 81: J BININT -255 86: J BININT -256 91: M BININT2 65535 94: J BININT -65535 99: J BININT -65536 104: J BININT 2147483647 109: J BININT -2147483647 114: J BININT -2147483648 119: ( MARK 120: Œ SHORT_BINUNICODE 'abc' 125: ” MEMOIZE 126: h BINGET 6 128: Œ SHORT_BINUNICODE '__main__' 138: ” MEMOIZE 139: Œ SHORT_BINUNICODE 'C' 142: ” MEMOIZE 143: “ STACK_GLOBAL 144: ” MEMOIZE 145: ) EMPTY_TUPLE 146:  NEWOBJ 147: ” MEMOIZE 148: } EMPTY_DICT 149: ” MEMOIZE 150: ( MARK 151: Œ SHORT_BINUNICODE 'bar' 156: ” MEMOIZE 157: K BININT1 2 159: Œ SHORT_BINUNICODE 'foo' 164: ” MEMOIZE 165: K BININT1 1 167: u SETITEMS (MARK at 150) 168: b BUILD 169: h BINGET 10 171: t TUPLE (MARK at 119) 172: ” MEMOIZE 173: h BINGET 14 175: K BININT1 5 177: e APPENDS (MARK at 13) 178: . STOP highest protocol among opcodes = 4 s%c__builtin__ set q]q(KKeqRq.s%c__builtin__ xrange qKKKqRq.scCookie SimpleCookie q)qUkeyqcCookie Morsel q)q(UcommentqUqUdomainqhUsecureqhUexpiresq hUmax-ageq hUversionq hUpathq hUhttponlyq hu}q(U coded_valueqUvalueqhhhhubs}qb.s"c__builtin__ set q]qKaqRq.scexceptions ? q)Rq.sIcexceptions UnicodeEncodeError q(UasciiqXfooqKKUbadqtqRq.c:t}d|_d|_gd}d}d}d}|dd|| | dz || | dz || | dz g dd||f}|||||d |S) Nr)rrg@y@abcr)rXfoobarextendappend)cr'uint1maxuint2maxint4maxys r create_datar,s A AE AEAHHGHHa H9Q; H9Q;'WHQJ0111 q!AHHQKKKHHQKKKHHQKKK HrceZdZeZd/dZdZdZdZdZ dZ dZ d Z d Z d Zd Zd ZdZdZdZdZdZedZedZdZdZdZdZdZedZedZedZ dZ!dZ"dZ#d Z$d!Z%ed"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/d,Z0d-Z1e2j3e2j4d.Z5dS)0AbstractUnpickleTestsNc |d||}|||||t|t||t |drD||j|j|||j|j|t |dr||j |j ||j D]n}|t ||t ||||t||dt||d|mdSdS)zKUtility method to verify if two objects are copies of each others. Nz{!r} is not a copy of {!r})msgrZ __slots__) r assertEqualassertIsrhasattrassertDictEqualrZ assertIsNotassertListEqualrgetattr)r.robjcopyrslots rassert_is_copyz$AbstractUnpickleTests.assert_is_copyFs ;.55c7CCC g3/// d3iigC 888 3 # # F  w/?S I I I   S\7+;  E E E 3 $ $ H  0As K K K  H H  C&&(>(>C!III  dD!9!9!($!=!=3!HHHH  H H H Hrc x||5||5 ||nE#t$r8}tjdkr"t |dd|jjd|d}~wwxYw dddn #1swxYwYddddS#1swxYwYdS)N)datar32z - z: ) subTest assertRaisesloads BaseExceptionrverboseprintrr<)r.errorsrexcs rcheck_unpickling_errorz,AbstractUnpickleTests.check_unpickling_errorXsb \\t\ $ $     v & &    4        ?Q&&444!7!7!7>???  !                                 sWB/BAB B3BBB B/B B/B B//B36B3cl||j|tdSr$)r _testdatarDATA0r2s rtest_load_from_data0z*AbstractUnpickleTests.test_load_from_data0c, DNDJJu,=,=>>>>>rcl||j|tdSr$)rr rDATA1r2s rtest_load_from_data1z*AbstractUnpickleTests.test_load_from_data1frrcl||j|tdSr$)rr rDATA2r2s rtest_load_from_data2z*AbstractUnpickleTests.test_load_from_data2irrcl||j|tdSr$)rr rDATA3r2s rtest_load_from_data3z*AbstractUnpickleTests.test_load_from_data3lrrcl||j|tdSr$)rr rDATA4r2s rtest_load_from_data4z*AbstractUnpickleTests.test_load_from_data4orrc tdftdftdffD]\}}|jd} dd|}||||| dd|}||||| dd|}|||||dS)Nr%r&asciis(i__main__ X p0 (dp1 b.Xs(c__main__ X qoq}qb.s(c__main__ X qoq}qb.)rXr_rer<encodereplacerr)r.Xr/xnamepickle0pickle1pickle2s rtest_load_classic_instancez0AbstractUnpickleTests.test_load_classic_instancers'B!Vq"g64 ?4 ?GAtJ%%g..E #%,GD%$8$8    4$**W*=*= > > > ./6wtU/C/C    4$**W*=*= > > > ./6wtU/C/C    4$**W*=*= > > > >i4 ?4 ?rc6d}dt|dzdz}||}|||dt|dzdz}|t |dS)NlIr .sJUNK .)ryr rrr  ValueError)r.maxint64rgots r test_maxint64z#AbstractUnpickleTests.test_maxint64s c(mm**7333f<jj Hc***c(mm**7333j@ ##J55555rc|t}||tddg|t}|t |t t d|t|tt d|t}|t |t|t| dg||dj dtD]m}td|jd}||}|t ||n|tdd }|t |t$|t&}|t |t(||jd ||jd||jd||jd||jd dS) Nrrrrkeyrp?r StandardErrorrbad)rDATA_SETrset DATA_XRANGErranger DATA_COOKIErkeysrppython2_exceptions_without_argsexception_pickler!r<r r Exception DATA_UEERRUnicodeEncodeErrorobjectencodingstartendreason)r.loadedr rs rtest_unpickle_from_2xz+AbstractUnpickleTests.test_unpickle_from_2xsSH%% aV---K(( ftE!HH~~666 ftE!HH~~666K(( f|444 fkkmm,,ug666 ,g6663 - -C#++D#,2E2Eg2N2NOODZZ%%F MM$v,, , , , ,,44T;KLLMM d6llI...J'' d6ll$6777 ... '222 q))) Q''' .....rc||ddd||ddd||ddddS)NsS'a\x00\xa0' .rr@sasUa.sUa.rrr2s rtest_load_python2_str_as_bytesz4AbstractUnpickleTests.test_load_python2_str_as_bytess $8-4$667C E E E $6-4$667C E E E $>-4$667C E E E E Erc||ddd||ddd||ddddS)Ns V\u03c0 .rrGuπsXπ.s Xπ.rHr2s r test_load_python2_unicode_as_strz6AbstractUnpickleTests.test_load_python2_unicode_as_strs N-4$667; = = = $A-4$667; = = = $I-4$667; = = = = =rc ||tjt jddzdztjzdddS)N F++-@AAAAArcXd}|tjtf|dS)Ns Bxyzq.r rUnpicklingError OverflowErrorr\s rtest_negative_32b_binbytesz0AbstractUnpickleTests.test_negative_32b_binbytes87 ##V%;]$K$* , , , , ,rcXd}|tjtf|dS)Ns Xxyzq.rbr\s rtest_negative_32b_binunicodez2AbstractUnpickleTests.test_negative_32b_binunicode rfrc\d}|||ddS)Ns €.€rHr\s rtest_short_binunicodez+AbstractUnpickleTests.test_short_binunicodes/5 F++\:::::rc|tjd|tjd|tjd|ddg|ddS)Nsg0 p0sjens:shens:)ds((Kdtp0 hl.)))r rrcrrr2s r test_misc_getz#AbstractUnpickleTests.test_misc_gets ##F$:IFFF ##F$:HEEE ##F$:HEEE VV, JJ'<== ? ? ? ? ?rc\d}|||ddS)Ns€.r[rHr\s rtest_binbytes8z$AbstractUnpickleTests.test_binbytes8s0A F++-@AAAAArc\d}|||ddS)Ns€.rjrHr\s rtest_binunicode8z&AbstractUnpickleTests.test_binunicode8!s/A F++\:::::rcvd}|||tddS)Nsxxx.sxxx)rr bytearrayr\s rtest_bytearray8z%AbstractUnpickleTests.test_bytearray8%s7D F++Yv->->?????rcXd}|tjtf|dS)Ns€.rbr\s rtest_large_32b_binbytes8z.AbstractUnpickleTests.test_large_32b_binbytes8)6A ##V%;]$K$* , , , , ,rcXd}|tjtf|dS)Ns€.rbr\s rtest_large_32b_bytearray8z/AbstractUnpickleTests.test_large_32b_bytearray8/rxrcXd}|tjtf|dS)Ns€.rbr\s rtest_large_32b_binunicode8z0AbstractUnpickleTests.test_large_32b_binunicode85rxrcd}||}||gfdz||d|ddS)Ns((lp100000 g100000 t.rrrrrrr.pickled unpickleds rtest_getzAbstractUnpickleTests.test_get;sV,JJw''  RE!G,,, ilIaL11111rcd}||}||gfdz||d|ddS)Ns(]qht.rrrr~rs r test_bingetz!AbstractUnpickleTests.test_bingetAsV#JJw''  RE!G,,, ilIaL11111rcd}||}||gfdz||d|ddS)Ns(]rjt.rrrr~rs rtest_long_bingetz&AbstractUnpickleTests.test_long_bingetGsV;JJw''  RE!G,,, ilIaL11111rcd}||}||gfdz||d|ddS)Ns((l2t.rrrr~rs rtest_dupzAbstractUnpickleTests.test_dupMsVJJw''  RE!G,,, ilIaL11111rc@d}|t|dS)NsVa p-1 .r r+r\s rtest_negative_putz'AbstractUnpickleTests.test_negative_putSs# ##J77777rc@d}|t|dS)NsXar.rr\s rtest_negative_32b_binputz.AbstractUnpickleTests.test_negative_32b_binputXs&A ##J77777rc<|tddS)NsS'\' .rr2s rtest_badly_escaped_stringz/AbstractUnpickleTests.test_badly_escaped_string^s ##J <<<< B B B B C Crcpgd}|D].\}}||||/dS)N))sS'' .rW)sS"" .rW)sS"\n" . )sS'\n' .rrH)r. goodpicklesrexpecteds rtest_correctly_quoted_stringz2AbstractUnpickleTests.test_correctly_quoted_stringssU--- ' 6 6KAx   TZZ]]H 5 5 5 5 6 6rc\d}|||ddS)NsI42 .*rH)r.rs rtest_frame_readlinez)AbstractUnpickleTests.test_frame_readline{s1G G,,b11111rcd}||}|t|t||tdd|t |gdd}|||t jd}|||tj dD]j}d|zd z}||}|t|t|t|d kd D]v}d |zd z}||}|t|tj ||tj ddiwdS)Nsc__builtin__ xrange KKKR.r)rrrsc__builtin__ reduce .scwhichdb whichdb .)s Exceptionr2scexceptions s UughR.ugh)sUserDictsIterableUserDicts (cUserDict s o}Udata}KKssb.r)rrrr7rr functoolsreducedbmwhichdbr<ry collectionsUserDict)r.rrrs rtest_compat_unpicklez*AbstractUnpickleTests.test_compat_unpicklesHJJw''  d9oou--- E!QKK000 i*<*<*<===4 djj))9+;<<<1 djj))3;7774 4 4D/$69LLG 7++I MM$y//9 5 5 5   S^^U 3 3 3 36 F FD.567G 7++I MM$y//;+? @ @ @   Y (>BBB ##E+DEEE ##E+DEEEEErctjtf}||dd||d||d||ddS)Nscbuiltins int )}.rscbuiltins len )}.scbuiltins int N}.scbuiltins int )N.rrs rtest_bad_newobj_exz(AbstractUnpickleTests.test_bad_newobj_exs}'3 $>??CCC ##E+EFFF ##E+EFFF ##E+EFFFFFrcNgd}|D]}||j|dS)N),.012s(2Rs)RasNabsNbdes(esibuiltins list los(osp1 sqsrssNssNNstus(us}(Nus)sNsNsNNs(s)}sVlist r bad_stack_errorsrs rtest_bad_stackz$AbstractUnpickleTests.test_bad_stacksO- - - \ B BA  ' '(=q A A A A B BrcNgd}|D]}||j|dS)N)sN(.sN(2scbuiltins list )(Rscbuiltins list ()Rs]N(ascbuiltins ValueError )R}(bscbuiltins ValueError )R(}bs(NdsN(p1 sN(qsN(rs}NN(ss}N(Nss}(NNss}((uscbuiltins list )(scbuiltins list ()sN(sNN(sN(NsNNN(sNN(NsN(NNs]((scbuiltins list )}(scbuiltins list )(}scbuiltins list ()}sVbuiltins (Vlist sVbuiltins Vlist (sN(rrs r test_bad_markz#AbstractUnpickleTests.test_bad_marksO" " " F B BA  ' '(=q A A A A B Brc|td|tdgd}|D]}||j|dS)NrN)UBsBsBsBabCsCsCabFsF0.0sF0.00GsGr)sI0JsJKLsL0sL10sL0LsL10LMsMSsS'abc'TsTsTsTabUsUsUabVsVabcrsXsXsXabs(cs (cbuiltinss (cbuiltins s(cbuiltins listsNgsNg0s(is (ibuiltinss (ibuiltins s(ibuiltins listsNhsNjsNjsNpsNp0sNqsNrsNrsssssabss s abss s abss s abss s N)r EOFErrortruncated_errorsrs rtest_truncated_dataz)AbstractUnpickleTests.test_truncated_data s~ ##Hc222 ##Hd333X X X r B BA  ' '(=q A A A A B Brc td}td}tjt|t jttj dt|tjj tttj tdd5}| |ddddn #1swxYwYttj tdd5}| |ddddn #1swxYwY|td|td ddl}d g t#jd  fd }t#j| }t#j| }|| |j| | ddlm}|d D|gdzdS)NzI import threading barrier = threading.Barrier(2) zs import locker locker.barrier.wait() class ToBeUnpickled(object): pass rz locker.pywbutf-8zlocking_import.pylockerlocking_imports'clocking_import ToBeUnpickled q)q.rc~tjdSr$)waitrrr)barrier pickle_bytesresultssrtz:AbstractUnpickleTests.test_unpickle_module_race..ts4 LLNNN NN6< 55 6 6 6 6 6r)target) ToBeUnpickledc,g|]}t|Sr%)r.0r's r zCAbstractUnpickleTests.test_unpickle_module_race..s & & &T!WW & & &rr)rosmkdirr addCleanupshutilrmtreesyspathinsertremoveopenjoinrGr r r threadingBarrierThreadrArrrrr) r. locker_modulelocking_import_modulefrrt1t2rrrrs @@@rtest_unpickle_module_racez/AbstractUnpickleTests.test_unpickle_module_racehs   !'( ! !    v... 6""" 000 "',,v{33T : : 3a GGM((11 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 "',,v':;;T B B ;a GG)0099 : : : ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; )))  0111  H #A&& 7 7 7 7 7 7 7  Q ' ' '  Q ' ' '         000000  & &g & & & Oa  ! ! ! ! !s$")DDD)F  FFr$)6r<r=r>rr rr rrrrrr'r.rErIrKrRrUrYr^r` requires_32brerhrkrnrprrrurwrzr|rrrrrrrrrrrrrrrrrr reap_threadsrequires_working_threadingrr%rrrrAsm IHHHH$   ???????????????7?7?7?r666///< E E E = = =CCC444$$$ BBBBBB,,\, ,,\, ;;;???BBB;;;@@@,,\, ,,\, ,,\, 222 222 222 222 888 88\8 ===CCC$666222FFF6GGG FFF GGG0B0B0Bd%B%B%BN]B]B]B~"00229!9!32#"9!9!9!rrc eZdZdZejZdZejZdZdZ dZ e dfdZ dZ d Zd Ze dfd Zd Zd ZdZe dfdZdZdZdZe dfdZdZdZdZe dfdZdZdZdZe dfdZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'd#Z(d$Z)d%Z*d&Z+d'Z,d(Z-d)Z.d*Z/d+Z0d,Z1d-Z2d.Z3d/Z4d0Z5d1Z6d2Z7d3Z8d4Z9d5Z:d6Z;d7Z<e=d8d9d:d;Z>d<Z?d=Z@d>ZAd?ZBd@ZCdAZDdBZEdCZFdDZGdEZHdFZIdGZJdHZKdIZLdJZMdKZNdLZOdMZPdNZQdOZRdPZSdQZTdRZUdSZVdTZWdUZXdVZYdWZZdXZ[dYZ\dZZ]d[Z^d\Z_d]Z`d^Zad_Zbd`ZcdaZdeedbZfdcZgddZhdeZidfZjdgZkdhZldiZmdjZndkZodlZpdmZqdnZresjtesjudodpZvdqZwdrZxesjtdsZydtZzduZ{dvZ|dwZ}dxZ~dyZdzZd{Zd|Zd}Zd~ZdZdZdZejeduddZdZdZdS)AbstractPickleTestsFcdSr$r%r2s rsetUpzAbstractPickleTests.setUprbrctD]}td}|||}||}|||d}|||}||}|||t d|}|||}||}|||dS)Nr)rr%r) protocolsrvdumpsrrr{r.protor'srs r test_misczAbstractPickleTests.test_miscs & &EaA 1e$$A 1 A   1 % % %A 1e$$A 1 A   1 % % %1 A 1e$$A 1 A   1 % % % % & &rc|j}tD]C}|||}||}|||DdSr$)r rrrr)r.rrrr-s rtest_roundtrip_equalityz+AbstractPickleTests.test_roundtrip_equalitys]> / /E 8U++A**Q--C   # . . . . / /rcddlm}ddlm}dtfdt ffD]a\}}||j|}|}||||}| ||bdS)Nr)StringIOdisr)out) r6r#rr% DATA0_DIS DATA1_DISrr rDr)r.r#r%rrrfileliker-s rdont_test_disassemblyz)AbstractPickleTests.dont_test_disassemblys###### !9~9~= , ,OE8 4>511AxzzH Cx ##%%C   Xs + + + +  , ,rrc|}||t|tjdzD]}|||}||}|||||}|t|d| |d|dSNrr) rr7rHIGHEST_PROTOCOLrrassertIsInstancerlenr) r.raslist minprotocollrrr'rs r_test_recursive_listz(AbstractPickleTests._test_recursive_lists CEE  ;(?!(CDD # #E 1e$$A 1 A  ! !!S ) ) )q A   SVVQ ' ' ' MM!A$ " " " "  # #rc:|tdSr$)r3rr2s rtest_recursive_listz'AbstractPickleTests.test_recursive_list !!$'''''rc>|tddSNr)r1)r3MyListr2s rtest_recursive_list_subclassz0AbstractPickleTests.test_recursive_list_subclass! !!&a!88888rc@|tddS)Nc|jSr$rr&s rz>AbstractPickleTests.test_recursive_list_like..sAGrr0)r3REX_sixr2s rtest_recursive_list_likez,AbstractPickleTests.test_recursive_list_likes% !!'2C2C!DDDDDrc:|f}|d|t|tjdzD]}|||}||}||t|t|d||d|||d}|t|d| |d||\}t|tjdzD]}|||}||}|||||}|t|d||dt|t|dd| |dd|dSrM) rr7rr-rrr.tuplerr/r) r.rr0r1rrrr'rs r_test_recursive_tuple_and_listz2AbstractPickleTests._test_recursive_tuple_and_lists SUUH ! A;(?!(CDD # #E 1e$$A 1 A  ! !!U + + +   SVVQ ' ' '  ! !!A$ , , ,qt A   SVVQ ' ' ' MM!A$ " " " ";(?!(CDD & &E 1e$$A 1 A  ! !!S ) ) )q A   SVVQ ' ' '  ! !!A$ . . .   S1YY * * * MM!A$q'1 % % % % & &rc:|tdSr$)rErr2s rtest_recursive_tuple_and_listz1AbstractPickleTests.test_recursive_tuple_and_list ++D11111rc>|tddSr8)rEr9r2s r&test_recursive_tuple_and_list_subclassz:AbstractPickleTests.test_recursive_tuple_and_list_subclass! ++F+BBBBBrc@|tddS)Nc|jSr$r>r&s rr?zHAbstractPickleTests.test_recursive_tuple_and_list_like..sagrr@)rErAr2s r"test_recursive_tuple_and_list_likez6AbstractPickleTests.test_recursive_tuple_and_list_likes% ++G|tddSr8)rTMyDictr2s rtest_recursive_dict_subclassz0AbstractPickleTests.test_recursive_dict_subclass&r;rc@|tddS)Nc|jSr$tabler&s rr?z>AbstractPickleTests.test_recursive_dict_like..*sagrrR)rT REX_sevenr2s rtest_recursive_dict_likez,AbstractPickleTests.test_recursive_dict_like)s% !!)4E4E!FFFFFrc|f}||dd<t|tjdzD]}|||}||}||t |t|d||d|||d}|t|dg| |d||\}t|tjdzD]}|||}||}|||||}|t|dg||dt |t|dd| |dd|dSrM) r7rr-rrr.rDrr/rr r.rrRr1rrrr'rs r_test_recursive_tuple_and_dictz2AbstractPickleTests._test_recursive_tuple_and_dict,s SUUH!Q;(?!(CDD # #E 1e$$A 1 A  ! !!U + + +   SVVQ ' ' '  ! !!A$ , , ,qt A   T!WWqc * * * MM!A$ " " " ";(?!(CDD & &E 1e$$A 1 A  ! !!S ) ) )q A   T!WWqc * * *  ! !!A$ . . .   S1YY * * * MM!A$q'1 % % % % & &rc:|tdSr$)rcrr2s rtest_recursive_tuple_and_dictz1AbstractPickleTests.test_recursive_tuple_and_dictFrHrc>|tddSr8)rcrXr2s r&test_recursive_tuple_and_dict_subclassz:AbstractPickleTests.test_recursive_tuple_and_dict_subclassIrKrc@|tddS)Nc|jSr$r\r&s rr?zHAbstractPickleTests.test_recursive_tuple_and_dict_like..Msrr^)rcr_r2s r"test_recursive_tuple_and_dict_likez6AbstractPickleTests.test_recursive_tuple_and_dict_likeLs% ++I>O>O+PPPPPrc|}d|t|<t|tjdzD]}|||}||}|||||}|t| d|t| dt| t| dj |dSr,) rnr7rr-rrr.rr/r9rrrprQs r_test_recursive_dict_keyz,AbstractPickleTests._test_recursive_dict_keyOs CEE!A$$;(?!(CDD 6 6E 1e$$A 1 A  ! !!S ) ) )q A   S]]A . . .  ! !$qvvxx.."3Q 7 7 7 MM$qvvxx..+11 5 5 5 5 6 6rc:|tdSr$)rlrr2s rtest_recursive_dict_keyz+AbstractPickleTests.test_recursive_dict_key]s %%d+++++rc>|tddSr8)rlrXr2s r test_recursive_dict_subclass_keyz4AbstractPickleTests.test_recursive_dict_subclass_key`s! %%f!%<<<<.ds!'rr^)rlr_r2s rtest_recursive_dict_like_keyz0AbstractPickleTests.test_recursive_dict_like_keycs% %%i8I8I%JJJJJrc4|f}d|dt|<t|tjdzD]<}|||}||}||t|t|d||d|||d}|t|d|t| dt| t| dj |>|\}t|tjdzD]}|||}||}|||||}|t|d|t| dt| t| dj d|dSr,)rnr7rr-rrr.rDrr/rr9rrprbs r"_test_recursive_tuple_and_dict_keyz6AbstractPickleTests._test_recursive_tuple_and_dict_keyfs&SUUH!QqTT ;(?!(CDD 6 6E 1e$$A 1 A  ! !!U + + +   SVVQ ' ' '  ! !!A$ , , ,qt A   SVVQ ' ' '  ! !$qvvxx.."3Q 7 7 7 MM$qvvxx..+11 5 5 5 5;(?!(CDD 9 9E 1e$$A 1 A  ! !!S ) ) )q A   SVVQ ' ' '  ! !$qvvxx.."3Q 7 7 7 MM$qvvxx..+1!4a 8 8 8 8 9 9rc:|tdSr$)rurr2s r!test_recursive_tuple_and_dict_keyz5AbstractPickleTests.test_recursive_tuple_and_dict_keys //55555rc>|tddSr8)rurXr2s r*test_recursive_tuple_and_dict_subclass_keyz>AbstractPickleTests.test_recursive_tuple_and_dict_subclass_keys! //A/FFFFFrc@|tddS)Nc|jSr$r\r&s rr?zLAbstractPickleTests.test_recursive_tuple_and_dict_like_key..sAGrr^)rur_r2s r&test_recursive_tuple_and_dict_like_keyz:AbstractPickleTests.test_recursive_tuple_and_dict_like_keys% // BSBS/TTTTTrct}|t|tdtjdzD]}|||}||}||t| t|d|t|dt| t|dj ||\}tdtjdzD]}|||}||}||t||j t| t|j d| t|j d|dS)Nrrr)r5addrnr7rr-rrr.rr/rrrpr.rrrr's rtest_recursive_setz&AbstractPickleTests.test_recursive_sets EE add 1f59:: / /E 1e$$A 1 A  ! !!S ) ) )   SVVQ ' ' '  ! !$q''!*a 0 0 0 MM$q''!**A . . . .1f59:: / /E 1e$$A 1 A  ! !!Q ' ' '  ! !!'3 / / /   S\\1 - - - MM$qw--*A . . . .  / /rcft}||_tD]}|||}||}||t|t|t|||j|dSr$) rjattrrrrr.rdirr)r.irrr's rtest_recursive_instz'AbstractPickleTests.test_recursive_insts HH % %E 1e$$A 1 A  ! !!V , , ,   SVVSVV , , , MM!&! $ $ $ $  % %rcg}d|i}t}||_||tD] }|||}||}||t|t|d|t|dt||t|dj dg| |djd| dSr,) rjrrrrrr.rrr/rr9r)r.r2rSrrrr's rtest_recursive_multiz(AbstractPickleTests.test_recursive_multis  qE HH   + +E 1e$$A 1 A  ! !!T * * *   SVVQ ' ' '   S1YYA / / /   T!A$).."2"233aS 9 9 9 MM!A$)A, * * * * + +rct}||g|_t|j}tD]}|||}||}||j||t|jd|t|jdt| t|jd||j}tD]}|||}||}||||t|d|t|dt| t|dj|dSr,) rjrrrrrr.rr/rr)r.factoryorrrr's r#_test_recursive_collection_and_instz7AbstractPickleTests._test_recursive_collection_and_insts HH! LL . .E 1e$$A 1 A  ! !!&! , , ,   S[[! , , ,  ! !$qv,,q/6 : : : MM$qv,,q/1 - - - - F . .E 1e$$A 1 A  ! !!Q ' ' '   SVVQ ' ' '  ! !$q''!*f 5 5 5 MM$q''!*/1 - - - -  . .rc:|tdSr$)rrr2s rtest_recursive_list_and_instz0AbstractPickleTests.test_recursive_list_and_insts 0066666rc:|tdSr$)rrDr2s rtest_recursive_tuple_and_instz1AbstractPickleTests.test_recursive_tuple_and_inst 0077777rcD|tjdSr$)rrfromkeysr2s rtest_recursive_dict_and_instz0AbstractPickleTests.test_recursive_dict_and_insts 00?????rc:|tdSr$)rr5r2s rtest_recursive_set_and_instz/AbstractPickleTests.test_recursive_set_and_insts 0055555rc:|tdSr$)r frozensetr2s r!test_recursive_frozenset_and_instz5AbstractPickleTests.test_recursive_frozenset_and_insts 00;;;;;rc:|tdSr$)rr9r2s r%test_recursive_list_subclass_and_instz9AbstractPickleTests.test_recursive_list_subclass_and_insts 0088888rc:|tdSr$)rMyTupler2s r&test_recursive_tuple_subclass_and_instz:AbstractPickleTests.test_recursive_tuple_subclass_and_insts 0099999rcD|tjdSr$)rrXrr2s r%test_recursive_dict_subclass_and_instz9AbstractPickleTests.test_recursive_dict_subclass_and_insts 00AAAAArc:|tdSr$)rMySetr2s r$test_recursive_set_subclass_and_instz8AbstractPickleTests.test_recursive_set_subclass_and_instrrc:|tdSr$)r MyFrozenSetr2s r*test_recursive_frozenset_subclass_and_instz>AbstractPickleTests.test_recursive_frozenset_subclass_and_insts 00=====rct}||_tD]c}|||}||}||t||j|ddSr$) REX_statestaterrrr.rrs rtest_recursive_inst_statez-AbstractPickleTests.test_recursive_inst_states| KK & &E 1e$$A 1 A  ! !!Y / / / MM!'1 % % % %  & &rc"tf}||d_tD]}|||}||}||t |t|d||dt| |dj||\}tD]}|||}||}||t||jt |t|jd| |jd|dSrM) rrrrrr.rDrr/r)r.rrrr's r#test_recursive_tuple_and_inst_statez7AbstractPickleTests.test_recursive_tuple_and_inst_states_ [[N!  ) )E 1e$$A 1 A  ! !!U + + +   SVVQ ' ' '  ! !!A$ 2 2 2 MM!A$*a ( ( ( ( ) )E 1e$$A 1 A  ! !!Y / / /  ! !!'5 1 1 1   S\\1 - - - MM!'!*a ( ( ( (  ) )rcgd}tD]H}|D]C}|||}||}|||DIdS)N)rWz<\u>u<\ሴ>z< >z<\>u<\𒍅>u<>rrrr)r.endcasesruru2s r test_unicodez AbstractPickleTests.test_unicodes}    + +E + +JJq%((ZZ]]##Ar**** + + +rcd}tD]C}|||}||}|||DdS)Nu𒍅r)r.rrrrs rtest_unicode_high_planez+AbstractPickleTests.test_unicode_high_planes[  ' 'E 1e$$AAB   2 & & & & ' 'rctD]M}dD]H}|||f|}||\}}|||INdS)N)rWxyzzxyz zx\yzux¡yz rrrr)r.rrrs1s2s rtest_unicode_memoizationz,AbstractPickleTests.test_unicode_memoization$sp & &E= & &JJ1vu--AB b"%%%% & & &rctD]}dD]A}|||}||||Bdt dDD]A}|||}||||Bdt dDD]A}|||}||||BdS)Nrxyzs,xyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzc.g|]}t|gSr%rrrs rrz2AbstractPickleTests.test_bytes..1s 555QeQCjj555rc0g|]}t||gSr%rrs rrz2AbstractPickleTests.test_bytes..4s"888eQFmm888r)rrrrr7)r.rrrs r test_byteszAbstractPickleTests.test_bytes,s 6 6E, 6 6JJq%((##Atzz!}}555555%**555 6 6JJq%((##Atzz!}}555588U3ZZ888 6 6JJq%((##Atzz!}}5555 6 6 6rctD]M}dD]F}t|}|||}||}|||||||dkrD|d||ttj ||dkrD|d||ttj ||dkrC| d||ttj |HOdS)Nrrs bytearrayrr)rrtrrrrassertIn assertTruerrGLOBAL STACK_GLOBAL assertNotIn BYTEARRAY8)r.rrrrbbs rtest_bytearrayz"AbstractPickleTests.test_bytearray8sN L LE, L LaLLJJq%((ZZ]]  Q'''##Ar***A::MM,222OO$4V]A$F$FGGGGaZZMM,222OO$4V5H!$L$LMMMMaZZ$$\1555OO$4V5F$J$JKKK L L LrctD]\}dD]W}t|}|||f|}||\}}|||X]dS)Nr)rrtrrr)r.rrrrb1b2s rtest_bytearray_memoization_bugz2AbstractPickleTests.test_bytearray_memoization_bugKs{ & &E, & &aLLJJ1vu--AB b"%%%%  & & &rctD]`}tj}|rP| |fD]C}|||}||}|||D|dz }|PadSrP)rrmaxsizerrr)r.rr!rrn2s r test_intszAbstractPickleTests.test_intsSs  E A "#Q66H 8U33AAB''"5555F    rctD]c}dD]^}d|z}|dz ||dzfD]K}|| fD]C}|||}||}|||DL_dt dd}||dzz }|| fD]k}||d}||}|t |t|||ldS)N)riiirdeadbeeffeedfacei@Br)rrrrintrrr) r.rnbitsnbasenposr!rr-rs r test_longzAbstractPickleTests.test_long]s? 4 4E9 4 4U !!GUE!G344D!D5[44!%Au!5!5"jj00++As333344 4&++ '!! % %A 1a  A**Q--C MM$s))S ) ) )   Q $ $ $ $ % %rcgd}|d|Dz}tD]H}|D]C}|||}||}|||DIdS)N) ggg+phgZ*)g_D 9g?g?gQ @gm"wp@gWTDgꌠ9Y>)Fcg|]}| Sr%r%rs rrz2AbstractPickleTests.test_float..ws$=$=$=AaR$=$=$=rr)r. test_valuesrrprr-s r test_floatzAbstractPickleTests.test_floattsAAA !$=$=$=$=$==  0 0E$ 0 0E511jj((##E3//// 0 0 0rLC_ALLde_DEfr_FRcj||ddddddS)Ng333333?rrsF1.)rrr2s rtest_float_formatz%AbstractPickleTests.test_float_format~s7 C++AaC0&99999rctD]V}t}|||}||}||t WdSr$)rAAArrrREDUCE_Ar.rinstr]rDs r test_reducezAbstractPickleTests.test_reducesa / /E55DZZe,,FZZ''F   VX . . . .  / /rctD]S}tdd}|||}||}|||TdS)Nrr)rr{rrrrs rtest_getinitargsz$AbstractPickleTests.test_getinitargsse . .E1a==DZZe,,FZZ''F   f - - - -  . .rct}tD]M}|||}||}||j|jNdSr$)rrrrrrr.r~rrrs rtest_metaclassz"AbstractPickleTests.test_metaclasssc OO 7 7E 1e$$A 1 A   Q[!+ 6 6 6 6 7 7rcptdtf}tjttjt D]s}|||}||}| ||| t|t|tdS)Nmy_dynamic_class) rr?rNrrrsrrrrrrrs rtest_dynamic_classz&AbstractPickleTests.test_dynamic_classs !3fY ? ?)+=+HIII , ,E 1e$$A 1 A   Q " " " MM$q''477 + + + +  , ,rcPddl}ddl}|}tD]}|||}||}||||j|j}|||}||}|||t|drV|j |j}|||}||}|||dS)Nrstatvfs) timer localtimerrrrstatcurdirrr)r.rrrrrrs rtest_structseqz"AbstractPickleTests.test_structseqs  NN   * *E 1e$$A 1 A   1 % % % ""A 1e$$A 1 A   1 % % %r9%% *BJry))JJq%((JJqMM##Aq))) * *rctD]C}|d|}||}|d|DdSN.rr.rrrs r test_ellipsisz!AbstractPickleTests.test_ellipsissT " "E 3&&A 1 A MM#q ! ! ! ! " "rctD]M}|t|}||}|t|NdSr$)rrrrrrs rtest_notimplementedz'AbstractPickleTests.test_notimplementedsT - -E >511A 1 A MM.! , , , , - -rcddtg}|D]g}tD]]}|t||}||}|t||^hdSr)rrrrrr)r. singletons singletonrrrs rtest_singleton_typesz(AbstractPickleTests.test_singleton_typessC0 # 2 2I" 2 2JJtI66JJqMM d9ooq1111 2 2 2rc.tjD]u}t|tr^t |t sItD]A}|||}| | ||BvdSr$) builtinsrZvaluesrr issubclassrrrrrr.rrrs rtest_builtin_typesz&AbstractPickleTests.test_builtin_typess"))++ 4 4A!T"" 4:a+G+G 4&44E 1e,,AMM$**Q--3333  4 4rc tjD]}t|trt |t rtD]}|||}| |}|dkr:t |tr%|tur| |tm|dkr1t |tr| |t| ||dSNr)rrZrrrr rrrrOSErrorBlockingIOErrorr ImportError)r.rrrrs rtest_builtin_exceptionsz+AbstractPickleTests.test_builtin_exceptionss"))++ , ,A!T"" ,z!]'C'C ,&,,E 1e,,A 1 AzzjG&<&> K K K K  L Lrc ddz}tD]u}|||}||}||||t t j||dkvdS)Nr"rr)rrrrrrrLONG4r$s r test_long4zAbstractPickleTests.test_long4s )e 4 L LE 1e$$A 1 A   1 % % %   -flA>> K K K K  L LrcZidtjdtjdtjdtjdtjdtjdtjdtjd tjd tjd tjd tjd tjdtjdtjdtjdtjtjtjtjd}d}d}d}d}d}t D]}|||||fD]}|||} || } | || |t|dt|f} | t| | dS)N)rr)rr)rr)rr)rr)rr)rrrr)rrrr)rrrr)rr)rr)rr)rr)rr))rr)rrrrr%)rrrr)rrrrr)rTUPLE EMPTY_TUPLETUPLE1TUPLE2TUPLE3rrrrminr/rr) r.expected_opcoder~rrrSerr'rrrs rtest_short_tuplesz%AbstractPickleTests.test_short_tuples s66<!6<!6<"6<"6<  "6#5 "6<"6<"6<"6<"6#5"6="6="6= "6>>>  ? ? ?rc 6tjtjtjtjtjtjtjtjtjtjtjtjd }t D]}dD]}|||}||}|||u||||f|t|d|f}|t||dS)N) )rN)rN)rN)rN)rT)rT)rT)rT)rF)rF)rF)rF)NFTr) rrINTNEWTRUENEWFALSErrrrr4r)r.r5rr'rrrs rtest_singletonsz#AbstractPickleTests.test_singletons0s&,k&,k&,k&,k&,j&,j&,n&,n'-z'-z'-'- ? ?E& ? ?JJq%((JJqMMQ1a(8999*3ua==!+;< 01 = =>>>>  ? ? ?rctgd}d|_d|_tD]C}|||}||}|||DdSNr.rhello)rrrrrrrr$s rtest_newobj_tuplez%AbstractPickleTests.test_newobj_tupleIsu III   & &E 1e$$A 1 A   1 % % % % & &rctgd}d|_d|_tD]C}|||}||}|||DdSr>)r9rrrrrrr$s rtest_newobj_listz$AbstractPickleTests.test_newobj_listRsu 999   & &E 1e$$A 1 A   1 % % % % & &rc tD]}tD]}|j}||j}d|_|||}||}|||||t|f}|||| |||||| |j |j |dSNr) r myclasses__base__samplerrrrrrrZ)r.rrXBr'rrdetails rtest_newobj_genericz'AbstractPickleTests.test_newobj_generic[s A AE A AJAahKKJJq%((JJqMMAq!T!WW5##Aq)))  1qqttV444  QZ@@@@ A A Arc ftdd}ttfD]}||tD]}|D]}|j}||j}d|_tj |}| ||}| |} | t| t|||||| t| f} | |||| | | |j| j| dSrD)rEMyIntrrrrFrGrweakrefproxyrrrrrZ) r.classesrrrXrHr'rrrrIs rtest_newobj_proxiesz'AbstractPickleTests.test_newobj_proxieshs;AAA,!  A NN1     A AE A AJAahKKM!$$JJq%((JJqMM  a$q''222Aq!T!WW5  1qqttV444  QZ@@@@ A A ArchtD]}td}d|_|||}||}|t |t|t|d||jddS)Nrr) r MyIntWithNew2rrrrrrrrs rtest_newobj_overridden_newz.AbstractPickleTests.test_newobj_overridden_new{s ( (Ea  AAE 1e$$A 1 A MM$q''= 1 1 1   SVVQ ' ' '   QUB ' ' ' ' ( (rct}tt}||d} da|tt jf|j||adS#|awxYw)Nrr) SimpleNewObjrrrrrrcr)r.saverrs rtest_newobj_not_classz)AbstractPickleTests.test_newobj_not_classsu   . . JJq!   L   y&*@A4:q Q Q QLLL4L    s /A11A5ct|} tjtd|t gd}d|_d|_||d}|t d||d|| t||| |}| ||||d}|t d||d||t||d t!|| |}| |||dS#|wxYw) Nr9r.rr?rrsMyListrT)rKrNrTr<r9rrrrr  assertFalserrrrrreprrV)r.extcodeopcoder6r'rrrs rproduce_global_extz&AbstractPickleTests.produce_global_exts 7 # #   !(Hg > > >yyy!!AAEAEAq!!B MM(//'22B 7 7 7 MM)R ( ( (   -fb99 : : : 2A   1 % % %Aq!!B   X__W55r : : :   Y + + +   -fb994b J J J 2A   1 % % % IIKKKKKAIIKKKKs FGGc|dtj|dtjdS)Nrr)r]rEXT1r2s rtest_global_ext1z$AbstractPickleTests.test_global_ext1s8  FK888  FK88888rc|dtj|dtj|dtjdS)Nrriͫ)r]rEXT2r2s rtest_global_ext2z$AbstractPickleTests.test_global_ext2P  FK888  FK888  FK88888rc|dtj|dtj|dtjdS)Nriͫ)r]rEXT4r2s rtest_global_ext4z$AbstractPickleTests.test_global_ext4rdrcd}tt|}tD]w}|||}||}|||t tj|}| ||dkxd}tt|}tD]}|||}||}|||t tj|}|dkr| |dz| |dkdSN r r) rr7rrrrr"rAPPENDSrr)r.r!r'rrr num_appendss rtest_list_chunkingz&AbstractPickleTests.test_list_chunkingsA  qNN 5 5E 1e$$A 1 A   1 % % %&v~q99K   [%!) 4 4 4 4  qNN 2 2E 1e$$A 1 A   1 % % %&v~q99Kzz  a0000 q 01111 2 2rcd}tt|}tD]}|||}||t ||}|||ttj |}| ||dkd}tt|}tD]}|||}||}|||ttj |}|dkr| |dz| |dkdSrj)rrr7rrr.rrrr"rSETITEMSrr)r.r!r'rrr num_setitemss rtest_dict_chunkingz&AbstractPickleTests.test_dict_chunkingsc  MM%(( # # 6 6E 1e$$A  ! !![ 1 1 1 1 A   1 % % %';;L   \519 5 5 5 5  MM%(( # # 3 3E 1e$$A 1 A   1 % % %';;Lzz  q1111  12222 3 3rcd}tt|}tD]}|||}||}|||t tj|}|dkr| |dz| |dd}tt|}tD]}|||}||}|||t tj|}|dkr| |dz| |ddS)Nrkrrrrlr) r5r7rrrrr"rADDITEMSrassertGreaterEqual)r.r!r'rrr num_additemss rtest_set_chunkingz%AbstractPickleTests.test_set_chunkings^  aMM 2 2E 1e$$A 1 A   1 % % %';;Lqyy  q1111  q1111  aMM 9 9E 1e$$A 1 A   1 % % %';;Lqyy  q1111'' a8888 9 9rcnttd}d|_tD]}||5|||}|dkr|d|n|d||ttj |d|k| ttj || |}|||dddn #1swxYwYdS)Nrr I64206Mr)rUrrrrrrrrrNEWOBJrY NEWOBJ_EXrrr$s rtest_simple_newobjz&AbstractPickleTests.test_simple_newobj s]  v 6 6 * *EE** * *JJq%((199MM+q1111MM,222  !1&-!C!C!"e---  !1&2BA!F!FGGGJJqMM##Aq))) * * * * * * * * * * * * * * * * *sCD((D, /D, cttd}d|_tD]>}||5|||}|dkr|d|nP|dkr|d|n3|dkr|d |n|d ||ttj |d|k| ttj || |}|||dddn #1swxYwY@dS Nrzr{r|rr}rr~rs XFACEsFACE) ComplexNewObjrrrrrrrrrrrYrrrr$s rtest_complex_newobjz'AbstractPickleTests.test_complex_newobj s  ! !- 8 8 * *EE** * *JJq%((199MM+q1111QYYMM,2222QYYMM":A>>>>MM/1555  !1&-!C!C!"e---  !1&2BA!F!FGGGJJqMM##Aq))) * * * * * * * * * * * * * * * * *DE""E& )E& cttd}d|_tD]>}||5|||}|dkr|d|nP|dkr|d|n3|dkr|d |n|d ||ttj || ttj |d|k| |}|||dddn #1swxYwY@dSr)ComplexNewObjExrrrrrrrYrrrrrrrr$s rtest_complex_newobj_exz*AbstractPickleTests.test_complex_newobj_ex* s  # #OV < < * *EE** * *JJq%((199MM+q1111QYYMM,2222QYYMM":A>>>>MM/1555  !1&-!C!CDDD  !1&2BA!F!F!"e---JJqMM##Aq))) * * * * * * * * * * * * * * * * *rctgd}d|_d|_||d}||}|||dS)Nr.rr?r)SlotListrrrrr)r.r'rrs rtest_newobj_list_slotsz*AbstractPickleTests.test_newobj_list_slots> s_ YYY   JJq!   JJqMM Aq!!!!!rc.tD]}t}||jd|||}||jd||}||jddSrM)rREX_oner_reduce_calledrrrs r'test_reduce_overrides_default_reduce_exz;AbstractPickleTests.test_reduce_overrides_default_reduce_exF s 2 2E A   Q-q 1 1 1 1e$$A   Q-q 1 1 1 1 A   Q-q 1 1 1 1  2 2rc.tD]}t}||jd|||}||j|||}||jddSr$)rREX_twor_protorrrs rtest_reduce_ex_calledz)AbstractPickleTests.test_reduce_ex_calledO s - -E A   QXt , , , 1e$$A   QXu - - - 1 A   QXt , , , ,  - -rc.tD]}t}||jd|||}||j|||}||jddSr$)r REX_threerrrrrs rtest_reduce_ex_overrides_reducez3AbstractPickleTests.test_reduce_ex_overrides_reduceX s - -E A   QXt , , , 1e$$A   QXu - - - 1 A   QXt , , , ,  - -rc.tD]}t}||jd|||}||j|||}||j|dSr$)rREX_fourrrrrrs rtest_reduce_ex_calls_basez-AbstractPickleTests.test_reduce_ex_calls_basea s . .E A   QXt , , , 1e$$A   QXu - - - 1 A   QXu - - - -  . .rc.tD]}t}||jd|||}||jd||}||jddSrM)rREX_fiverrrrrs rtest_reduce_calls_basez*AbstractPickleTests.test_reduce_calls_basej s 2 2E A   Q-q 1 1 1 1e$$A   Q-q 1 1 1 1 A   Q-q 1 1 1 1  2 2rcLt}tdD]O}tj5|t |j||dddn #1swxYwYPtdtjdzD]}|||}dS)Nrr) BadGetattrr7rinfinite_recursionr RuntimeErrorrrr-)r.r'rrs rtest_bad_getattrz$AbstractPickleTests.test_bad_getattrs s LL1XX F FE+-- F F!!, AuEEE F F F F F F F F F F F F F F F1f59:: % %E 1e$$AA % %s#A""A& )A& c8Gddt}Gddt}tD]k} |||n#tj$rYnwxYw |||W#tj$rYhwxYwdS)NceZdZdZdS)7AbstractPickleTests.test_reduce_bad_iterator..CctddgdfSrg)rr2s rrszBAbstractPickleTests.test_reduce_bad_iterator..C.__reduce__ sRr4//rNr<r=r>rsr%rrrXr # 0 0 0 0 0rrXceZdZdZdS)7AbstractPickleTests.test_reduce_bad_iterator..DctdddgfSrg)rr2s rrszBAbstractPickleTests.test_reduce_bad_iterator..D.__reduce__ sRtR//rNrr%rrr_r rrr_)r?rrr PicklingError)r.rXr_rs rtest_reduce_bad_iteratorz,AbstractPickleTests.test_reduce_bad_iterator} s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0   E  1133&&&&'      1133&&&&'      s#AA"!A"&BBBcdtdD}td|D}t|t|t|g}tD]q}||5|||}||}|||dddn #1swxYwYrdS)Nc3:K|]}dt|zVdS)aaaNrxrs r z>AbstractPickleTests.test_many_puts_and_gets.. s,331A333333rrmc3"K|] }|gdfV dS))rrrNr%)rks rrz>AbstractPickleTests.test_many_puts_and_gets.. s*77Q1iii.777777rr|)r7rrrrrr)r.r9 large_dictrrr]rDs rtest_many_puts_and_getsz+AbstractPickleTests.test_many_puts_and_gets s43c 33377$77777 Jj!1!14 3C3CD 1 1EE** 1 1C//F++##C000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1s>AC  C C cPtD]}t}d|_d|_|||}||}t |j}t |j}t||D]\}}| ||dS)Nrr?) rrXrrrrsortedrZzipr) r.rr'rrx_keysy_keysx_keyy_keys rtest_attribute_name_interningz1AbstractPickleTests.test_attribute_name_interning s , ,EAAEAE 1e$$A 1 AAJ''FAJ''F #FF 3 3 , , u eU++++ , , ,rc|tdd}||t|t dgd}||t dS)Nrrr)rr7rr6r5 DATA_SET2r\s rtest_pickle_to_2xz%AbstractPickleTests.test_pickle_to_2x sj E!HHa(( ---CHHa(( +++++rc"tD]}dtddztf}|||}||}|t|t||||dS)Nrsxyix)rr4r/rrr)r.rrr]rDs rtest_large_picklesz&AbstractPickleTests.test_large_pickles s + +EsEY/5DZZe,,FZZ''F   S[[#d)) 4 4 4   VT * * * *  + +rc tD]Ɋ5fdtdD}tt t |}t||dkr2|D]/}ttj |0dddn #1swxYwYdS)Nr|cBg|]}d|zSr)r)rr!rr.s rrzDAbstractPickleTests.test_int_pickling_efficiency.. s+FFFq4::adE22FFFrFr) rrr7rmapr/rrrYrrLONG)r.picklessizesrrs` @rtest_int_pickling_efficiencyz0AbstractPickleTests.test_int_pickling_efficiency s/ K KEE** K KFFFFFE"IIFFFSg..//  666A::$KK(()9&+q)I)IJJJJ K K K K K K K K K K K K K K K K KsBCC C c|||}|t||||}|||dSr$)rrrrr)r.rr\rrrs r_check_pickling_with_opcodez/AbstractPickleTests._check_pickling_with_opcode s_**S%(( (99:::JJw''  i(((((rctgd}tD]K}|dkr"||tj|*||tj|LdS)Nr.r)rArrrAPPENDrmr.rrs rtest_appends_on_non_listsz-AbstractPickleTests.test_appends_on_non_lists ssiii   M MEzz00fmUKKKK00fneLLLL  M Mrctdddd}tD]K}|dkr"||tj|*||tj|LdS)Nrr.r)r_rrrSETITEMrqrs rtest_setitems_on_non_dictsz.AbstractPickleTests.test_setitems_on_non_dicts syB2"--.. N NEzz00fneLLLL00fouMMMM  N Nrrrfcdx}}hd}tj|D]\}}}||||||krd}|M||jd|j|vr(|t ||jn^|jdks!|j|vr;t ||jkr#| |||z |jd}n| |jdkr|}|jdkr#| ||j|dz|z}t |}|| ||dS| |||z |jdSdS)a Check the arguments of FRAME opcodes in a protocol 4+ pickle. Note that binary objects that are larger than FRAME_SIZE_TARGET are not framed by default and are therefore considered a frame by themselves in the following consistency check. N>BINBYTES BINBYTES8 BINUNICODEr BINUNICODE8FRAMEr ) rrassertLessEqualassertNotEqualrr/FRAME_SIZE_TARGET assertLessFRAME_SIZE_MINrvr)r.r frame_endframeless_startframeless_opcodesrraposs rcheck_frame_opcodesz'AbstractPickleTests.check_frame_opcodes s'+* O:::'.w77 * *LBS$$$S)444)## $I$##BGW5557///((S43IJJJGw&&W 111XX 666&2o(=(,(;===*.$,G1C1C&)Ow'!!''T-@AAA!GcM 'll    Y , , , , ,  ( OOC/143F G G G G G) (rcpucRttd}tdtjdzD]}||5|||}||}|||t|ttj |z }| ||j dz | ||j dz||dddn #1swxYwYdS)Nirrr|r)rr7rr-rrrrr/r"r assertGreaterrrr)r.rrrrbytes_per_frames rtest_framing_many_objectsz-AbstractPickleTests.test_framing_many_objects sg5<<  1f59:: 2 2EE** 2 2**S%00 JJw//   i000#&w<<#/ g#F#F$G""?#'#9A#=???$$_%)%;a%?AAA((111 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2sB=DD "D cdd}dtdD}d|zg|d|zd|z}tdtjdzD]c}d D]\}||| 5|s|||}nwt |d s dddQt j}||| }||_ | || }| |} | d |Dd| D| || ttj|} | | d||dddn #1swxYwY^edS)Nicg|]}|gSr%r%rs rrzBAbstractPickleTests.test_framing_large_objects..- s...qs...rrkxyzrr)FT)rfastpicklerrc,g|]}t|Sr%r/rs rrzBAbstractPickleTests.test_framing_large_objects..A s%:%:%:c!ff%:%:%:rc,g|]}t|Sr%rrs rrzBAbstractPickleTests.test_framing_large_objects..B s%@%@%@c!ff%@%@%@r)r7rr-rrrr6rBrrdumprDrrr"rr) r.N small_itemsrrrrbufrrn_framess rtest_framing_large_objectsz.AbstractPickleTests.test_framing_large_objects+ s2 ..E"II... ax9+9tax9q91f59:: 6 6E% 6 6\\D\9966 1#'**S%"8"8 'tY77%$6666666!jll"&,,sU,"C"C'+  S)))"%,,.. $ 7 3 3I$$%:%:c%:%:%:%@%@i%@%@%@BBB$$S)444+FL'BBH$$Xq111,,W5551666666666666666 6 6 6s*+F!!C4F!!F% (F% c  tjdkrdSdd}|j d}ttfD]3 fdt |D}t dtjdzD]}|||}||}|ttj |d||| |||d}| ttj |ttj |||| |5dS) Nrc(g}d}tj|D]&\}}}|jdkr||'t }d}t |D]%\} }|r || r||||z }||z}&|||dz }|S)z+Remove frame opcodes from the given pickle.rrrN)rrrrrt enumerate) r keep_frame frame_startsframe_opcode_sizer\_r newpicklelast_frame_endrs r remove_framesz?AbstractPickleTests.test_optional_frames..remove_framesO sL ! "-"4W"="= - -3;')) '',,,! IN#L11 9 93**Q--W^C%788 !$'8!8 1 1I rc0i|]}||gzSr%r%)rr bytes_type frame_sizes r z.g s*NNNq1jj!oo 2NNNrrrc |dzSr r%)rs rr?z:AbstractPickleTests.test_optional_frames..p s a!err$) rr-rrrtr7rrr"rrr) r.r num_framesrrrframeless_picklesome_frames_pickler r s @@rtest_optional_framesz(AbstractPickleTests.test_optional_framesK s  "Q & & F    &+  !), F FJNNNNNE*> F F**S%00#0=#9#9   fl.ChunkAccumulatorz2Accumulate pickler output in a list of raw chunks.cg|_dSr$)chunksr2s rrHzbAbstractPickleTests.test_framed_write_sizes_with_delayed_writer..ChunkAccumulator.__init__y s   rc:|j|dSr$)rr)r.chunks rrGz_AbstractPickleTests.test_framed_write_sizes_with_delayed_writer..ChunkAccumulator.write{ s ""5)))))rc6d|jS)Nr)rrr2s rconcatenate_chunkszlAbstractPickleTests.test_framed_write_sizes_with_delayed_writer..ChunkAccumulator.concatenate_chunks} sxx ,,,rN)r<r=r>rIrHrGrr%rrChunkAccumulatorrw sG D D ! ! ! * * * - - - - -rrrrc|g|]9}t|d|dzdt|if:S)rrr)ryr rs rrzSAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.. sO111A g..Bc!ff F111rg@0123456789abcdefrrrc,g|]}t|Sr%r)rrs rrzSAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.. s999a3q66999rc*g|]}|jk |Sr%rrrr.s rrzSAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.. s0;;;4#999999rc>g|]}d|cxkr jknn|Srr r!s rrzSAbstractPickleTests.test_framed_write_sizes_with_delayed_writer.. sG>>>!!<<<. s<<<Q!VV1VVVr)r7rr-rrrrrrrrrr/rr gc_collectrvrr) r.rrobjectswriterr reconstructedr chunk_sizes large_sizes medium_sizes small_sizes chunk_sizes ` r+test_framed_write_sizes_with_delayed_writerz?AbstractPickleTests.test_framed_write_sizes_with_delayed_writeru s - - - - - - - -1f59::5 .5 .E11 %c#hh111G NN- 2b81<> ? ? ?&%''F LL ' ' , ,W 5 5 5 //11G JJw//M   ]G 4 4 4   s6=111 5 5 5     V6688' B B BG q(T-CCaGH  # #C $6$6 A A A  V]!3!3Q\A5E F F F996=999K;;;;k;;;K>>>>{>>>L<rXr%rrrHr5 s<rrHN)r<r=r>rHr%rrAr3 s<rr8N)r<r=r>r8r%rrr1r1 s<          rr1r)rr) r1r7rr-r8rHrXrrrr)r.rrrs rtest_nested_namesz%AbstractPickleTests.test_nested_names s         62Q677 2 2E&(*fhjl; 2 2\\3\7722 $ 4::c5+A+A B BIMM#y111222222222222222 2 2 2s7ACC C cGddatjtjt_dt_t tjdzD]y}| |5| | t|}| |tdddn #1swxYwYzt`dS)NceZdZdS) RecursiveNrkr%rrr<r<  Drr<zRecursive.mod.Recursiverr|) r<rmodulesr=modr>r7rr-rrrr)r.rrs rtest_recursive_nested_namesz/AbstractPickleTests.test_recursive_nested_names s          I$89 !: 62Q677 4 4EE** 4 4 JJtzz)U'C'CDD  i333 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 MMMs4A C  C C c Gddatjtjtjtjjtjjtjf}tjtftjjtjff}ttj dzD]}|D]}| ||5| | ||}|||dddn #1swxYwY|D]\}}|}| ||5| | ||}|||||dddn #1swxYwYtjdtjdf}ttj dzD]X}|D]S} | || 5|t"|j | |dddn #1swxYwYTYdS)NcZeZdZedZedZdZGddZdS) PyMethodsTestcdS)Ncheeser%r%rrrEzPyMethodsTest.cheese sxrc|tusJdS)Nwine)rCrs rrGzPyMethodsTest.wine sm++++vrc4t|tsJdS)Nbiscuits)rrCr2s rrJzPyMethodsTest.biscuits s!$ 66666!zrcDeZdZdZedZedZdZdS)PyMethodsTest.Nestedz Nested classcdS)Nketchupr%r%rrrNzPyMethodsTest.Nested.ketchup s$9rc&|tjusJdS)Nmaple)rCr1rHs rrPzPyMethodsTest.Nested.maple s-"66666"7rc>t|tjsJdS)Npie)rrCr1r2s rrRzPyMethodsTest.Nested.pie s %dM,@AAAAA 5rN) r<r=r>rI staticmethodrNrrPrRr%rrr1rL sZ%%%###!!!!!rr1N) r<r=r>rSrErrGrJr1r%rrrCrC s}   \   [  " " " ! ! ! ! ! ! ! ! ! !rrCrrmethodrErGrdescr)rCrErGrJr1rNrPrRr7rr-rrrrrZrr) r. py_methodspy_unbound_methodsrrUrrr descriptorsrWs rtest_py_methodsz#AbstractPickleTests.test_py_methods sZ ! ! ! ! ! ! ! !2    OO $  (  &  " " &   #] 3  ! %}'; < 62Q677 B BE$ < <\\f\==<< $ 4::fe+D+D E EI$$VVXXyy{{;;;<<<<<<<<<<<<<<< 2 B B cee\\f\==BB $ 4::fe+D+D E EI$$VVC[[))C..AAABBBBBBBBBBBBBBB B  "8 ,  "6 * 62Q677 K KE$ K K\\U\;;KK%%iUEJJJKKKKKKKKKKKKKKK K K Ks8AD;;D? D? /AG  G G 8#I''I+ .I+ cbGddtadjdftjdfgdjdft jgdffdd hjd ftjdd hd fftj d ftj d ftgd j d ftj tgd d fft dj dftj j t ddfff }ttjdzD]~}|D]y\}}|||5||||}|||||dddn #1swxYwYztjdtjdf}ttjdzD]X}|D]S}|||5|t.|j||dddn #1swxYwYTYdS)Nc*eZdZGddeZdS)SubclassceZdZdS)Subclass.NestedNrkr%rrr1r` srr1N)r<r=r>ryr1r%rrr^r^ s>          rr^abcd)r)rarr.r%rrr))r~r)rr)sabcr)rrrsweet)r6r6rT maketransrrV)rDr^indexry__len__r __contains__r5rrrtrccountr1r7rr-rrrrrZrr)r. c_methodsrrUr/rrZrWs rtest_c_methodsz"AbstractPickleTests.test_c_methods s     u    \6 " Y & YY  # \III< (V $ '  A{ + ]0 1  "2 3 ggg   $d + ^hwww//3 4 __W % % +V 4 _ "X__W%=%=s$C D+ .62Q677 F FE ) F F \\f\==FF $ 4::fe+D+D E EI$$VVT]IIt4DEEEFFFFFFFFFFFFFFF F  { + M* % 62Q677 K KE$ K K\\U\;;KK%%iUEJJJKKKKKKKKKKKKKKK K K Ks%7AF  F F 3#H""H& )H& c tddddfttdddftjddft jd d ftd d ftj d d ftj ddftj ddfg}|D]\}}}tdD]}| t||5|||}|d|d|||t||t|dddn #1swxYwYƌdS)Nrr __builtin__xrange123 itertoolsimaprr exceptionsr<rIterableUserDictUserListr defaultdictr)rrrr)r7rrrrrrr<rrrrrsrrrrr rr)r.testsvalr?rrrs rtest_compat_picklez&AbstractPickleTests.test_compat_pickle6 s 1a[[- 2 e__k6 2  }h 7 [)Y / [[, 4  ! # #Z1C D  ! # #Z <  $ & & } E  $ H HNCdq H H\\tCyy\>>HH"jje44GMMMTT#:"B"B"D"DgNNNMM$tzz'':':";";T#YYGGGHHHHHHHHHHHHHHH H H HsBE((E, /E, cLd}tdtjdzD]h}|ttjf5t j|||dddn #1swxYwYi|` tdtjdzD]h}|ttjf5t j|||dddn #1swxYwYi|j |_ tdtjdzD]h}|ttjf5t j|||dddn #1swxYwYidS)NcdSr$r%r%rrrz6AbstractPickleTests.test_local_lookup_error..fK  Drrr) r7rr-rAttributeErrorrrr%rr=r>r<r.rrs rtest_local_lookup_errorz+AbstractPickleTests.test_local_lookup_errorH sB   1f59:: 6 6E""NF4H#IJJ 6 6 1e 4 4555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 L1f59:: 6 6E""NF4H#IJJ 6 6 1e 4 4555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6^ 1f59:: 6 6E""NF4H#IJJ 6 6 1e 4 4555 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s6 )A>>B B )DD D #)FF F c#^Kd}t|Vt|Vt}t|}t|d}dtjfD]E}t|dd|Vt|ddd | Vt|ddd | VDdSdS) Nabcdefghlittle) byteorderrrH)r)rrr)rrr,)rrrrr+)rrrrr from_bytesrr)r. bytestringrrprs rbuffer_like_objectsz'AbstractPickleTests.buffer_like_objectsa s J''''' +++++  "$$ENN:NBBE[45 4 4&uS-2444444'uS/5UDDDDDD'uS-3V-24444444 # " 4 4rcv|D]}tdtjdzD]}|||}|jr|dkr|d||ttj |d|dkr|ttj ||j rdnd|ttj ||j rdndd}||||}|||| |}||||t!|t!||||dS)Nrrrr~cdSNTr%rs rbuffer_callbackzAAbstractPickleTests.test_in_band_buffers..buffer_callback s#trr)rr7rr-rrrrr" NEXT_BUFFERSHORT_BINBYTESrrrrrr)r.rrrrdata2rs rtest_in_band_buffersz(AbstractPickleTests.test_in_band_buffersu s++-- + +Cq&"9A"=>> + +zz#u--#5 MM+t444  f.@$!G!GKKKA::$$\&2G%N%N*-,%=QQA???$$\&2CT%J%J*-,%=QQA???$$$ JJsE7F'HHE$$UD111jj&&  c*** d3iic333  c****/ + + +rc.|D]}tddD]Q}|t5|||gjdddn #1swxYwYRtdt jdzD]y}gfd}||||}|d|| tt j |d| tt j |d| tt j |d| tt j||jrdnd|jr)| t#dd|t j5||dddn #1swxYwY||}|jr|||nF|t-|t-|| ||||t/}|jr|||3|t-|t-|| ||{dS)NrrrrcR|Sr$)rr)rbufferss rr?z6AbstractPickleTests.test_oob_buffers.. sW^^BFFHH-E-Err~r)rr7rr+rrrr-rrr"rrrREADONLY_BUFFERrrrrcrrrriter)r.rrrrrrs @rtest_oob_buffersz$AbstractPickleTests.test_oob_buffers sq++--& /& /Cq! : :&&z22::JJsE/1y::::::::::::::::::q&"9A"=>> / /"E"E"E"Ezz#u2A"CC  d333  f.CT!J!JANNN  f.?!F!FJJJ  f.@$!G!GKKK  f.Dd!K!K&)l!9;;;#E$$U71:%6%6 DDD&&v'=>>%%JJt$$$%%%%%%%%%%%%%%%jjwj77,/MM#s++++MM$s))T#YY777$$S#...jjtG}}j==,/MM#s++++MM$s))T#YY777$$S#....A / & /& /s$A//A3 6A3 HH H ctd}tdtjdzD]}g}|j}||||}t t|}|||}| t|t|| ||dSNfoobarrrrr) rr7rr-rrrrtrrrr)r.rrrrrrs r%test_oob_buffers_writable_to_readonlyz9AbstractPickleTests.test_oob_buffers_writable_to_readonly sI&&1f59:: ' 'EG%nO::c5/:JJD)W--G**T7*33C MM$s))T#YY / / /   S# & & & & ' 'rctjd}tddD]O}|tj5|||dddn #1swxYwYPdS)Nrrr)rrr7r PickleErrorr)r.rrs rtest_picklebuffer_errorz+AbstractPickleTests.test_picklebuffer_error s   + +1a[[ & &E""6#566 & & 2u%%% & & & & & & & & & & & & & & & & &sA))A- 0A- cd}tjd}|t5||d|ddddS#1swxYwYdS)Ncddz dSr,r%rs rrzGAbstractPickleTests.test_buffer_callback_error..buffer_callback s aCCCCrrrr)rrrZeroDivisionErrorr)r.rrs rtest_buffer_callback_errorz.AbstractPickleTests.test_buffer_callback_error s      + +   0 1 1 ? ? JJr1oJ > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?sAAActjd}tdtjdzD]}|||gj}|t5||tdddn #1swxYwY|tj 5||gdddn #1swxYwYdSr) rrr7r-rrrrrr?rc)r.rrrs rtest_buffers_errorz&AbstractPickleTests.test_buffers_error s^   + +1f59:: - -E::b%:CCD""9-- 3 3 4 222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3""6#9:: - - 4 ,,, - - - - - - - - - - - - - - -  - -s$+$BB "B C))C- 0C- ctdtjdzD]1}|d|d}||d}2dS)Nrrrr)r7rr-rr)r.r data_pickledrs r+test_inband_accept_default_buffers_argumentz?AbstractPickleTests.test_inband_accept_default_buffers_argument s[1f59:: : :E::a:EEL::lD:99DD : :rNzTest needs Numpyc@fdfdfd}tjd}||||dddtjdd}||||j||ddddS)Nctj|||jj|jjdSr$)nptesting assert_equalrctypesrr'rr.s r check_no_copyz=AbstractPickleTests.test_buffers_numpy..check_no_copy s? J # #Aq ) ) )   QX]AHM : : : : :rctj|||jj|jjdSr$)rrrrrrrs r check_copyz:AbstractPickleTests.test_buffers_numpy..check_copy s? J # #Aq ) ) )    qx} = = = = =rctdtjdzD]9}||}|}||:tdtjdzD]>}d}|||}|}||?tdtjdzD]k}g}|j}|||}||}|jjs |jjr ||_||ldS)NrrrcdSrr%)rs rr?zMAbstractPickleTests.test_buffers_numpy..check_array.. sDrrr) r7rr-rrrrrr) arrrrrrrrrr.s r check_arrayz;AbstractPickleTests.test_buffers_numpy..check_array shq&"9A"=>> % %zz#u--jj&& 3$$$$q&"9A"=>> % %"0.zz#uozNNjj&& 3$$$$q&"9A"=>> ) )").zz#uozNNjjwj779))SY-C)!M#s++++JsC(((( ) )rrr r-)rarangereshapeT)r.rrrrs` @@rtest_buffers_numpyz&AbstractPickleTests.test_buffers_numpy s ; ; ; ; ; > > > > > ) ) ) ) ) ) ).ill C C!Himm##F++ C CE C!Hrc  ddlm G fddatD]}t dD]}ddt dDD]}||_|_d ||}||_#t$r/}d }| |t|Yd}~d}~wwxYwdS) Nr) getrandbitsc,eZdZfdZdZfdZdS)BadcSr$r%)r.r\ENABLEDs rr]z Bad.__eq__ srcdSrDr%r2s r__hash__z Bad.__hash__ srrc\ddkrtdfS)Nrrr%)clearr)r. collectionrs rrszBad.__reduce__ s2;q>>Q&&$$&&&Ry rN)r<r=r>r]rrs)rrrsrrr s[         ! ! ! ! ! ! ! !rrrFcDi|]}ttSr%)r)rrs rr zEAbstractPickleTests.test_evil_class_mutating_dict..( s">>>qceeSUU>>>rTchanged size during iteration) randomrrrr7r3rrrrrry) r.rrr3rr6rrrrs @@@rtest_evil_class_mutating_dictz1AbstractPickleTests.test_evil_class_mutating_dict sD&&&&&& ! ! ! ! ! ! ! ! ! ! ! ! 4 4E2YY 4 4>>E"II>>> %00C!CG%/CNN4::j%88DJJt$$$$#444>HMM(CFF333333334 4 4 4s&+B C %CC cntds%tdGddafd}tD]|tg|ttg|th|tth|tdi|tdtdi|ttddS) Nrz has no associated pickler typeceZdZdS)ClearerNrkr%rrrr: r=rrcGfddj}|tj} |dS#t$r0}d}|t |Yd}~dSd}~wwxYw)NceZdZfdZdS)]AbstractPickleTests.test_evil_pickler_mutating_collection..check..EvilPicklercZt|trdSr$)rrr)r.rrs r persistent_idzkAbstractPickleTests.test_evil_pickler_mutating_collection..check..EvilPickler.persistent_id? s,!#w//+"((***4rN)r<r=r>r)rsr EvilPicklerr> s.       rrr)rr6rBrrrry)rrrr6rrr.s` rcheckzHAbstractPickleTests.test_evil_pickler_mutating_collection..check= s       dl   "k"*,,66G 0 Z((((( 0 0 0: hA///////// 0sA B%BBrrr*)rskipTestrrr)r.rrs` @r%test_evil_pickler_mutating_collectionz9AbstractPickleTests.test_evil_pickler_mutating_collection4 s[tY'' P--4:: N N NOO O         0 0 0 0 0 0 0 0E E799+    E799gii( ) ) ) E799+    E799gii( ) ) ) E799a. ! ! ! E799aA. / / / EgiiGII.. / / / / 0 0r)r<r=r> optimizedrr rrrr!r*r(r3r5r:rBrErGrJrNrTrVrYr`rcrergrjrlrnrprsrurwryr|rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrr r%r(r7r<r@rBrJrPrSrWr]r`rcrhrorsrxrrrrrrrrrr rrrrrrrrrrrrrrskip_if_pgo_taskrequires_resourcerrrr.r9r@r[rirvr|rrrrrrrrunittestskipIfrrrrr%rrrrsI%/I   +9N&&&(/// , , ,08Q # # # #(((999EEE:Bq&&&&4222CCCOOO08Q # # # #(((999GGG:Bq&&&&4222CCCQQQ4< 6 6 6 6,,,===KKK>FST99998666GGGUUU///, % % % + + +...2777888@@@666<<<999:::BBB888>>>&&&))), + + +'''&&& 6 6 6LLL&&&&%%%.000_Xw00::10:///...777,,,***&""" --- 222444 , , ,444JJJ&LLLLLL%?%?%?N???2&&&&&& A A AAAA& ( ( (    8999999 999 222,333.9992*** ***(***("""222------...222%%Z%. 1 1 1 , , ,,,,+++ K K K))) MMMNNNN!-H-H-H^ Wu%% 2 2&% 2666@(F(F(FT ?.?.?.B 2 2 2   8K8K8Kt*K*K*KXHHH$6662444(+++>(/(/(/T ' ' '&&&??? - - -::: X_R4Z!344**54*X444<00000rrceZdZeedddZeedddZeedddZeeddd Z eeddd Z d S) BigmemPickleTestsg @F)sizememusedry_runcJdd|zz} tD]}|dkr ||5|ttf5|||dddn #1swxYwYdddn #1swxYwY d}dS#d}wxYw)Nrrrr|r)rrrr+rdr)r.rrrs rtest_huge_long_32bz$BigmemPickleTests.test_huge_long_32bX s:QX " 9 9199\\\..99**J +FGG99 4% 888999999999999999999999999999999 9DDD4DKKKKsR&B"B A6* B 6A: :B =A: >B  B B BB BB"g@c d|dzz} tD]}|dkr ||5 |||}tjt jdt|z}||}| |||t|z |d}n#d}wxYw dddn #1swxYwY d}dS#d}wxYw)Nabcdrrr|rrM) rrrrrrOrPr/rdrr.rrrrheader data_starts rtest_huge_bytes_32bz%BigmemPickleTests.test_huge_bytes_32bi sQ$!)$ " ' '199\\\.. ' ' '"&**TE*"B"B"(/"(+dCII">">#?%,]]4%8%8 (("#Js6{{$::$EFHHH#'$ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'DDD4DKKKKsF&C#CB B>;C>CC C#C C#C C##C'c d|dzz} tD]0}|dkr ||5|dkr]|ttf5|||dddn #1swxYwY ddd |||}t jtj dt|z}| |}| |||t|z |d}n#d}wxYw dddn #1swxYwY2 d}dS#d}wxYw)Nsacbdrrr|r">#?%,]]4%8%8 (("#Js6{{$::$EFHHH#'$!''''''''''''''' '*DDD4DKKKKsq'E(D6A=1 D6=B D6B D6 EB D"D6"D&&D6* E6D: :E=D: >EE rc d|dzz} tD])}|dkr ||5 |||}tjt jdt|z}|d}| |||t|z || | dtdz|dz t|d}n#d}wxYw dddn #1swxYwY+ d}dS#d}wxYw)Nrarrr|rrMr) rrrrrrOrPr/rdrrindexrs rtest_huge_str_32bz#BigmemPickleTests.test_huge_str_32b s# " ' 'A::\\\.. ' ' '"&**TE*"B"B"("3"(+dCII">">#?%,]]7%;%; (("#Js6{{$::$EFHHH(('..*A*ACLL*P*1--*@*@+ACFt99NNN#'$ ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '"DDD4DKKKKsF'ED/C%DD/DD/# E/D3 3E6D3 7EEc Vd|dzz} tD]}|dkr ||5|dkr]|ttf5|||dddn #1swxYwY ddd |||}t jtj dt|z}| d}| |||t|z || | dtdz| dz t|d}n#d}wxYw dddn #1swxYwY d}dS#d}wxYw)Nrarrr|rrr)rrrr+rdrrrrOrPr/rdrrrs rtest_huge_str_64bz#BigmemPickleTests.test_huge_str_64b sY# " ' 'A::\\\..''qyy!.. M/JKK== JJteJ<<<=============== ''''''' '"&**TE*"B"B"("4"(+dCII">">#?%,]]7%;%; (("#Js6{{$::$EFHHH(('..*A*ACLL*P*1--*@*@+ACFt99NNN#'$!''''''''''''''' '*DDD4DKKKKsq'F$(FA=1 F=B FB F F$C%E>;F>FF F$F F$F F$$F(N) r<r=r>r r rrr rrrr%rrrrT sZSe444  54  ZSe44454(ZSe44454:ZSE222324ZSE22232rrceZdZdZdZdZdS)rz4No __reduce_ex__ here, but inheriting it from objectrc"d|_tdfS)Nrr%)rrr2s rrszREX_one.__reduce__ s{rNr<r=r>rIrrsr%rrrr s.>>NrrceZdZdZdZdZdS)rz1No __reduce__ here, but inheriting it from objectNc"||_tdfSrgrrr.rs rrzREX_two.__reduce_ex__  {rr<r=r>rIrrr%rrrr s.;; FrrceZdZdZdZdZdS)rNc"||_tdfSrgrrs rrzREX_three.__reduce_ex__ rrc td)Nz#This __reduce__ shouldn't be called)rr2s rrszREX_three.__reduce__ s>???r)r<r=r>rrrsr%rrrr s< F@@@@@rrceZdZdZdZdZdS)rz(Calling base class method should succeedNcF||_t||Sr$)rr?rrs rrzREX_four.__reduce_ex__ s ##D%000rrr%rrrr s.22 F11111rrceZdZdZdZdZdS)rz-This one used to fail with infinite recursionrcDd|_t|SrP)rr?rsr2s rrszREX_five.__reduce__ s  &&&rNrr%rrrr s.77N'''''rrc,eZdZdZddZdZdZdZdS)rAz]This class is used to check the 4th argument (list iterator) of the reduce protocol. Nc||ng|_dSr$r>)r.rs rrHzREX_six.__init__ #/UUR rc^t|t|uo|j|jkSr$)rrr[s rr]zREX_six.__eq__ 'DzzT%[[(FTZ5;-FFrc:|j|dSr$)rr)r.items rrzREX_six.append s $rcNt|ddt|jdfSrg)rrrr2s rrszREX_six.__reduce__ s#Dzz2tT$*%5%5t;;rr$)r<r=r>rIrHr]rrsr%rrrArA sb8888GGG   <<<<rIrHr]r rsr%rrr_r_ sg8888GGG   DDDDDrr_c,eZdZdZddZdZdZdZdS)rzUThis class is used to check the 3th argument (state) of the reduce protocol. Nc||_dSr$rr.rs rrHzREX_state.__init__ rqrc^t|t|uo|j|jkSr$rrr[s rr]zREX_state.__eq__ rrc||_dSr$r rs r __setstate__zREX_state.__setstate__ rqrc0t|d|jfSrgrr2s rrszREX_state.__reduce__ sDzz2tz))rr$)r<r=r>rIrHr]rrsr%rrrr sbGGG*****rrceZdZdZdS)rLrNr<r=r>rGr%rrrLrL# s FFFrrLceZdZdZdS)MyFloatg?Nrr%rrrr& s FFFrrceZdZdZdS) MyComplexy?Nrr%rrrr) s FFFrrceZdZdZdS)MyStrr?Nrr%rrrr, s FFFrrceZdZdZdS) MyUnicodeu hello ሴNrr%rrrr/ s FFFrrceZdZdZdS)rr.Nrr%rrrr2 s FFFrrceZdZgdZdS)r9r.Nrr%rrr9r95 s YYFFFrr9ceZdZdddZdS)rXrrr}Nrr%rrrXrX8 s1  FFFrrXceZdZddhZdS)rr~rNrr%rrrr; s3ZFFFrrc(eZdZeddhZdS)rr~rN)r<r=r>rrGr%rrrr> s! YSz " "FFFrrceZdZdZdS) MyIntWithNewctr$)AssertionError)rrps rrzMyIntWithNew.__new__G srN)r<r=r>rr%rrr$r$F s#rr$ceZdZejZdS)rRN)r<r=r>rrr%rrrRrRJ skGGGrrRceZdZdgZdS)rrN)r<r=r>rr%rrrrN sIIIrrceZdZdZdZdS)rUc td)Nz3SimpleNewObj.__init__() didn't expect to get called)rrs rrHzSimpleNewObj.__init__R sMNNNrcbt|t|ko|j|jkSr$)rrZr[s rr]zSimpleNewObj.__eq__U s'4yyCJJ&J4=EN+JJrN)r<r=r>rHr]r%rrrUrUQ s:OOOKKKKKrrUceZdZdZdS)rcd|zdfS)N%Xrr%r2s r__getnewargs__zComplexNewObj.__getnewargs__Y st R  rN)r<r=r>r/r%rrrrX s#!!!!!rrceZdZdZdS)rcd|zfddifS)Nr.baserr%r2s r__getnewargs_ex__z!ComplexNewObjEx.__getnewargs_ex__] st ~|++rN)r<r=r>r3r%rrrr\ s#,,,,,rrceZdZdZdS)rc|jdSr$)r)r.r0s r __getattr__zBadGetattr.__getattr__a s  rN)r<r=r>r6r%rrrr` s#rrc\eZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdS)AbstractPickleModuleTestsc ttd} ||t|jd|t jtdS#t jtwxYwNr{rrcloserr+rrunlinkr.rs rtest_dump_closed_filez/AbstractPickleModuleTests.test_dump_closed_fileg m    % GGIII   j$)S! < < <  V $ $ $ $ $I V $ $ $ $ 6A((Bc ttd} ||t|jd|t jtdS#t jtwxYwr:r<r?s rtest_load_closed_filez/AbstractPickleModuleTests.test_load_closed_fileo rArBctj}didg}||||d||}|||dS)Nr;|r)r6rBrr8loadr)r.streamrrs rtest_load_from_and_dump_to_filez9AbstractPickleModuleTests.test_load_from_and_dump_to_filew shR~ $ AIIf%%  D)))))rcF|tjddSr)rrr-r2s rtest_highest_protocolz/AbstractPickleModuleTests.test_highest_protocol s! 0!44444rc>tj}|d|d|d|d|dd|dd||d||ddS)Nr;r)filerr)r6rBrrPicklerr?s r test_callapiz&AbstractPickleModuleTests.test_callapi s JLL #q" #A +++ 3 3 $$$ Q Q $$$$$rcLttd} tD]%}|t|jd||& |tjtdS#|tjtwxYw)Nwr;) rrrrrrr=rr>r{s rtest_dump_text_filez-AbstractPickleModuleTests.test_dump_text_file s    %" G G!!)TYQFFFF G GGIII  V $ $ $ $ $ GGIII  V $ $ $ $s -A44/B#ctjd}|ttjt jf|j|dS)NsX''.) r6rBrrrOrrrcrG)r.rs rtest_incomplete_inputz/AbstractPickleModuleTests.test_incomplete_input s> Jw   8V\63IJDIWXYYYYYrcGdd|j}Gdd|j}|tj|jd|tj|jdS)NceZdZdZdS);AbstractPickleModuleTests.test_bad_init..BadPicklercdSr$r%r2s rrHzDAbstractPickleModuleTests.test_bad_init..BadPickler.__init__ rNrcr%rr BadPicklerrW  $ $ $ $ $rrZceZdZdZdS)=AbstractPickleModuleTests.test_bad_init..BadUnpicklercdSr$r%r2s rrHzFAbstractPickleModuleTests.test_bad_init..BadUnpickler.__init__ rYrNrcr%rr BadUnpicklerr] r[rr_r)rN UnpicklerrrrrrcrG)r.rZr_s r test_bad_initz'AbstractPickleModuleTests.test_bad_init s % % % % % % % % % % % % %4> % % % &. 0A1EEE &0,,..2EFFFFFrctdtdGdd}|ttf|j|Gfdd}|ttf|j|Gfdd}|ttf|j|Gfdd}|t |j|Gfdd}|t |j|Gfd d}|t |j|Gfd d}|tt f|j|Gfd d} ||n#t $rYnwxYwGfd d} ||dS#t $rYdSwxYw) Nctr$)rrs rraises_oserrorzIAbstractPickleModuleTests.test_unpickler_bad_file..raises_oserror sMrcddz dSr,r%r2s r bad_propertyzGAbstractPickleModuleTests.test_unpickler_bad_file..bad_property s aCCCCrceZdZdS.FNrkr%rrFri r=rrjceZdZZdSrhr<r=r>rFrdsrrjz.F s%HHHrceZdZZdSrhr<r=r>rErmsrrjz.F s!DDDrceZdZZZdSrh)r<r=r>rErFrfrdsrrjz.F sD%HHHrceZdZZZdSrh)r<r=r>rFrErqsrrjz.F s#H!DDDrceZdZZdSrhrlrfsrrjz.F s#HHHrceZdZZdSrhrortsrrjz.F sDDDrceZdZZZZdSrh)r<r=r>r0rErFrqsrrjz.F sD!D%HHHrceZdZZZZdSrh)r<r=r>readintorErFrqsrrjz.F s#H!D%HHHr)rrrzrr`r)r.rjrfrds @@rtest_unpickler_bad_filez1AbstractPickleModuleTests.test_unpickler_bad_file sy                 >95t~qqssKKK & & & & & & & & & & >95t~qqssKKK " " " " " " " " " " >95t~qqssKKK & & & & & & & & & & & +T^QQSSAAA " " " " " " " " " " " +T^QQSSAAA $ $ $ $ $ $ $ $ $ $ +T^QQSSAAA           >+<=t~qqssSSS & & & & & & & & & & &  NN1133         D  & & & & & & & & & & &  NN1133          DD s$ G)) G65G6 H)) H76H7cGdd}|t|j|Gdd}|t|j|dS)NceZdZdS):AbstractPickleModuleTests.test_pickler_bad_file..FNrkr%rrrjr| r=rrjc$eZdZedZdS)r|cddz dSr,r%r2s rrGz@AbstractPickleModuleTests.test_pickler_bad_file..F.write s!rN)r<r=r>rrGr%rrrjz:AbstractPickleModuleTests.test_pickler_bad_file..F s-   X   r)rrrNr)r.rjs rtest_pickler_bad_filez/AbstractPickleModuleTests.test_pickler_bad_file s         )T\1133777         +T\1133?????rctd}tddD]G}|t5|||gjdddn #1swxYwYHtdt jdzD]}g}|j}||||}|d||t|dd|t j 5||dddn #1swxYwY|||}| ||dS)Nsfoorr)rrrr) rr7rr+rrr-rrrrcr) r.rrrrrrrrs rcheck_dumps_loads_oob_buffersz7AbstractPickleModuleTests.check_dumps_loads_oob_buffers sF##1a[[ 1 1E"":.. 1 1cE&(i1111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11f59:: $ $EG%nO5u)8:::D   VT * * *   U71:.. 7 7 7""6#9::  d                %g...C MM#s # # # # $ $s#AA #A < DD D cF||j|jdSr$)rrrr2s rtest_dumps_loads_oob_buffersz6AbstractPickleModuleTests.test_dumps_loads_oob_buffers s" **4:tzBBBBBrcHfd}fd}||dS)Ncptj}j||fi||Sr$)r6rBrrD)rrrr.s rrzCAbstractPickleModuleTests.test_dump_load_oob_buffers..dumpss8 A DIc1 ' ' ' ' '::<< rcHtj|}j|fi|Sr$)r6rBrG)rrrr.s rrzCAbstractPickleModuleTests.test_dump_load_oob_buffers..loadss, 4  A49Q))&)) )r)r)r.rrs` rtest_dump_load_oob_buffersz4AbstractPickleModuleTests.test_dump_load_oob_bufferssS      * * * * * **5%88888rN)r<r=r>r@rDrIrKrOrRrTraryrrrrr%rrr8r8e s%%%%%%***555%%%%%%ZZZ G G G???B @ @ @$$$0CCC 9 9 9 9 9rr8c eZdZdZdZdZdS)AbstractPersistentPicklerTestsct|tr(|dzdkr|xjdz c_t|S|dkr|xjdz c_dSdS)Nrrrtest_false_valuerW)rrid_country false_count)r.r?s rrz,AbstractPersistentPicklerTests.persistent_id$sf fc " " vzQ MMQ MMv;;  ) ) )    !  24rc|s|xjdz c_dS|xjdz c_t|}|dzdksJ|S)Nrrrr)load_false_count load_countr)r.oidr?s rpersistent_loadz.AbstractPersistentPicklerTests.persistent_load.sU   ! !Q & ! !%% OOq OOXXFA:????Mrc ttddgz}tD]}d|_d|_d|_d|_||| |||||jd||jd||jd||jddS)Nrkrrrr) rr7rrrrrrrr)r.Lrs rtest_persistencez/AbstractPersistentPicklerTests.test_persistence8s rOO12 2 7 7EDM D $%D !DO   TZZ 1e(<(<==q A A A   T]A . . .   T-q 1 1 1   T_a 0 0 0   T2A 6 6 6 6 7 7rN)r<r=r>rrrr%rrrrsA  7 7 7 7 7rrc,eZdZdZdZdZdZdZdS)&AbstractIdentityPersistentPicklerTestsc|Sr$r%)r.rs rrz4AbstractIdentityPersistentPicklerTests.persistent_idH rc|Sr$r%)r.pids rrz6AbstractIdentityPersistentPicklerTests.persistent_loadKrrc||||}||t||||dSr$)rrr.rr)r.rrrs r_check_return_correct_typezAAbstractIdentityPersistentPicklerTests._check_return_correct_typeNsYJJtzz#u5566  ic333 C(((((rctD]D}|dkr|ddddddtfD]}|||EdS)Nrrsabc zabc rg*\()rrry)r.rrs rtest_return_correct_typez?AbstractIdentityPersistentPicklerTests.test_return_correct_typeSs| @ @Ezz//q9999$gr:sC@@C33C????@  @ @rcd}|tj|j|dtj|dzdz}|tj|j|dS)Nu∅rrr*)rrrrPERSIDr rcr)r. non_ascii_strrs rtest_protocol0_is_ascii_onlyzCAbstractIdentityPersistentPicklerTests.test_protocol0_is_ascii_only\sh'  &. M1MMM--"6"6w"?"??&H &0$*gFFFFFrN)r<r=r>rrrrrr%rrrrFsg))) @@@GGGGGrrcXeZdZdZdZdZdZdZdZdZ ddd Z d Z d Z d Z d ZdS)#AbstractPicklerUnpicklerObjectTestsNc*|jsJ|jsJdSr$) pickler_classunpickler_classr2s rrz)AbstractPicklerUnpicklerObjectTests.setUphs&!!!!######rcgd}tD]9}tj}|||}|||}|d||||}||d||||}| ||| ||;dS)Nabcdefgr,r) rr6rBrrrDr8truncate clear_memorr)r.rrrr first_pickledsecond_pickled third_pickleds rtest_clear_pickler_memoz;AbstractPicklerUnpicklerObjectTests.test_clear_pickler_memols" *)) ; ;E A((E22G LL   JJLLM FF1III JJLLL LL   ZZ\\N    FF1III JJLLL LL   JJLLM    ~ > > >   ]M : : : :/ ; ;rcgd}tj}||}|||}tj}||}|j|_|||}|||dSNr)r6rBrrrDmemor)r.rrrrprimedprimed_pickleds rtest_priming_pickler_memoz=AbstractPicklerUnpicklerObjectTests.test_priming_pickler_memos))) JLL$$Q'' T JLL##A&&l  D M>:::::rc&gd}tj}||}|||}tj}||}|j|_|||}|tj|}|}||||tj|}|j|_|} |j || || | |udSr) r6rBrrrDrrrGrrr) r.rrrrrr unpicklerunpickled_data1unpickled_data2s rtest_priming_unpickler_memoz?AbstractPicklerUnpicklerObjectTests.test_priming_unpickler_memosL))) JLL$$Q'' T JLL##A&&l  D((M)B)BCC #..** $///%%bj&@&@AAn  ++--  $/// ?:;;;;;rcDgd}tj}||}|||}gd}tj}||}|||}tj}|||d||}|| ||d| |||d|| |dS)Nr)rrrr) r6rBrrrDrGr8rrrGr)r.data1rrpickled1rpickled2rs rtest_reusing_unpickler_objectszBAbstractPicklerUnpicklerObjectTests.test_reusing_unpickler_objectssT*** JLL$$Q'' U::<<### JLL$$Q'' U::<< JLL  q ((++  ))5111 q    q  ))511111rTr3c tD]m}||5dtdDdtgz}|}|||}|||}d}|||z}||} t|D]z} |r|} | | ||r8| || t|z{| t| j dddn #1swxYwYodS)Nr|c0g|]}|t|fSr%rxrs rrzSAbstractPicklerUnpicklerObjectTests._check_multiple_unpicklings..s":::!SVV:::risabcderr) rrr7r/rrrDrr;rrGrr) r.ioclassr3rrrrrrrrrs r_check_multiple_unpicklingsz?AbstractPicklerUnpicklerObjectTests._check_multiple_unpicklingss < |tddSNFr)rr*r2s r$test_multiple_unpicklings_unseekablezHAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_unseekables! (((FFFFFrc>|tddSr)rr@r2s r!test_multiple_unpicklings_minimalzEAbstractPicklerUnpicklerObjectTests.test_multiple_unpicklings_minimals# ((U(CCCCCrcttd}tD]}tddD]}tjtj|}|||}|||d| |}| | |dS)Nrkr ) buffer_sizerr) rr7rr6BufferedRandomrBrrr8rrrG)r.rrbuf_sizerrrs r"test_unpickling_buffering_readlinezFAbstractPicklerUnpicklerObjectTests.test_unpickling_buffering_readlinesE"II 9 9E!!RLL 9 9%bjllIII,,Q,?? T"""q  0033   !1!148888  9 9 9r)r<r=r>rrrrrrrrrrrrr%rrrrcsMO$$$;;;@;;;$<<<<2222@D<<<<<(555GGGDDD 9 9 9 9 9rrreduce_AceZdZdZdS)rc ttffSr$)ryrr2s rrszAAA.__reduce__sXKrNrr%rrrrs#     rrceZdZdZdZdS)BBBcd|_dS)Nzsome attributer~r2s rrHz BBB.__init__ s"rcd|_dS)NBBB.__setstate__rrs rrzBBB.__setstate__s #rN)r<r=r>rHrr%rrrr s2""" $$$$$rrcd|_dS)atCustom state setter for BBB objects Such callable may be created by other persons than the ones who created the BBB class. If passed as the state_setter item of a custom reducer, this allows for custom state setting behavior of BBB objects. One can think of it as the analogous of list_setitems or dict_setitems but for foreign classes/functions. custom state_setterNr)rrs r setstate_bbbrs "CEEErceZdZdZdZdS)AbstractCustomPicklerClasszrIrr%rrrr!s)FFrrc4eZdZdZejdZdS)AbstractHookTestsc|d}d}d}Gdd}tdtjdzD]}||5t j}|||}|||tj gtj | \}} } | |d | | d | | tj |tj5||dddn #1swxYwY|t"d 5||dddn #1swxYwYdddn #1swxYwYdS) NcdSr$r%r%rrrz.AbstractHookTests.test_pickler_hook..f?ryrcdSr$r%r%rrrz.AbstractHookTests.test_pickler_hook..gBryrcdSr$r%r%rrrz.AbstractHookTests.test_pickler_hook..hEryrceZdZdS)4AbstractHookTests.test_pickler_hook..MyClassNrkr%rrrrHr=rrrrr|rrr)r7rr-rr6rBrrmathlogrrDrrrrassertRaisesRegexr+) r.rrrrrbiornew_fsome_strmath_logs rtest_pickler_hookz#AbstractHookTests.test_pickler_hook:s                  1f59::  EE**  jll&&sE227DH-...,2L,H,H)x  ***  :666  h111&&v';<<FF1III++"$=??FF1III%                 s[ C!F/.E F/E F/E F/6F F/F F/F F//F3 6F3 ctdtjdzD]}||5d}t j|}t j}|||}| |tj | }|dksJ~~| |dddn #1swxYwYdS)Nrrr|cdSr$r%r%rrrzEAbstractHookTests.test_reducer_override_no_reference_cycle..fjsDrr) r7rr-rrMrefr6rBrrrrDrT)r.rrwrrrrs r(test_reducer_override_no_reference_cyclez:AbstractHookTests.test_reducer_override_no_reference_cyclebs* 1f59:: ( (EE** ( ([^^jll&&sE22q  S\\^^44zzzz!!""$$''' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (sB#C%%C) ,C) N)r<r=r>rr cpython_onlyrr%rrrr9sC&&&P (((((rrc&eZdZdZdZdZdZdS)AbstractDispatchTableTestsctj}||d}|t5|jdddn #1swxYwY|t|ddS)Nrdispatch_table)r6rBrrrzrrYr)r.rrs rtest_default_dispatch_tablez6AbstractDispatchTableTests.test_default_dispatch_table}s JLL   q! $ $   ~ . .                    $45566666sAAAcGfddjdfd }|dS)NceZdZZdS)GAbstractDispatchTableTests.test_class_dispatch_table..MyPicklerN)r<r=r>r)dtsr MyPicklerrsNNNrr ctj}||}|j|||Sr$)r6rBrrrrD)rrrrr r r.s rrzCAbstractDispatchTableTests.test_class_dispatch_table..dumpssU A !X&&A   Q-r 2 2 2 FF3KKK::<< rr$)get_dispatch_tabler_test_dispatch_table)r.rr r s` @@rtest_class_dispatch_tablez4AbstractDispatchTableTests.test_class_dispatch_tables  $ $ & &       *            !!%,,,,,rcldfd }|dS)Nctj}||}|_|j|||Sr$)r6rBrrrrrD)rrrrr r.s rrzFAbstractDispatchTableTests.test_instance_dispatch_table..dumpssa A""1h//A!A    Q-r 2 2 2 FF3KKK::<< rr$)r r )r.rr s` @rtest_instance_dispatch_tablez7AbstractDispatchTableTests.test_instance_dispatch_tablesV  $ $ & &        !!%,,,,,rc fd}d}d}||||||||d fd}||t<||| ||||t}t}|||t|||t|||t|||t||t<|||t||| |||t|||td fd} | |t<|t=||| |||t|||t|||t|||jdd } | |t<|||jd dS) Nc@tj|dSNr)rr)rrs rcustom_load_dumpzIAbstractDispatchTableTests._test_dispatch_table..custom_load_dumps<c1 .. .rcPtjtj|dSr)rrrrs rdefault_load_dumpzJAbstractDispatchTableTests._test_dispatch_table..default_load_dumps< S! 4 455 5ry?@reduce_1ctffSr$rx)rREDUCE_1s rrzAAbstractDispatchTableTests._test_dispatch_table..reduce_1 # #rreduce_2ctffSr$rx)rREDUCE_2s rrzAAbstractDispatchTableTests._test_dispatch_table..reduce_2rrrc0td|jddtfSrg)rrZrrs r reduce_bbbzCAbstractDispatchTableTests._test_dispatch_table..reduce_bbbsCL$lB Brr)rcomplexrrrr.r~) r.rrrrrrr~rrr rrs ` @@rr z/AbstractDispatchTableTests._test_dispatch_tablesD / / / / / 6 6 6  ))!,,a000 **1--q111 $ $ $ $ $"*w ))!,,h777 **1--q111 EE EE ))!,,h777 ..q113777 **1--x888 //22C888's ))!,,h777 ))!,,h777 **1--x888 //22C888 $ $ $ $ $&s 3  ))!,,h777 ..q113777 **1--x888 //22C888 **1--/1CDDD C C C)s ))!,,.0EFFFFFrN)r<r=r>rrrr r%rrrr{sZ777--- - - -@G@G@G@G@Grrr$z DATA{0} = (rz {0!r}rz# Disassembly of DATA{0}zDATA{0}_DIS = """\z""")rrrNrr6rrrrrrrOrr rrrMtextwrapr http.cookiesrrrtestr test.supportrrrr r r r test.support.import_helperr test.support.os_helperrrtest.support.warnings_helperrrnumpyr skipUnlessrrr7r-rrr"r(rBr*r?r@rKrXr_rerjrnrtr=rrvr{rrrrrrrrtrrrr'rr(r DATA2_DISr DATA3_DISr DATA4_DISr4r6r8rArithmeticErrorr&rzr BufferError BytesWarningDeprecationWarningrEnvironmentErrorr<FloatingPointError FutureWarning GeneratorExitIOError ImportWarningIndentationError IndexErrorKeyErrorKeyboardInterrupt LookupError MemoryError NameErrorr,rrdPendingDeprecationWarningReferenceErrorrRuntimeWarning StopIteration SyntaxError SyntaxWarning SystemError SystemExitTabErrorrUnboundLocalError UnicodeErrorUnicodeWarning UserWarningr+Warningrr:r;r=rrrrrrrrrrAr_rrLfloatrr!rryrrrDrrr9rrXr5rrrrEr$rRrrUrrrr8rrrrrrrrrrr<r%r'rrrrrr/jrr%rrrOsG    %%%%%%KKK"""""".-----))))))))))))FFFFFF  & & ( ( BBB#x"3;#6#MOO E&)A- . .        & & & & &2: & & & % % % % % % % %,::::::::*////////                                Ca             Fi    88888888      E   8        8G(G(G(G(G(G(G(G(\(P  f % >  B 7  t  7  t.@  F QT Q  L .#.#.#.# .#  .#  .#.# .#.#.#.#.#.# .#.# !.#"#.#$%.#& '.#().#*+.#,-.#./.#01.#2 3.#45.#67.#89.#:;.#<=.#@A.#BC.#DE.#FG.#HI.#J K.#LM.#NO.#PQ.#RS.#TU.#VW.#X Y.#Z[.#.#`<,    *b !b !b !b !b !b !b !b !Lj0j0j0j0j0j0j0j0Z5||||||||Bff@@@@@@@@11111v111'''''v''' < < < < >CB>CCC