bgdZddlZddlZddlmZddlZddlmZdejd<GddeZGd d eZ d Z d Z d Z e dkr e e e dSdS)z; test dill's ability to pickle abstract base class objects N)ABC) FunctionTypeTrecurseceZdZejdZeejdZejejdZe ejdZ e ejdZ dS) OneTwoThreecdS)zA methodNselfs d/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/dill/tests/test_abc.pyfoozOneTwoThree.foos  cdS)zProperty getterNr r s r barzOneTwoThree.bar  rcdS)zProperty setterNr r values r rzOneTwoThree.barrrcdS)z Class methodNr clss r cfoozOneTwoThree.cfoo rrcdS)z Static methodNr r rr sfoozOneTwoThree.sfoo&rrN) __name__ __module__ __qualname__abcabstractmethodr propertyrsetter classmethodr staticmethodrr rr rrs     X  Z  Z   [   \   rrc|eZdZdZdZedZejdZedZ e dZ dS) EasyAsAbccd|_dSN_barr s r __init__zEasyAsAbc.__init__-s  rcdS)NInstance Method FOOr r s r r z EasyAsAbc.foo0s$$rc|jSr'r(r s r rz EasyAsAbc.bar3s yrc||_dSr'r(rs r rz EasyAsAbc.bar7s  rcdS)NClass Method CFOOr rs r rzEasyAsAbc.cfoo;s""rcdS)NStatic Method SFOOr r rr rzEasyAsAbc.sfoo?s##rN) rrrr*r r rr!r"rr#rr rr r%r%,s%%%X ZZ##[#$$\$$$rr%cTtjttusJtjttusJt j5t jdtjtjtdtusJtjtdtusJ dddn #1swxYwYt}d|_tj|}t|t|usJt|jtusJ|ddksJ| dksJ| dksJ| d ksJdS) NignoreT)byrefc |dzS)Nr )xs r z$test_abc_non_local..Ns QTr r2r0r,)dillcopyrr%warningscatch_warnings simplefilterPicklingWarningrtyperrrr )instance depickleds r test_abc_non_localrECs 9[ ! ! 4 4 4 4 9Y  y 0 0 0 0  " "==h(<===yD111[@@@@y$///9<<<<<=============== {{H!>HL (##I  ??$x.. 0 0 0 0   , . . . . ==  q >>  3 3 3 3 3 >>  2 2 2 2 2 ==??3 3 3 3 3 3 3sA(C  CCcGddt}tj|}||usJt|t|usJGfdd|}|dksJ |t dJ#t $r }Yd}~nd}~wwxYwtj|f\}}dt|jksJd t|jvsJt|usJ||usJ||usJt||sJt||rJt||rJ| d t|zksJdS) z- Test using locally scoped ABC class c4eZdZejdZdZdS) test_abc_local..LocalABCcdSr'r r s r r z$test_abc_local..LocalABC.foo\s Drc t|Sr')reprr s r bazz$test_abc_local..LocalABC.baz`s:: rN)rrrrrr rLr rr LocalABCrH[s@           rrMc(eZdZdZfdZxZS)test_abc_local..RealcdS)NTrue!r r s r r z test_abc_local..Real.fooks7rcNdt|zS)NMy )superrL)r Real __class__s r rLz test_abc_local..Real.bazns$5t,,00222 2r)rrrr rL __classcell__)rVrUs@r rUrOjsM    3 3 3 3 3 3 3 3 3 3rrUrQzFailed to raise type errorFNz.RealrS) rr<r=rBr print TypeErrorrr isinstancerLrK)rMlabcrealelabc2pikrUs @r test_abc_localr`Ws3 9X  D x     ::h ' ' ' ' 3333333t333 466D 88::   *+++u      D$$&&>**JE3 T#YY' ' ' ' ' d3ii, , , , , 99D       c5 ! !!! !#t$$$$ $#x(((( ( 7799S ) ) ) ) ) ) )s B B3.B3ctjddi}Gdd}Gdd}||t||rJt||sJt j|||f}t j|\}}}t|t|ksJt||rJt||sJdS)z7 Test calling metaclass and cache registration LocalMetaABCr ceZdZdS)-test_meta_local_no_cache..ClassyClassNrrrr rr ClassyClassrds rrfceZdZdS)-test_meta_local_no_cache..KlassyClassNrer rr KlassyClassrhs drriN)rABCMetaregister issubclassr<dumpsloadsrB)rbrfrireslmabccckcs r test_meta_local_no_cacherss#;~r266L                +&&&+|4444 4 k< 0 000 0 *lK= > >CJsOOME2r ;;$|,, , , , ,"e$$$$ $ b%     r__main__)__doc__r<rrr>typesrsettingsrr%rEr`rsrr rr rxs%  i     #   <$$$$$ $$$.444(/*/*/*b!!!0 zNr