From 0047f90a2cb141410a5e7f20f01d08319fea9929 Mon Sep 17 00:00:00 2001 From: mmckerns Date: Mon, 29 Jan 2024 10:22:56 -0500 Subject: [PATCH] further skip BufferedRandomType if DNE --- dill/_objects.py | 8 ++++++-- dill/tests/test_selected.py | 3 ++- setup.cfg | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/dill/_objects.py b/dill/_objects.py index b2c02d3b..87143a78 100644 --- a/dill/_objects.py +++ b/dill/_objects.py @@ -72,6 +72,8 @@ HAS_CTYPES = False IS_PYPY = False +IS_PYODIDE = sys.platform == 'emscripten' + # helper objects class _class: def _method(self): @@ -250,13 +252,15 @@ class _Struct(ctypes.Structure): a['SliceType'] = slice(1) a['UnboundMethodType'] = _class._method #XXX: works when not imported! d['TextWrapperType'] = open(os.devnull, 'r') # same as mode='w','w+','r+' -d['BufferedRandomType'] = open(os.devnull, 'r+b') # same as mode='w+b' +if not IS_PYODIDE: + d['BufferedRandomType'] = open(os.devnull, 'r+b') # same as mode='w+b' d['BufferedReaderType'] = open(os.devnull, 'rb') # (default: buffering=-1) d['BufferedWriterType'] = open(os.devnull, 'wb') try: # oddities: deprecated from _pyio import open as _open d['PyTextWrapperType'] = _open(os.devnull, 'r', buffering=-1) - d['PyBufferedRandomType'] = _open(os.devnull, 'r+b', buffering=-1) + if not IS_PYODIDE: + d['PyBufferedRandomType'] = _open(os.devnull, 'r+b', buffering=-1) d['PyBufferedReaderType'] = _open(os.devnull, 'rb', buffering=-1) d['PyBufferedWriterType'] = _open(os.devnull, 'wb', buffering=-1) except ImportError: diff --git a/dill/tests/test_selected.py b/dill/tests/test_selected.py index d8db5c04..bcc640af 100644 --- a/dill/tests/test_selected.py +++ b/dill/tests/test_selected.py @@ -45,7 +45,8 @@ def _method(self): # some clean-up #FIXME: should happen internal to dill objects['TemporaryFileType'].close() objects['TextWrapperType'].close() -objects['BufferedRandomType'].close() +if 'BufferedRandomType' in objects: + objects['BufferedRandomType'].close() objects['BufferedReaderType'].close() objects['BufferedWriterType'].close() objects['FileType'].close() diff --git a/setup.cfg b/setup.cfg index 80f13e7f..4fb60613 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,7 +3,7 @@ tag_build = .dev0 [bdist_wheel] #python-tag = py3 -#plat-name = manylinux_2_24_x86_64 +#plat-name = manylinux_2_28_x86_64 [sdist] #formats=zip,gztar