42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
# Even if empty this file is useful so that when running from the root folder
|
|
# ./sklearn is added to sys.path by pytest. See
|
|
# https://docs.pytest.org/en/latest/pythonpath.html for more details. For
|
|
# example, this allows to build extensions in place and run pytest
|
|
# doc/modules/clustering.rst and use sklearn from the local folder rather than
|
|
# the one from site-packages.
|
|
|
|
import platform
|
|
from distutils.version import LooseVersion
|
|
|
|
import pytest
|
|
from _pytest.doctest import DoctestItem
|
|
|
|
|
|
def pytest_collection_modifyitems(config, items):
|
|
|
|
# FeatureHasher is not compatible with PyPy
|
|
if platform.python_implementation() == 'PyPy':
|
|
skip_marker = pytest.mark.skip(
|
|
reason='FeatureHasher is not compatible with PyPy')
|
|
for item in items:
|
|
if item.name == 'sklearn.feature_extraction.hashing.FeatureHasher':
|
|
item.add_marker(skip_marker)
|
|
|
|
# numpy changed the str/repr formatting of numpy arrays in 1.14. We want to
|
|
# run doctests only for numpy >= 1.14.
|
|
skip_doctests = True
|
|
try:
|
|
import numpy as np
|
|
if LooseVersion(np.__version__) >= LooseVersion('1.14'):
|
|
skip_doctests = False
|
|
except ImportError:
|
|
pass
|
|
|
|
if skip_doctests:
|
|
skip_marker = pytest.mark.skip(
|
|
reason='doctests are only run for numpy >= 1.14')
|
|
|
|
for item in items:
|
|
if isinstance(item, DoctestItem):
|
|
item.add_marker(skip_marker)
|