From c0d1a62b59acc7377eb0d1178237db5938e8307b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Est=C3=A8ve?= Date: Mon, 4 Nov 2019 16:37:49 +0100 Subject: [PATCH] Improve error message when cores or memory is not specified in cluster class. --- dask_jobqueue/core.py | 4 +++- dask_jobqueue/tests/test_jobqueue_core.py | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/dask_jobqueue/core.py b/dask_jobqueue/core.py index 568930ba..8a006166 100644 --- a/dask_jobqueue/core.py +++ b/dask_jobqueue/core.py @@ -182,10 +182,12 @@ def __init__( shebang = dask.config.get("jobqueue.%s.shebang" % config_name) if cores is None or memory is None: + job_class_name = self.__class__.__name__ + cluster_class_name = job_class_name.replace("Job", "Cluster") raise ValueError( "You must specify how much cores and memory per job you want to use, for example:\n" "cluster = {}(cores={}, memory={!r})".format( - self.__class__.__name__, cores or 8, memory or "24GB" + cluster_class_name, cores or 8, memory or "24GB" ) ) diff --git a/dask_jobqueue/tests/test_jobqueue_core.py b/dask_jobqueue/tests/test_jobqueue_core.py index c4acd785..bf67044d 100644 --- a/dask_jobqueue/tests/test_jobqueue_core.py +++ b/dask_jobqueue/tests/test_jobqueue_core.py @@ -198,11 +198,12 @@ def test_jobqueue_cluster_call(tmpdir): [PBSCluster, MoabCluster, SLURMCluster, SGECluster, LSFCluster, OARCluster], ) def test_cluster_has_cores_and_memory(Cluster): - with pytest.raises(ValueError, match=r"cores=\d, memory='\d+GB'"): + base_regex = r"{}.+".format(Cluster.__name__) + with pytest.raises(ValueError, match=base_regex + r"cores=\d, memory='\d+GB'"): Cluster() - with pytest.raises(ValueError, match=r"cores=\d, memory='1GB'"): + with pytest.raises(ValueError, match=base_regex + r"cores=\d, memory='1GB'"): Cluster(memory="1GB") - with pytest.raises(ValueError, match=r"cores=4, memory='\d+GB'"): + with pytest.raises(ValueError, match=base_regex + r"cores=4, memory='\d+GB'"): Cluster(cores=4)