idddlmZmZmZmZddlmZddlmZddlZdZ dZ dZ dZ Gd d e ZeZd Zd ZGd dZeZdZdZdZdZdZdZdZdZdZedkr\eeeeeeeeedSdS)) getsourcegetname_wrap likely_import) getimportable)IS_PYPYNi c |dzSNxs K/opt/cloudlinux/venv/lib/python3.11/site-packages/dill/tests/test_source.pyrs adc&t||z SN)fr s rgrs1/rc$d}|||z S)Nc|Srr r s rrz h..gs1Hrr )rrs rhrs 1/rceZdZdZdS)Fooc||z|zSrr )selfrs rbarzFoo.bars Q3q5LrN)__name__ __module__ __qualname__rr rrrrs#rrc ||zSrr )rys raddr#s 1*rc |dzSr r r s rrr s 1a4rceZdZdS)BarN)rrr r rrr&r&"s$rr&cttdksJttdksJttdksJt tdksJt tdksJt tdksJt tddksJt tdd ksJt tdd ksJt t d ksJt td ksJttd ksJtt dksJdS)Nzf = lambda x: x**2 zdef g(x): return f(x) - x z1def h(x): def g(x): return x return g(x) - x rrr rrr&class Bar: pass 8class Foo(object): def bar(self, x): return x*x+x )rrrrrrrr&r rrtest_getsourcer-'sP 1/ / / / / 16 6 6 6 6 1O O O O O s     s     s     q!     q!     q!               31 1 1 1 1 3X X X X X X Xrc:ttdksJdS)Nz&from dill.source import likely_import )rr rr test_itselfr/9s" } % %'P P P P P P PrczttdksJtddksJtddksJttddksJtdddksJtdddksJtddksJtdddksJdS) Nzpow d100 TzTrue explicitzfrom builtins import pow None )rpowr rr test_builtinr7=s s  w & & & & s  w & & & & t   ( ( ( ( sT * * *.J J J J J sT * * *g 5 5 5 5 td + + +x 7 7 7 7 t   ( ( ( ( td + + +x 7 7 7 7 7 7rc<ddlm}t|dksJdS)Nrsinzfrom math import sin )mathr:rr9s r test_importedr<Js4 s  7 7 7 7 7 7 7rcttdtzksJttdtzksJdS)Nfrom %s import add from %s import squared )rr#rsquaredr rr test_dynamicrAOsF s  5@ @ @ @ @ w  #=#H H H H H H HrcFddlm}d}tstjt kr|nd}|}t ||ksJt ||ksJt tdtzksJt tdtzksJdS)Nr)BytesIOzfrom _io import BytesIO zfrom io import BytesIO from %s import Foo ) iorCrsys hexversionPY310brrr_foo)StringIOr"rss r test_classesrLUs$$$$$$!! Ps~//aa6P!hjj! x A % % % % q  Q     s  5@ @ @ @ @ t   6 A A A A A A ArcttdtzksJttdtzksJttdtzksJttjdtzksJtt jdtzksJtddksJtddksJttd d ksJttd d ksJtdd dksJttd d ksJttd d ksJttjd dksJttjd dtzksJttjdddtzksJttdddtzksJttdddtzksJttdddksJttdddksJtddddksJtddddksJttddtzksJttddtzksJttddtzksJttjddtzksJtt jddtzksJtdddksJtdddksJdS)Nr>r?rDzfrom %s import bar r5r1r2Fbynamezdef add(x,y): return x+y zsquared = lambda x:x**2 r+r,z!def bar(self, x): return x*x+x Tmemo)aliasrOzfrom %s import bar as memo zfrom %s import Foo as memo zfrom %s import squared as memo zmemo = squared = lambda x:x**2 z'def add(x,y): return x+y memo = add z memo = None z memo = 100 r3)rr#rr@rrrIr&r rrtest_importablerRcs s  5@ @ @ @ @ w  #=#H H H H H s  5@ @ @ @ @ sw  #9H#D D D D D tx $:X$E E E E E t   ( ( ( ( s  w & & & & s5 ) ) )-L L L L L wu - - -1L L L L L tE * * *h 6 6 6 6 s5 ) ) )-C C C C C s5 ) ) )-j j j j j swu - - -1V V V V V swt , , ,0F0Q Q Q Q Q swfT : : :>\_g>g g g g g s& 6 6 6:X[c:c c c c c wfT : : :>`ck>k k k k k wfU ; ; ;?a a a a a s& 7 7 7;h h h h h t6% 8 8 8O K K K K s& 7 7 7> I I I I sT * * *.Dx.O O O O O w . . .2Lx2W W W W W sT * * *.Dx.O O O O O sw . . .2H82S S S S S tx$ / / /3IH3T T T T T td + + +x 7 7 7 7 sT * * *g 5 5 5 5 5 5rc  ddlm}|gd}t|dksJt|d|jzksJt|ddksJt|dd|jzksJdS#t$rYdSwxYw)Nr)array)r z)from numpy import array array([1, 2, 3]) zfrom %s import array FrN)numpyrTrr ImportError)rTrs r test_numpyrYs gggA   L L L L L   #;e>N#N N N N N 5 ) ) )-Z Z Z Z Z u - - -1IEL\1\ \ \ \ \ \ \ dddsA;A?? B  B c\ttddsJdS)NFrNzOimport dill class Foo(object): def bar(self, x): return x*x+x dill.loads()rrI startswithr rrtest_foor\sH tE * * * 5 57L M MMMMMMr__main__) dill.sourcerrrrr dill._dillrrFrHrrrobjectrrIr#r@r&_barr-r/r7r<rArLrRrYr\rr rrrbsA@@@@@@@@@@@%%%%%% N& suu    - suuYYY$QQQ 8 8 8888 III B B B666@MMM zNKMMMLNNNMOOOLNNNLNNNOJLLL HJJJJJr