Accepting request 882449 from home:bnavigator:branches:devel:languages:python:numeric

- Update to 2021.3.1
  * Add standalone dashboard page for GPU usage (GH#4556) Jacob 
    Tomlinson
  * Handle stream is None case in TCP comm finalizer (GH#4631) 
    James Bourbeau
  * Include LIST_PICKLE in NumPy array serialization (GH#4632)  
    James Bourbeau
  * Rename annotation plugin in test_highlevelgraph.py (GH#4618) 
    James Bourbeau
  * UCX use nbytes instead of len (GH#4621) Mads R. B. Kristensen
  * Skip NumPy and pandas tests if not importable (GH#4563) Ben 
    Greiner
  * Remove utils.shutting_down in favor of sys.is_finalizing 
    (GH#4624) James Bourbeau
  * Handle async clients when closing (GH#4623) Matthew Rocklin
  * Drop log from remove_key_from_stealable (GH#4609) jakirkham
  * Introduce events log length config option (GH#4615) Fabian 
    Gebhart
  * Upstream config serialization and inheritance (GH#4372) Jacob 
    Tomlinson
  * Add check to scheduler creation in SpecCluster (GH#4605) Jacob 
    Tomlinson
  * Make length of events deque configurable (GH#4604) Fabian 
    Gebhart
  * Add explicit fetch state to worker TaskState (GH#4470) Gil 
    Forsyth
  * Update develop.rst (GH#4603) Florian Jetter
  * pickle_loads(): Handle empty memoryview (GH#4595) Mads R. B. 
    Kristensen
  * Switch documentation builds for PRs to readthedocs (GH#4599) 
    James Bourbeau
  * Track frame sizes along with frames (GH#4593) jakirkham
  * Add support for a list of keys when using batch_size in client.
    map (GH#4592) Sultan Orazbayev
  * If SpecCluster fails to start attempt to gracefully close out 
    again (GH#4590) Jacob Tomlinson
  * Multi-lock extension (GH#4503) Mads R. B. Kristensen
  * Update PipInstall plugin command (GH#4584) James Bourbeau
  * IPython magics: remove deprecated ioloop workarounds (GH#4530) 
    Min RK
  * Add GitHub actions workflow to cancel duplicate builds 
    (GH#4581) James Bourbeau
  * Remove outdated macOS build badge from README (GH#4576) James 
    Bourbeau
  * Dask master -> main (GH#4569) Julia Signell
  * Drop support for Python 3.6 (GH#4390) James Bourbeau
  * Add docstring for dashboard_link property (GH#4572) Doug Davis
  * Change default branch from master to main (GH#4495) Julia 
    Signell
  * Msgpack handles extract serialize (GH#4531) Mads R. B. 
    Kristensen
- Drop importorskip-numpy-tests.patch merged upstream
- Skip python36 build. Upstream dropped support for Python < 3.7

OBS-URL: https://build.opensuse.org/request/show/882449
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=92
This commit is contained in:
Markéta Machová 2021-04-01 10:30:28 +00:00 committed by Git OBS Bridge
parent b0aabe2515
commit f6819de955
5 changed files with 102 additions and 323 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:427fe7e047bbad7413c65d57e56fa4d6b1cf921fd206a3d2caab94bf9153c3db
size 694209

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f36247744e375d5d11c44a3b18891dfde42832132de3cb94efcb06b6da31f68
size 697387

View File

@ -1,279 +0,0 @@
diff --git a/distributed/protocol/tests/test_arrow.py b/distributed/protocol/tests/test_arrow.py
index e86bfa6f..3d2c66af 100644
--- a/distributed/protocol/tests/test_arrow.py
+++ b/distributed/protocol/tests/test_arrow.py
@@ -1,7 +1,7 @@
-import pandas as pd
import pytest
pa = pytest.importorskip("pyarrow")
+pd = pytest.importorskip("pandas")
import distributed
from distributed.utils_test import gen_cluster
diff --git a/distributed/protocol/tests/test_collection.py b/distributed/protocol/tests/test_collection.py
index ddb8a44b..f9f5bf79 100644
--- a/distributed/protocol/tests/test_collection.py
+++ b/distributed/protocol/tests/test_collection.py
@@ -1,8 +1,8 @@
import pytest
from distributed.protocol import serialize, deserialize
-import pandas as pd
-import numpy as np
+np = pytest.importorskip("numpy")
+pd = pytest.importorskip("pandas")
@pytest.mark.parametrize("collection", [tuple, dict, list])
@pytest.mark.parametrize(
diff --git a/distributed/protocol/tests/test_collection_cuda.py b/distributed/protocol/tests/test_collection_cuda.py
index e2602795..19484a87 100644
--- a/distributed/protocol/tests/test_collection_cuda.py
+++ b/distributed/protocol/tests/test_collection_cuda.py
@@ -2,7 +2,6 @@ import pytest
from distributed.protocol import serialize, deserialize
from dask.dataframe.utils import assert_eq
-import pandas as pd
@pytest.mark.parametrize("collection", [tuple, dict])
@@ -37,14 +36,14 @@ def test_serialize_cupy(collection, y, y_serializer):
@pytest.mark.parametrize("collection", [tuple, dict])
@pytest.mark.parametrize(
"df2,df2_serializer",
- [(pd.DataFrame({"C": [3, 4, 5], "D": [2.5, 3.5, 4.5]}), "cuda"), (None, "pickle")],
+ [({"C": [3, 4, 5], "D": [2.5, 3.5, 4.5]}, "cuda"), (None, "pickle")],
)
def test_serialize_pandas_pandas(collection, df2, df2_serializer):
cudf = pytest.importorskip("cudf")
-
+ pd = pytest.importorskip("pandas")
df1 = cudf.DataFrame({"A": [1, 2, None], "B": [1.0, 2.0, None]})
- if df2 is not None:
- df2 = cudf.from_pandas(df2)
+ if df2 is not None:
+ df2 = cudf.from_pandas(pd.DataFrame(df2))
if issubclass(collection, dict):
header, frames = serialize(
{"df1": df1, "df2": df2}, serializers=("cuda", "dask", "pickle")
diff --git a/distributed/protocol/tests/test_keras.py b/distributed/protocol/tests/test_keras.py
index da8cdf63..05f3c7ca 100644
--- a/distributed/protocol/tests/test_keras.py
+++ b/distributed/protocol/tests/test_keras.py
@@ -1,13 +1,13 @@
-import numpy as np
-from numpy.testing import assert_allclose
import pytest
keras = pytest.importorskip("keras")
+np = pytest.importorskip("numpy")
from distributed.protocol import serialize, deserialize, dumps, loads, to_serialize
def test_serialize_deserialize_model():
+ from numpy.testing import assert_allclose
model = keras.models.Sequential()
model.add(keras.layers.Dense(5, input_dim=3))
model.add(keras.layers.Dense(2))
diff --git a/distributed/protocol/tests/test_numpy.py b/distributed/protocol/tests/test_numpy.py
index c52e4f5b..ebb709dd 100644
--- a/distributed/protocol/tests/test_numpy.py
+++ b/distributed/protocol/tests/test_numpy.py
@@ -1,8 +1,7 @@
from zlib import crc32
-import numpy as np
import pytest
-
+np = pytest.importorskip("numpy")
from distributed.protocol import (
serialize,
deserialize,
diff --git a/distributed/protocol/tests/test_pandas.py b/distributed/protocol/tests/test_pandas.py
index a8134d7e..6dd968eb 100644
--- a/distributed/protocol/tests/test_pandas.py
+++ b/distributed/protocol/tests/test_pandas.py
@@ -1,6 +1,6 @@
-import numpy as np
-import pandas as pd
import pytest
+pd = pytest.importorskip("pandas")
+np = pytest.importorskip("numpy")
from dask.dataframe.utils import assert_eq
diff --git a/distributed/protocol/tests/test_serialize.py b/distributed/protocol/tests/test_serialize.py
index 735dffb5..6ff76eb6 100644
--- a/distributed/protocol/tests/test_serialize.py
+++ b/distributed/protocol/tests/test_serialize.py
@@ -3,10 +3,11 @@ import copy
import pickle
import msgpack
-import numpy as np
import pytest
from tlz import identity
+np = pytest.importorskip("numpy")
+
from dask.utils_test import inc
from distributed import wait
diff --git a/distributed/protocol/tests/test_sparse.py b/distributed/protocol/tests/test_sparse.py
index 89f9da09..a08be59b 100644
--- a/distributed/protocol/tests/test_sparse.py
+++ b/distributed/protocol/tests/test_sparse.py
@@ -1,9 +1,10 @@
-import numpy as np
-from numpy.testing import assert_allclose
import pytest
+np = pytest.importorskip("numpy")
sparse = pytest.importorskip("sparse")
+from numpy.testing import assert_allclose
+
from distributed.protocol import deserialize, serialize
diff --git a/distributed/tests/test_actor.py b/distributed/tests/test_actor.py
index 7b91b3da..ee393d49 100644
--- a/distributed/tests/test_actor.py
+++ b/distributed/tests/test_actor.py
@@ -426,7 +426,7 @@ async def test_load_balance_map(c, s, *workers):
@gen_cluster(client=True, nthreads=[("127.0.0.1", 1)] * 4, Worker=Nanny)
async def bench_param_server(c, s, *workers):
import dask.array as da
- import numpy as np
+ np = pytest.importorskip("numpy")
x = da.random.random((500000, 1000), chunks=(1000, 1000))
x = x.persist()
diff --git a/distributed/tests/test_client.py b/distributed/tests/test_client.py
index 100b52ea..40716c40 100644
--- a/distributed/tests/test_client.py
+++ b/distributed/tests/test_client.py
@@ -5526,7 +5526,7 @@ async def test_client_active_bad_port():
def test_turn_off_pickle(direct):
@gen_cluster()
async def test(s, a, b):
- import numpy as np
+ np = pytest.importorskip("numpy")
async with Client(
s.address, asynchronous=True, serializers=["dask", "msgpack"]
@@ -5564,7 +5564,7 @@ def test_turn_off_pickle(direct):
@gen_cluster()
async def test_de_serialization(s, a, b):
- import numpy as np
+ np = pytest.importorskip("numpy")
c = await Client(
s.address,
@@ -5585,7 +5585,7 @@ async def test_de_serialization(s, a, b):
@gen_cluster()
async def test_de_serialization_none(s, a, b):
- import numpy as np
+ np = pytest.importorskip("numpy")
c = await Client(s.address, asynchronous=True, deserializers=["msgpack"])
try:
@@ -6424,7 +6424,7 @@ async def test_annotations_retries(c, s, a, b):
async def test_annotations_blockwise_unpack(c, s, a, b):
da = pytest.importorskip("dask.array")
from dask.array.utils import assert_eq
- import numpy as np
+ np = pytest.importorskip("numpy")
# A flaky doubling function -- need extra args because it is called before
# application to establish dtype/meta.
diff --git a/distributed/tests/test_collections.py b/distributed/tests/test_collections.py
index 022db408..8b3e6cd5 100644
--- a/distributed/tests/test_collections.py
+++ b/distributed/tests/test_collections.py
@@ -2,8 +2,8 @@ from distutils.version import LooseVersion
import pytest
-pytest.importorskip("numpy")
-pytest.importorskip("pandas")
+np = pytest.importorskip("numpy")
+pd = pytest.importorskip("pandas")
import dask
import dask.dataframe as dd
@@ -11,8 +11,6 @@ import dask.bag as db
from distributed.client import wait
from distributed.utils_test import gen_cluster
from distributed.utils_test import client, cluster_fixture, loop # noqa F401
-import numpy as np
-import pandas as pd
PANDAS_VERSION = LooseVersion(pd.__version__)
PANDAS_GT_100 = PANDAS_VERSION >= LooseVersion("1.0.0")
diff --git a/distributed/tests/test_nanny.py b/distributed/tests/test_nanny.py
index 1993f11a..83c3de18 100644
--- a/distributed/tests/test_nanny.py
+++ b/distributed/tests/test_nanny.py
@@ -7,8 +7,6 @@ import random
import sys
import multiprocessing as mp
-import numpy as np
-
import pytest
from tlz import valmap, first
from tornado.ioloop import IOLoop
@@ -202,6 +200,7 @@ async def test_random_seed(c, s, a, b):
assert x != y
await check_func(lambda a, b: random.randint(a, b))
+ np = pytest.importorskip("numpy")
await check_func(lambda a, b: np.random.randint(a, b))
diff --git a/distributed/tests/test_pubsub.py b/distributed/tests/test_pubsub.py
index 8f8a3b73..09ab4dcd 100644
--- a/distributed/tests/test_pubsub.py
+++ b/distributed/tests/test_pubsub.py
@@ -37,7 +37,7 @@ async def test_speed(c, s, a, b):
# print(a, b, i)
return n
- import numpy as np
+ np = pytest.importorskip("numpy")
x = np.random.random(1000)
diff --git a/distributed/tests/test_utils.py b/distributed/tests/test_utils.py
index 022e9925..ffda15a6 100644
--- a/distributed/tests/test_utils.py
+++ b/distributed/tests/test_utils.py
@@ -10,7 +10,6 @@ import sys
from time import sleep
import traceback
-import numpy as np
import pytest
from tornado.ioloop import IOLoop
@@ -271,6 +270,7 @@ def test_ensure_bytes():
def test_ensure_bytes_ndarray():
+ np = pytest.importorskip("numpy")
result = ensure_bytes(np.arange(12))
assert isinstance(result, bytes)
@@ -283,6 +283,7 @@ def test_ensure_bytes_pyarrow_buffer():
def test_nbytes():
+ np = pytest.importorskip("numpy")
def check(obj, expected):
assert nbytes(obj) == expected
assert nbytes(memoryview(obj)) == expected

View File

@ -1,3 +1,60 @@
-------------------------------------------------------------------
Tue Mar 30 20:57:39 UTC 2021 - Ben Greiner <code@bnavigator.de>
- Update to 2021.3.1
* Add standalone dashboard page for GPU usage (GH#4556) Jacob
Tomlinson
* Handle stream is None case in TCP comm finalizer (GH#4631)
James Bourbeau
* Include LIST_PICKLE in NumPy array serialization (GH#4632)
James Bourbeau
* Rename annotation plugin in test_highlevelgraph.py (GH#4618)
James Bourbeau
* UCX use nbytes instead of len (GH#4621) Mads R. B. Kristensen
* Skip NumPy and pandas tests if not importable (GH#4563) Ben
Greiner
* Remove utils.shutting_down in favor of sys.is_finalizing
(GH#4624) James Bourbeau
* Handle async clients when closing (GH#4623) Matthew Rocklin
* Drop log from remove_key_from_stealable (GH#4609) jakirkham
* Introduce events log length config option (GH#4615) Fabian
Gebhart
* Upstream config serialization and inheritance (GH#4372) Jacob
Tomlinson
* Add check to scheduler creation in SpecCluster (GH#4605) Jacob
Tomlinson
* Make length of events deque configurable (GH#4604) Fabian
Gebhart
* Add explicit fetch state to worker TaskState (GH#4470) Gil
Forsyth
* Update develop.rst (GH#4603) Florian Jetter
* pickle_loads(): Handle empty memoryview (GH#4595) Mads R. B.
Kristensen
* Switch documentation builds for PRs to readthedocs (GH#4599)
James Bourbeau
* Track frame sizes along with frames (GH#4593) jakirkham
* Add support for a list of keys when using batch_size in client.
map (GH#4592) Sultan Orazbayev
* If SpecCluster fails to start attempt to gracefully close out
again (GH#4590) Jacob Tomlinson
* Multi-lock extension (GH#4503) Mads R. B. Kristensen
* Update PipInstall plugin command (GH#4584) James Bourbeau
* IPython magics: remove deprecated ioloop workarounds (GH#4530)
Min RK
* Add GitHub actions workflow to cancel duplicate builds
(GH#4581) James Bourbeau
* Remove outdated macOS build badge from README (GH#4576) James
Bourbeau
* Dask master -> main (GH#4569) Julia Signell
* Drop support for Python 3.6 (GH#4390) James Bourbeau
* Add docstring for dashboard_link property (GH#4572) Doug Davis
* Change default branch from master to main (GH#4495) Julia
Signell
* Msgpack handles extract serialize (GH#4531) Mads R. B.
Kristensen
- Drop importorskip-numpy-tests.patch merged upstream
- Skip python36 build. Upstream dropped support for Python < 3.7
-------------------------------------------------------------------
Sun Mar 7 16:46:23 UTC 2021 - Ben Greiner <code@bnavigator.de>

View File

@ -1,5 +1,5 @@
#
# spec file for package python-distributed
# spec file for package python-distributed-test
#
# Copyright (c) 2021 SUSE LLC
#
@ -24,19 +24,20 @@
%define psuffix %{nil}
%bcond_with test
%endif
%{?!python_module:%define python_module() python3-%{**}}
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python36 1
Name: python-distributed%{psuffix}
Version: 2021.3.0
Version: 2021.3.1
Release: 0
Summary: Library for distributed computing with Python
License: BSD-3-Clause
URL: https://distributed.readthedocs.io/en/latest/
Source: https://files.pythonhosted.org/packages/source/d/distributed/distributed-%{version}.tar.gz
Source99: python-distributed-rpmlintrc
# PATCH-FIX-UPSTREAM importorskip-numpy-tests.patch -- gh#dask/distributed#4529
Patch0: importorskip-numpy-tests.patch
BuildRequires: %{python_module Cython}
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@ -51,12 +52,7 @@ Requires: python-sortedcontainers
Requires: python-tblib
Requires: python-toolz >= 0.8.2
Requires: python-tornado
%if %{python_version_nodots} < 38
Requires: python-contextvars
Requires: python-tornado >= 5
%else
Requires: python-tornado >= 6.0.3
%endif
Requires: python-zict >= 0.1.3
%if %{with test}
BuildRequires: %{python_module PyYAML}
@ -65,8 +61,8 @@ BuildRequires: %{python_module click >= 6.6}
BuildRequires: %{python_module cloudpickle >= 1.5.0}
BuildRequires: %{python_module dask-all >= %{version}}
# need built extension
BuildRequires: %{python_module contextvars if %python-base < 3.7}
BuildRequires: %{python_module distributed = %{version}}
BuildRequires: %{python_module bokeh}
BuildRequires: %{python_module ipykernel}
BuildRequires: %{python_module ipython}
BuildRequires: %{python_module jupyter_client}
@ -79,13 +75,11 @@ BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module sortedcontainers}
BuildRequires: %{python_module sparse}
BuildRequires: %{python_module tblib}
BuildRequires: %{python_module toolz >= 0.8.2}
BuildRequires: %{python_module tornado >= 5 if %python-base < 3.8}
BuildRequires: %{python_module tornado >= 6.0.3 if %python-base >= 3.8}
BuildRequires: %{python_module tornado >= 6.0.3}
BuildRequires: %{python_module zict >= 0.1.3}
BuildRequires: %{python_module bokeh if (%python-base without python36-base)}
BuildRequires: %{python_module sparse if (%python-base without python36-base)}
%endif
%python_subpackages
@ -108,7 +102,10 @@ clusters.
%python_clone -a %{buildroot}%{_bindir}/dask-ssh
%python_clone -a %{buildroot}%{_bindir}/dask-scheduler
%python_clone -a %{buildroot}%{_bindir}/dask-worker
%python_expand %fdupes %{buildroot}%{$python_sitearch}
%{python_expand #
chmod -x %{buildroot}%{$python_sitearch}/distributed/tests/test_utils_test.py
%fdupes %{buildroot}%{$python_sitearch}
}
%endif
%if %{with test}
@ -121,41 +118,31 @@ sed -i '/pytest/,/addopts/ s/-rsx/-rfEs/' setup.cfg
%if %{pkg_vcmp python3-pytest-asyncio >= 0.14}
donttest+=" or (test_asyncprocess and test_child_main_thread)"
donttest+=" or (test_asyncprocess and test_close)"
donttest+=" or (test_asyncprocess and test_exit_callback)"
donttest+=" or (test_asyncprocess and test_exitcode)"
donttest+=" or (test_asyncprocess and test_num_fds)"
donttest+=" or (test_asyncprocess and test_performance_report)"
donttest+=" or (test_asyncprocess and test_signal)"
donttest+=" or (test_client and test_add_worker_after_task)"
donttest+=" or (test_client and test_bad_tasks_fail)"
donttest+=" or (test_client and test_cleanup_after_broken_client_connection)"
donttest+=" or (test_client and test_futures_in_subgraphs)"
donttest+=" or (test_client and test_get_client)"
donttest+=" or (test_client and test_logs)"
donttest+=" or (test_client and test_lose_scattered_data)"
donttest+=" or (test_client and test_open_close_many_workers)"
donttest+=" or (test_client and test_performance_report)"
donttest+=" or (test_client and test_profile_server)"
donttest+=" or (test_client and test_profile_server)"
donttest+=" or (test_client and test_quiet_client_close)"
donttest+=" or (test_client and test_quiet_quit_when_cluster_leaves)"
donttest+=" or (test_client and test_reconnect)"
donttest+=" or (test_client and test_repr_async)"
donttest+=" or (test_client and test_secede_balances)"
donttest+=" or (test_client and test_secede_simple)"
donttest+=" or (test_client and test_serialize_collections)"
donttest+=" or (test_client_executor and test_cancellation)"
donttest+=" or (test_collections and test_sparse_arrays)"
donttest+=" or (test_diskutils and test_workspace_concurrency_intense)"
donttest+=" or (test_diskutils and test_workspace_concurrency)"
donttest+=" or (test_events and test_event_on_workers)"
donttest+=" or (test_events and test_set_not_set_many_events)"
donttest+=" or (test_events and test_two_events_on_workers)"
donttest+=" or (test_failed_workers and test_broken_worker_during_computation)"
donttest+=" or (test_failed_workers and test_fast_kill)"
donttest+=" or (test_failed_workers and test_gather_then_submit_after_failed_workers)"
donttest+=" or (test_failed_workers and test_restart_during_computation)"
donttest+=" or (test_failed_workers and test_restart_fast)"
donttest+=" or (test_failed_workers and test_restart_scheduler)"
donttest+=" or (test_failed_workers and test_restart)"
donttest+=" or (test_failed_workers and test_worker_time_to_live)"
donttest+=" or (test_failed_workers and test_worker_who_has_clears_after_failed_connection)"
donttest+=" or (test_locks and test_lock)"
donttest+=" or (test_locks and test_serializable)"
@ -168,9 +155,9 @@ donttest+=" or (test_profile and test_watch)"
donttest+=" or (test_publish and test_publish_simple)"
donttest+=" or (test_queues and test_2220)"
donttest+=" or (test_resources and test_prefer_constrained)"
donttest+=" or (test_scheduler and test_balance_many_workers_2)"
donttest+=" or (test_scheduler and test_balance_many_workers)"
donttest+=" or (test_scheduler and test_bandwidth_clear)"
donttest+=" or (test_scheduler and test_dashboard_address)"
donttest+=" or (test_scheduler and test_dont_recompute_if_persisted)"
donttest+=" or (test_scheduler and test_file_descriptors)"
donttest+=" or (test_scheduler and test_gather_allow_worker_reconnect)"
@ -179,6 +166,7 @@ donttest+=" or (test_scheduler and test_include_communication_in_occupancy)"
donttest+=" or (test_scheduler and test_log_tasks_during_restart)"
donttest+=" or (test_scheduler and test_restart)"
donttest+=" or (test_scheduler and test_scheduler_init_pulls_blocked_handlers_from_config)"
donttest+=" or (test_scheduler and test_service_hosts)"
donttest+=" or (test_scheduler and test_steal_when_more_tasks)"
donttest+=" or (test_scheduler and test_task_groups)"
donttest+=" or (test_semaphor and test_getvalue)"
@ -194,19 +182,20 @@ donttest+=" or (test_spec and test_address_default_none)"
donttest+=" or (test_spec and test_child_address_persists)"
donttest+=" or (test_steal and test_balance)"
donttest+=" or (test_steal and test_dont_steal_already_released)"
donttest+=" or (test_steal and test_dont_steal_fast_tasks_compute_time)"
donttest+=" or (test_steal and test_dont_steal_few_saturated_tasks_many_workers)"
donttest+=" or (test_steal and test_dont_steal_unknown_functions)"
donttest+=" or (test_steal and test_eventually_steal_unknown_functions)"
donttest+=" or (test_steal and test_restart)"
donttest+=" or (test_steal and test_steal_more_attractive_tasks)"
donttest+=" or (test_steal and test_steal_twice)"
donttest+=" or (test_steal and test_steal_when_more_tasks)"
donttest+=" or (test_steal and test_worksteal_many_thieves)"
donttest+=" or (test_stress and test_cancel_stress)"
donttest+=" or (test_stress and test_close_connections)"
donttest+=" or (test_tls_functional and test_retire_workers)"
donttest+=" or (test_tls_functional and test_worker_client)"
donttest+=" or (test_utils and test_sync_closed_loop)"
donttest+=" or (test_worker and test_dont_overlap_communications_to_same_worker)"
donttest+=" or (test_worker and test_gather_many_small)"
donttest+=" or (test_worker and test_get_client)"
donttest+=" or (test_worker and test_lifetime)"
donttest+=" or (test_worker and test_robust_to_bad_sizeof_estimates)"
@ -214,6 +203,7 @@ donttest+=" or (test_worker and test_share_communication)"
donttest+=" or (test_worker and test_statistical_profiling_2)"
donttest+=" or (test_worker and test_stop_doing_unnecessary_work)"
donttest+=" or (test_worker and test_wait_for_outgoing)"
donttest+=" or (test_worker and test_workerstate_executing)"
donttest+=" or (test_worker_client and test_async)"
donttest+=" or (test_worker_client and test_client_executor)"
donttest+=" or (test_worker_client and test_compute_within_worker_client)"
@ -225,21 +215,32 @@ donttest+=" or (test_worker_client and test_secede_without_stealing_issue_1262)"
donttest+=" or (test_worker_client and test_submit_different_names)"
donttest+=" or (test_worker_client and test_submit_from_worker)"
%endif
# too slow for obs
donttest+=" or (test_metrics and time)"
donttest+=" or (test_client and test_upload_file_exception_sync)"
donttest+=" or (test_client and test_upload_file_sync)"
# randomly fails
donttest+=" or (test_worker and test_fail_write_to_disk)"
# false version mismatch
donttest+=" or test_version_warning_in_cluster"
# ambiguous order in returned message
donttest+=" or (test_client and test_as_completed_async_for_cancel)"
# indefinite hangs -- https://github.com/dask/distributed/issues/4564
donttest+=" or (test_queues and test_queue_in_task)"
donttest+=" or (test_variable and test_variable_in_task)"
# too many open files
donttest+=" or (test_stress and test_stress_communication)"
# randomly fail even with old asyncio -- too slow for obs (?)
donttest+=" or (test_asyncprocess and test_exit_callback)"
donttest+=" or (test_client and test_cleanup_after_broken_client_connection)"
donttest+=" or (test_client and test_open_close_many_workers)"
donttest+=" or (test_client and test_profile_server)"
donttest+=" or (test_client and test_quiet_quit_when_cluster_leaves)"
donttest+=" or (test_client and test_reconnect)"
donttest+=" or (test_client and test_sub_submit_priority)"
donttest+=" or (test_client and test_upload_file_exception_sync)"
donttest+=" or (test_client and test_upload_file_sync)"
donttest+=" or (test_diskutils and test_workspace_concurrency)"
donttest+=" or (test_failed_workers and test_fast_kill)"
donttest+=" or (test_metrics and time)"
donttest+=" or (test_queues and test_race)"
donttest+=" or (test_scheduler and test_gather_failing_cnn_recover)"
donttest+=" or (test_steal and test_dont_steal_fast_tasks_compute_time)"
donttest+=" or (test_stress and test_close_connections)"
donttest+=" or (test_worker and test_fail_write_to_disk)"
donttest+=" or test_queue_in_task or test_variable_in_task"
%pytest_arch -ra -n auto distributed/tests/ -k "not (${donttest:4})" -m "not avoid_travis" --timeout 180
%endif