Skip to content

Commit fd48634

Browse files
committed
Do not require cloudpickle for PyPy
The cloudpickle package relies on CPython implementation details, and does not even import on PyPy: ``` ImportError while importing test module '/tmp/attrs/tests/test_3rd_party.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/pypy3.8/importlib/__init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_3rd_party.py:7: in <module> import cloudpickle .tox/pypy3/lib/pypy3.8/site-packages/cloudpickle/__init__.py:4: in <module> from cloudpickle.cloudpickle import * # noqa .tox/pypy3/lib/pypy3.8/site-packages/cloudpickle/cloudpickle.py:57: in <module> from .compat import pickle .tox/pypy3/lib/pypy3.8/site-packages/cloudpickle/compat.py:13: in <module> from _pickle import Pickler # noqa: F401 E ModuleNotFoundError: No module named '_pickle' ``` Disable the dependency for PyPy and make the test handle missing cloudpickle gracefully.
1 parent 7695908 commit fd48634

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
"docs": ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"],
5151
"tests_no_zope": [
5252
# For regression test to ensure cloudpickle compat doesn't break.
53-
"cloudpickle",
53+
'cloudpickle; python_implementation == "CPython"',
5454
# 5.0 introduced toml; parallel was broken until 5.0.2
5555
"coverage[toml]>=5.0.2",
5656
"hypothesis",

tests/test_3rd_party.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@
44
Tests for compatibility against other Python modules.
55
"""
66

7-
import cloudpickle
7+
import pytest
88

99
from hypothesis import given
1010

1111
from .strategies import simple_classes
1212

1313

14+
cloudpickle = pytest.importorskip("cloudpickle")
15+
16+
1417
class TestCloudpickleCompat(object):
1518
"""
1619
Tests for compatibility with ``cloudpickle``.

0 commit comments

Comments
 (0)