Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/networkx/conftest.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
| author | shellac |
|---|---|
| date | Mon, 22 Mar 2021 18:12:50 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:4f3585e2f14b |
|---|---|
| 1 import pytest | |
| 2 import networkx | |
| 3 import sys | |
| 4 import warnings | |
| 5 | |
| 6 | |
| 7 def pytest_addoption(parser): | |
| 8 parser.addoption( | |
| 9 "--runslow", action="store_true", default=False, help="run slow tests" | |
| 10 ) | |
| 11 | |
| 12 | |
| 13 def pytest_configure(config): | |
| 14 config.addinivalue_line("markers", "slow: mark test as slow to run") | |
| 15 | |
| 16 | |
| 17 def pytest_collection_modifyitems(config, items): | |
| 18 if config.getoption("--runslow"): | |
| 19 # --runslow given in cli: do not skip slow tests | |
| 20 return | |
| 21 skip_slow = pytest.mark.skip(reason="need --runslow option to run") | |
| 22 for item in items: | |
| 23 if "slow" in item.keywords: | |
| 24 item.add_marker(skip_slow) | |
| 25 | |
| 26 | |
| 27 # TODO: The warnings below need to be dealt with, but for now we silence them. | |
| 28 @pytest.fixture(autouse=True) | |
| 29 def set_warnings(): | |
| 30 warnings.filterwarnings( | |
| 31 "ignore", | |
| 32 category=DeprecationWarning, | |
| 33 message="literal_stringizer is deprecated*", | |
| 34 ) | |
| 35 warnings.filterwarnings( | |
| 36 "ignore", | |
| 37 category=DeprecationWarning, | |
| 38 message="literal_destringizer is deprecated*", | |
| 39 ) | |
| 40 warnings.filterwarnings( | |
| 41 "ignore", category=DeprecationWarning, message="is_string_like is deprecated*" | |
| 42 ) | |
| 43 warnings.filterwarnings( | |
| 44 "ignore", category=DeprecationWarning, message="make_str is deprecated*" | |
| 45 ) | |
| 46 warnings.filterwarnings( | |
| 47 "ignore", | |
| 48 category=DeprecationWarning, | |
| 49 message="context manager reversed is deprecated*", | |
| 50 ) | |
| 51 warnings.filterwarnings( | |
| 52 "ignore", | |
| 53 category=DeprecationWarning, | |
| 54 message="This will return a generator in 3.0*", | |
| 55 ) | |
| 56 warnings.filterwarnings( | |
| 57 "ignore", category=DeprecationWarning, message="betweenness_centrality_source*", | |
| 58 ) | |
| 59 warnings.filterwarnings( | |
| 60 "ignore", category=DeprecationWarning, message="edge_betweeness*", | |
| 61 ) | |
| 62 warnings.filterwarnings( | |
| 63 "ignore", | |
| 64 category=PendingDeprecationWarning, | |
| 65 message="the matrix subclass is not the recommended way*", | |
| 66 ) | |
| 67 | |
| 68 | |
| 69 @pytest.fixture(autouse=True) | |
| 70 def add_nx(doctest_namespace): | |
| 71 doctest_namespace["nx"] = networkx | |
| 72 | |
| 73 | |
| 74 # What dependencies are installed? | |
| 75 | |
| 76 try: | |
| 77 import numpy | |
| 78 | |
| 79 has_numpy = True | |
| 80 except ImportError: | |
| 81 has_numpy = False | |
| 82 | |
| 83 try: | |
| 84 import scipy | |
| 85 | |
| 86 has_scipy = True | |
| 87 except ImportError: | |
| 88 has_scipy = False | |
| 89 | |
| 90 try: | |
| 91 import matplotlib | |
| 92 | |
| 93 has_matplotlib = True | |
| 94 except ImportError: | |
| 95 has_matplotlib = False | |
| 96 | |
| 97 try: | |
| 98 import pandas | |
| 99 | |
| 100 has_pandas = True | |
| 101 except ImportError: | |
| 102 has_pandas = False | |
| 103 | |
| 104 try: | |
| 105 import pygraphviz | |
| 106 | |
| 107 has_pygraphviz = True | |
| 108 except ImportError: | |
| 109 has_pygraphviz = False | |
| 110 | |
| 111 try: | |
| 112 import yaml | |
| 113 | |
| 114 has_yaml = True | |
| 115 except ImportError: | |
| 116 has_yaml = False | |
| 117 | |
| 118 try: | |
| 119 import pydot | |
| 120 | |
| 121 has_pydot = True | |
| 122 except ImportError: | |
| 123 has_pydot = False | |
| 124 | |
| 125 try: | |
| 126 import ogr | |
| 127 | |
| 128 has_ogr = True | |
| 129 except ImportError: | |
| 130 has_ogr = False | |
| 131 | |
| 132 | |
| 133 # List of files that pytest should ignore | |
| 134 | |
| 135 collect_ignore = [] | |
| 136 | |
| 137 needs_numpy = [ | |
| 138 "algorithms/centrality/current_flow_closeness.py", | |
| 139 "algorithms/node_classification/__init__.py", | |
| 140 "algorithms/non_randomness.py", | |
| 141 "algorithms/shortest_paths/dense.py", | |
| 142 "linalg/bethehessianmatrix.py", | |
| 143 "linalg/laplacianmatrix.py", | |
| 144 "utils/misc.py", | |
| 145 ] | |
| 146 needs_scipy = [ | |
| 147 "algorithms/assortativity/correlation.py", | |
| 148 "algorithms/assortativity/mixing.py", | |
| 149 "algorithms/assortativity/pairs.py", | |
| 150 "algorithms/bipartite/matrix.py", | |
| 151 "algorithms/bipartite/spectral.py", | |
| 152 "algorithms/centrality/current_flow_betweenness.py", | |
| 153 "algorithms/centrality/current_flow_betweenness_subset.py", | |
| 154 "algorithms/centrality/eigenvector.py", | |
| 155 "algorithms/centrality/katz.py", | |
| 156 "algorithms/centrality/second_order.py", | |
| 157 "algorithms/centrality/subgraph_alg.py", | |
| 158 "algorithms/communicability_alg.py", | |
| 159 "algorithms/link_analysis/hits_alg.py", | |
| 160 "algorithms/link_analysis/pagerank_alg.py", | |
| 161 "algorithms/node_classification/hmn.py", | |
| 162 "algorithms/node_classification/lgc.py", | |
| 163 "algorithms/similarity.py", | |
| 164 "convert_matrix.py", | |
| 165 "drawing/layout.py", | |
| 166 "generators/spectral_graph_forge.py", | |
| 167 "linalg/algebraicconnectivity.py", | |
| 168 "linalg/attrmatrix.py", | |
| 169 "linalg/graphmatrix.py", | |
| 170 "linalg/modularitymatrix.py", | |
| 171 "linalg/spectrum.py", | |
| 172 "utils/rcm.py", | |
| 173 ] | |
| 174 needs_matplotlib = ["drawing/nx_pylab.py"] | |
| 175 needs_pandas = ["convert_matrix.py"] | |
| 176 needs_yaml = ["readwrite/nx_yaml.py"] | |
| 177 needs_pygraphviz = ["drawing/nx_agraph.py"] | |
| 178 needs_pydot = ["drawing/nx_pydot.py"] | |
| 179 needs_ogr = ["readwrite/nx_shp.py"] | |
| 180 | |
| 181 if not has_numpy: | |
| 182 collect_ignore += needs_numpy | |
| 183 if not has_scipy: | |
| 184 collect_ignore += needs_scipy | |
| 185 if not has_matplotlib: | |
| 186 collect_ignore += needs_matplotlib | |
| 187 if not has_pandas: | |
| 188 collect_ignore += needs_pandas | |
| 189 if not has_yaml: | |
| 190 collect_ignore += needs_yaml | |
| 191 if not has_pygraphviz: | |
| 192 collect_ignore += needs_pygraphviz | |
| 193 if not has_pydot: | |
| 194 collect_ignore += needs_pydot | |
| 195 if not has_ogr: | |
| 196 collect_ignore += needs_ogr | |
| 197 | |
| 198 # FIXME: This is to avoid errors on AppVeyor | |
| 199 if sys.platform.startswith("win"): | |
| 200 collect_ignore += ["readwrite/graph6.py", "readwrite/sparse6.py"] |
