Archived
saving dependency work
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
|
||||
# Copyright (c) 2008-2016 California Institute of Technology.
|
||||
# Copyright (c) 2016-2022 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 as pickle
|
||||
from io import BytesIO as StringIO
|
||||
|
||||
|
||||
def my_fn(x):
|
||||
return x * 17
|
||||
|
||||
|
||||
def test_extend():
|
||||
obj = lambda : my_fn(34)
|
||||
assert obj() == 578
|
||||
|
||||
obj_io = StringIO()
|
||||
pickler = pickle.Pickler(obj_io)
|
||||
pickler.dump(obj)
|
||||
|
||||
obj_str = obj_io.getvalue()
|
||||
|
||||
obj2_io = StringIO(obj_str)
|
||||
unpickler = pickle.Unpickler(obj2_io)
|
||||
obj2 = unpickler.load()
|
||||
|
||||
assert obj2() == 578
|
||||
|
||||
|
||||
def test_isdill():
|
||||
obj_io = StringIO()
|
||||
pickler = pickle.Pickler(obj_io)
|
||||
assert pickle._dill.is_dill(pickler) is True
|
||||
|
||||
pickler = pickle._dill.StockPickler(obj_io)
|
||||
assert pickle._dill.is_dill(pickler) is False
|
||||
|
||||
try:
|
||||
import multiprocess as mp
|
||||
pickler = mp.reduction.ForkingPickler(obj_io)
|
||||
assert pickle._dill.is_dill(pickler, child=True) is True
|
||||
assert pickle._dill.is_dill(pickler, child=False) is False
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_extend()
|
||||
test_isdill()
|
||||
Reference in New Issue
Block a user