pydata / sparse

Sparse multi-dimensional arrays for the PyData ecosystem

Home Page:https://sparse.pydata.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DOK tests prevent running testing in parallel

ivirshup opened this issue · comments

Describe the bug

Some of the dok indexing tests seem to use random numbers in parameters, which propagate to the test names, which makes pytest-xdist unhappy.

To Reproduce

From the root of the repo, in a dev environment, on current master, with pytest-xdist installed:

$ pytest -n 2
==================================================================================================================== test session starts ====================================================================================================================
platform darwin -- Python 3.8.9, pytest-6.2.3, py-1.9.0, pluggy-0.13.1
rootdir: /Users/isaac/github/sparse, configfile: pytest.ini, testpaths: sparse
plugins: black-0.3.12, cov-2.11.1, xdist-2.2.0, forked-1.3.0, nunit-0.6.0
gw0 [5241] / gw1 [5241]
collecting 0 items / 1 error                                                                                                                                                                                                                                
========================================================================================================================== ERRORS ===========================================================================================================================
___________________________________________________________________________________________________________________ ERROR collecting gw1 ____________________________________________________________________________________________________________________
Different tests were collected between gw0 and gw1. The difference is:
--- gw0

+++ gw1

@@ -4099,28 +4099,28 @@

 sparse/tests/test_dok.py::test_getitem_notimplemented_error[shape1-0.5-indices1]
 sparse/tests/test_dok.py::test_getitem_index_error[shape0-0.8-indices0]
 sparse/tests/test_dok.py::test_getitem_index_error[shape1-0.5-indices1]
-sparse/tests/test_dok.py::test_setitem[shape0-index0-0.2809421280378802]
-sparse/tests/test_dok.py::test_setitem[shape1-index1-0.29035172003913867]
+sparse/tests/test_dok.py::test_setitem[shape0-index0-0.9246820710055428]
+sparse/tests/test_dok.py::test_setitem[shape1-index1-0.5322986551023545]
 sparse/tests/test_dok.py::test_setitem[shape2-index2-value2]
-sparse/tests/test_dok.py::test_setitem[shape3-1-0.986681943289449]
-sparse/tests/test_dok.py::test_setitem[shape4-index4-0.36829191320173904]
-sparse/tests/test_dok.py::test_setitem[shape5-index5-0.8342349447071189]
+sparse/tests/test_dok.py::test_setitem[shape3-1-0.9669826269856087]
+sparse/tests/test_dok.py::test_setitem[shape4-index4-0.788991761937039]
+sparse/tests/test_dok.py::test_setitem[shape5-index5-0.6219688364759417]
 sparse/tests/test_dok.py::test_setitem[shape6-index6-value6]
 sparse/tests/test_dok.py::test_setitem[shape7-index7-value7]
 sparse/tests/test_dok.py::test_setitem[shape8-index8-value8]
-sparse/tests/test_dok.py::test_setitem[shape9-index9-0.05728957965413306]
+sparse/tests/test_dok.py::test_setitem[shape9-index9-0.9492497463161889]
 sparse/tests/test_dok.py::test_setitem[shape10-index10-value10]
-sparse/tests/test_dok.py::test_setitem[shape11-index11-0.18093945998369754]
+sparse/tests/test_dok.py::test_setitem[shape11-index11-0.09590428362853531]
 sparse/tests/test_dok.py::test_setitem[shape12-index12-value12]
-sparse/tests/test_dok.py::test_setitem[shape13-index13-0.06622884595619893]
+sparse/tests/test_dok.py::test_setitem[shape13-index13-0.2935881481173508]
 sparse/tests/test_dok.py::test_setitem[shape14-index14-value14]
-sparse/tests/test_dok.py::test_setitem[shape15-index15-0.18607515562545285]
-sparse/tests/test_dok.py::test_setitem[shape16-index16-0.03045842217896111]
+sparse/tests/test_dok.py::test_setitem[shape15-index15-0.9215431426481272]
+sparse/tests/test_dok.py::test_setitem[shape16-index16-0.1536703616634345]
 sparse/tests/test_dok.py::test_setitem[shape17-index17-0]
-sparse/tests/test_dok.py::test_setitem_index_error[shape0-index0-0.8286564525109151]
-sparse/tests/test_dok.py::test_setitem_index_error[shape1-index1-0.7785875373096403]
-sparse/tests/test_dok.py::test_setitem_index_error[shape2-index2-0.6654972140185483]
-sparse/tests/test_dok.py::test_setitem_notimplemented_error[shape0-index0-0.28920343537462156]
+sparse/tests/test_dok.py::test_setitem_index_error[shape0-index0-0.027739569183419244]
+sparse/tests/test_dok.py::test_setitem_index_error[shape1-index1-0.038845258901825]
+sparse/tests/test_dok.py::test_setitem_index_error[shape2-index2-0.45491189913475194]
+sparse/tests/test_dok.py::test_setitem_notimplemented_error[shape0-index0-0.01896013621828374]
 sparse/tests/test_dok.py::test_setitem_value_error[shape0-index0-value0]
 sparse/tests/test_dok.py::test_setitem_value_error[shape1-index1-value1]
 sparse/tests/test_dok.py::test_setitem_value_error[shape2-1-value2]

System

OS and version: macOS 10.15
sparse version (sparse.version) 0.12.0+8.g75125cd
NumPy version (np.version) 1.20.2
Numba version (numba.version) 0.53.1