ktongue's picture
download
raw
1.42 kB
#!/usr/bin/env python
#
# Author: Mike McKerns (mmckerns @caltech and @uqfoundation)
# Author: Anirudh Vegesana (avegesan@cs.stanford.edu)
# Copyright (c) 2022-2025 The Uncertainty Quantification Foundation.
# License: 3-clause BSD. The full license text is available at:
# - https://github.com/uqfoundation/dill/blob/master/LICENSE
"""
test pickling a PyCapsule object
"""
import dill
import warnings
test_pycapsule = None
if dill._dill._testcapsule is not None:
import ctypes
def test_pycapsule():
name = ctypes.create_string_buffer(b'dill._testcapsule')
capsule = dill._dill._PyCapsule_New(
ctypes.cast(dill._dill._PyCapsule_New, ctypes.c_void_p),
name,
None
)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
dill.copy(capsule)
dill._testcapsule = capsule
with warnings.catch_warnings():
warnings.simplefilter("ignore")
dill.copy(capsule)
dill._testcapsule = None
try:
with warnings.catch_warnings():
warnings.simplefilter("ignore", dill.PicklingWarning)
dill.copy(capsule)
except dill.UnpicklingError:
pass
else:
raise AssertionError("Expected a different error")
if __name__ == '__main__':
if test_pycapsule is not None:
test_pycapsule()

Xet Storage Details

Size:
1.42 kB
·
Xet hash:
c8155038559188a18e3d9c88706c1529353192681c4c7b0277c7785409c09090

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.