Current Path: > > opt > cloudlinux > venv > lib > python3.11 > site-packages > dill > tests
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
__init__.py | File | 501 bytes | April 17 2025 13:10:59. | |
__main__.py | File | 899 bytes | April 17 2025 13:10:59. | |
test_abc.py | File | 3838 bytes | April 17 2025 13:10:59. | |
test_check.py | File | 1396 bytes | April 17 2025 13:10:59. | |
test_classdef.py | File | 7160 bytes | April 17 2025 13:10:59. | |
test_dataclasses.py | File | 890 bytes | April 17 2025 13:10:59. | |
test_detect.py | File | 4083 bytes | April 17 2025 13:10:59. | |
test_dictviews.py | File | 1337 bytes | April 17 2025 13:10:59. | |
test_diff.py | File | 2667 bytes | April 17 2025 13:10:59. | |
test_extendpickle.py | File | 1315 bytes | April 17 2025 13:10:59. | |
test_fglobals.py | File | 1676 bytes | April 17 2025 13:10:59. | |
test_file.py | File | 13578 bytes | April 17 2025 13:10:59. | |
test_functions.py | File | 4267 bytes | April 17 2025 13:10:59. | |
test_functors.py | File | 930 bytes | April 17 2025 13:10:59. | |
test_logger.py | File | 2385 bytes | April 17 2025 13:10:59. | |
test_mixins.py | File | 4007 bytes | April 17 2025 13:10:59. | |
test_module.py | File | 1943 bytes | April 17 2025 13:10:59. | |
test_moduledict.py | File | 1182 bytes | April 17 2025 13:10:59. | |
test_nested.py | File | 3146 bytes | April 17 2025 13:10:59. | |
test_objects.py | File | 1834 bytes | April 17 2025 13:10:59. | |
test_properties.py | File | 1346 bytes | April 17 2025 13:10:59. | |
test_pycapsule.py | File | 1417 bytes | April 17 2025 13:10:59. | |
test_recursive.py | File | 4182 bytes | April 17 2025 13:10:59. | |
test_registered.py | File | 1573 bytes | April 17 2025 13:10:59. | |
test_restricted.py | File | 783 bytes | April 17 2025 13:10:59. | |
test_selected.py | File | 3218 bytes | April 17 2025 13:10:59. | |
test_session.py | File | 10161 bytes | April 17 2025 13:10:59. | |
test_source.py | File | 6036 bytes | April 17 2025 13:10:59. | |
test_temp.py | File | 2619 bytes | April 17 2025 13:10:59. | |
test_weakref.py | File | 1602 bytes | April 17 2025 13:10:59. |
#!/usr/bin/env python # # Author: Mike McKerns (mmckerns @caltech and @uqfoundation) # Copyright (c) 2008-2016 California Institute of Technology. # Copyright (c) 2016-2023 The Uncertainty Quantification Foundation. # License: 3-clause BSD. The full license text is available at: # - https://github.com/uqfoundation/dill/blob/master/LICENSE import dill dill.settings['recurse'] = True def wtf(x,y,z): def zzz(): return x def yyy(): return y def xxx(): return z return zzz,yyy def quad(a=1, b=1, c=0): inverted = [False] def invert(): inverted[0] = not inverted[0] def dec(f): def func(*args, **kwds): x = f(*args, **kwds) if inverted[0]: x = -x return a*x**2 + b*x + c func.__wrapped__ = f func.invert = invert func.inverted = inverted return func return dec @quad(a=0,b=2) def double_add(*args): return sum(args) fx = sum([1,2,3]) ### to make it interesting... def quad_factory(a=1,b=1,c=0): def dec(f): def func(*args,**kwds): fx = f(*args,**kwds) return a*fx**2 + b*fx + c return func return dec @quad_factory(a=0,b=4,c=0) def quadish(x): return x+1 quadratic = quad_factory() def doubler(f): def inner(*args, **kwds): fx = f(*args, **kwds) return 2*fx return inner @doubler def quadruple(x): return 2*x def test_mixins(): # test mixins assert double_add(1,2,3) == 2*fx double_add.invert() assert double_add(1,2,3) == -2*fx _d = dill.copy(double_add) assert _d(1,2,3) == -2*fx #_d.invert() #FIXME: fails seemingly randomly #assert _d(1,2,3) == 2*fx assert _d.__wrapped__(1,2,3) == fx # XXX: issue or feature? in python3.4, inverted is linked through copy if not double_add.inverted[0]: double_add.invert() # test some stuff from source and pointers ds = dill.source dd = dill.detect assert ds.getsource(dd.freevars(quadish)['f']) == '@quad_factory(a=0,b=4,c=0)\ndef quadish(x):\n return x+1\n' assert ds.getsource(dd.freevars(quadruple)['f']) == '@doubler\ndef quadruple(x):\n return 2*x\n' assert ds.importable(quadish, source=False) == 'from %s import quadish\n' % __name__ assert ds.importable(quadruple, source=False) == 'from %s import quadruple\n' % __name__ assert ds.importable(quadratic, source=False) == 'from %s import quadratic\n' % __name__ assert ds.importable(double_add, source=False) == 'from %s import double_add\n' % __name__ assert ds.importable(quadruple, source=True) == 'def doubler(f):\n def inner(*args, **kwds):\n fx = f(*args, **kwds)\n return 2*fx\n return inner\n\n@doubler\ndef quadruple(x):\n return 2*x\n' #***** #FIXME: this needs work result = ds.importable(quadish, source=True) a,b,c,_,result = result.split('\n',4) assert result == 'def quad_factory(a=1,b=1,c=0):\n def dec(f):\n def func(*args,**kwds):\n fx = f(*args,**kwds)\n return a*fx**2 + b*fx + c\n return func\n return dec\n\n@quad_factory(a=0,b=4,c=0)\ndef quadish(x):\n return x+1\n' assert set([a,b,c]) == set(['a = 0', 'c = 0', 'b = 4']) result = ds.importable(quadratic, source=True) a,b,c,result = result.split('\n',3) assert result == '\ndef dec(f):\n def func(*args,**kwds):\n fx = f(*args,**kwds)\n return a*fx**2 + b*fx + c\n return func\n' assert set([a,b,c]) == set(['a = 1', 'c = 0', 'b = 1']) result = ds.importable(double_add, source=True) a,b,c,d,_,result = result.split('\n',5) assert result == 'def quad(a=1, b=1, c=0):\n inverted = [False]\n def invert():\n inverted[0] = not inverted[0]\n def dec(f):\n def func(*args, **kwds):\n x = f(*args, **kwds)\n if inverted[0]: x = -x\n return a*x**2 + b*x + c\n func.__wrapped__ = f\n func.invert = invert\n func.inverted = inverted\n return func\n return dec\n\n@quad(a=0,b=2)\ndef double_add(*args):\n return sum(args)\n' assert set([a,b,c,d]) == set(['a = 0', 'c = 0', 'b = 2', 'inverted = [True]']) #***** if __name__ == '__main__': test_mixins()
SILENT KILLER Tool