Skip to content

Commit 56edce8

Browse files
thomasjpfanadrinjalali
authored andcommitted
MNT Fixes pytest by using deprecated_modules (scikit-learn#15291)
* MNT Uses gitignore to filter pytest * MNT Uses collect_ignore_glob to configure collect_ignore_glob * CLN Restrict to py file * DOC Remove comments * ENH Adds neural network * CLN Proper import * CLN Proper import * DOC Adds comments
1 parent feabb54 commit 56edce8

File tree

8 files changed

+19
-26
lines changed

8 files changed

+19
-26
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ sklearn/ensemble/weight_boosting.py
9393
sklearn/tree/export.py
9494
sklearn/tree/tree.py
9595

96+
sklearn/neural_network/rbm.py
97+
sklearn/neural_network/multilayer_perceptron.py
98+
9699
sklearn/utils/weight_vector.py
97100
sklearn/utils/seq_dataset.py
98101
sklearn/utils/fast_dict.py

conftest.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77

88
import platform
99
from distutils.version import LooseVersion
10+
import os
1011

1112
import pytest
1213
from _pytest.doctest import DoctestItem
1314

1415
from sklearn import set_config
1516
from sklearn.utils import _IS_32BIT
1617
from sklearn.externals import _pilutil
18+
from sklearn._build_utils.deprecated_modules import _DEPRECATED_MODULES
1719

1820
PYTEST_MIN_VERSION = '3.3.0'
1921

@@ -96,3 +98,10 @@ def pytest_runtest_setup(item):
9698
def pytest_runtest_teardown(item, nextitem):
9799
if isinstance(item, DoctestItem):
98100
set_config(print_changed_only=False)
101+
102+
103+
# TODO: Remove when modules are deprecated in 0.24
104+
# Configures pytest to ignore deprecated modules.
105+
collect_ignore_glob = [
106+
os.path.join(*deprecated_path.split(".")) + ".py"
107+
for _, deprecated_path, _ in _DEPRECATED_MODULES]

sklearn/_build_utils/deprecated_modules.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@
2020
('_classes', 'sklearn.tree.tree', 'sklearn.tree'),
2121
('_export', 'sklearn.tree.export', 'sklearn.tree'),
2222

23+
('_rbm', 'sklearn.neural_network.rbm', 'sklearn.neural_network'),
24+
('_multilayer_perceptron',
25+
'sklearn.neural_network.multilayer_perceptron', 'sklearn.neural_network'),
26+
2327
('_weight_vector', 'sklearn.utils.weight_vector', 'sklearn.utils'),
2428
('_seq_dataset', 'sklearn.utils.seq_dataset', 'sklearn.utils'),
2529
('_fast_dict', 'sklearn.utils.fast_dict', 'sklearn.utils'),

sklearn/cluster/_birch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from ..utils.extmath import row_norms, safe_sparse_dot
1515
from ..utils.validation import check_is_fitted
1616
from ..exceptions import ConvergenceWarning
17-
from ._hierarchical import AgglomerativeClustering
17+
from . import AgglomerativeClustering
1818

1919

2020
def _iterate_sparse_X(X):

sklearn/cluster/tests/test_hierarchical.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
from sklearn.cluster import ward_tree
2424
from sklearn.cluster import AgglomerativeClustering, FeatureAgglomeration
2525
from sklearn.cluster._hierarchical import (_hc_cut, _TREE_BUILDERS,
26-
_fix_connectivity)
27-
from sklearn.cluster.hierarchical import linkage_tree
26+
linkage_tree, _fix_connectivity)
2827
from sklearn.feature_extraction.image import grid_to_graph
2928
from sklearn.metrics.pairwise import PAIRED_DISTANCES, cosine_distances,\
3029
manhattan_distances, pairwise_distances

sklearn/neural_network/multilayer_perceptron.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

sklearn/neural_network/rbm.py

Lines changed: 0 additions & 9 deletions
This file was deleted.

sklearn/utils/deprecation.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,6 @@ def _raise_dep_warning_if_not_pytest(deprecated_path, correct_path):
128128
# Raise a deprecation warning with standardized deprecation message.
129129
# Useful because we are now deprecating # anything that isn't explicitly
130130
# in an __init__ file.
131-
# We don't want to raise a dep warning if we are in a pytest session else
132-
# the CIs with -Werror::DeprecationWarning would fail. The deprecations are
133-
# still properly tested in sklearn/tests/test_import_deprecations.py
134131

135132
# TODO: remove in 0.24 since this shouldn't be needed anymore.
136133

@@ -143,5 +140,4 @@ def _raise_dep_warning_if_not_pytest(deprecated_path, correct_path):
143140
"part of the private API."
144141
).format(deprecated_path=deprecated_path, correct_path=correct_path)
145142

146-
if not getattr(sys, '_is_pytest_session', False):
147-
warnings.warn(message, DeprecationWarning)
143+
warnings.warn(message, DeprecationWarning)

0 commit comments

Comments
 (0)