Skip to content

Commit 9be9b97

Browse files
committed
fix: removed unused imports - got refactored
1 parent 9ae3aab commit 9be9b97

File tree

4 files changed

+17
-33
lines changed

4 files changed

+17
-33
lines changed

snakemake_executor_plugin_slurm/__init__.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -302,18 +302,17 @@ class ExecutorSettings(ExecutorSettingsBase):
302302
default=None,
303303
metadata={
304304
"help": "Send signal to jobs before wall time (SLURM format). "
305-
"Format: --slurm-signal=RULE[:SCOPE]:SIGNAL@TIME. "
306-
"SCOPE: B (batch, default) or R (reservation). "
307-
"SIGNAL: name (SIGTERM) or number (15). TIME: seconds before wall time. "
308-
"Use RULE='all' for all rules. Examples: "
309-
"--slurm-signal=rule1:SIGTERM@30 --slurm-signal=rule2:R:SIGUSR1@60 "
310-
"--slurm-signal=all:15@45",
305+
"Format: --slurm-signal=RULE[:SCOPE]:SIGNAL@TIME. "
306+
"SCOPE: B (batch, default) or R (reservation). "
307+
"SIGNAL: name (SIGTERM) or number (15). TIME: seconds before wall time. "
308+
"Use RULE='all' for all rules. Examples: "
309+
"--slurm-signal=rule1:SIGTERM@30 --slurm-signal=rule2:R:SIGUSR1@60 "
310+
"--slurm-signal=all:15@45",
311311
"env_var": False,
312312
"required": False,
313313
},
314314
)
315315

316-
317316
qos: Optional[str] = field(
318317
default=None,
319318
metadata={

tests/test_jobsignalling.py

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616
@pytest.fixture
1717
def mock_job():
1818
"""Create a mock job with configurable resources and metadata.
19-
19+
2020
Returns a factory function that constructs mock jobs for testing.
2121
"""
22+
2223
def _create_job(name="signal_shell", **resources):
2324
mock_resources = MagicMock()
2425
mock_resources.get.side_effect = lambda key, default=None: resources.get(
@@ -71,21 +72,12 @@ def test_signal_is_ignored_for_other_rules(self):
7172
def test_multiple_signals_in_one_setting(self):
7273
"""Multiple rules can have signals in a comma-separated list."""
7374
setting = "signal_shell:SIGUSR1@30,signal_python:R:SIGTERM@45"
74-
assert (
75-
get_slurm_signal_arg(setting, "signal_shell")
76-
== " --signal=B:10@30"
77-
)
78-
assert (
79-
get_slurm_signal_arg(setting, "signal_python")
80-
== " --signal=R:15@45"
81-
)
75+
assert get_slurm_signal_arg(setting, "signal_shell") == " --signal=B:10@30"
76+
assert get_slurm_signal_arg(setting, "signal_python") == " --signal=R:15@45"
8277

8378
def test_all_keyword_applies_to_any_rule(self):
8479
"""The 'all' keyword applies signal to any rule not explicitly configured."""
85-
assert (
86-
get_slurm_signal_arg("all:SIGUSR1@60", "any_rule")
87-
== " --signal=B:10@60"
88-
)
80+
assert get_slurm_signal_arg("all:SIGUSR1@60", "any_rule") == " --signal=B:10@60"
8981
assert (
9082
get_slurm_signal_arg("all:R:SIGTERM@45", "other_rule")
9183
== " --signal=R:15@45"
@@ -95,15 +87,9 @@ def test_explicit_rule_takes_precedence_over_all(self):
9587
"""An explicit rule setting overrides the 'all' setting."""
9688
setting = "all:SIGUSR1@60,signal_python:SIGTERM@30"
9789
# signal_python has explicit config
98-
assert (
99-
get_slurm_signal_arg(setting, "signal_python")
100-
== " --signal=B:15@30"
101-
)
90+
assert get_slurm_signal_arg(setting, "signal_python") == " --signal=B:15@30"
10291
# other_rule falls back to 'all'
103-
assert (
104-
get_slurm_signal_arg(setting, "other_rule")
105-
== " --signal=B:10@60"
106-
)
92+
assert get_slurm_signal_arg(setting, "other_rule") == " --signal=B:10@60"
10793

10894

10995
class TestSlurmSignalValidation:
@@ -125,8 +111,7 @@ def test_reservation_scope_allowed_with_reservation_setting(self):
125111
"""Using R: scope with --slurm-reservation should not raise an error."""
126112
# Should not raise
127113
ExecutorSettings(
128-
signal="signal_shell:R:SIGTERM@30",
129-
reservation="my_reservation"
114+
signal="signal_shell:R:SIGTERM@30", reservation="my_reservation"
130115
)
131116

132117
def test_signal_cannot_be_overridden_via_slurm_extra(self, mock_job):

tests/testcases/slurm_signal/handle_signal.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ def handle_signal(signum, _frame):
2020
time.sleep(1)
2121

2222
status = "python-finished-with-signal\n" if signal_received else "python-finished\n"
23-
output_path.write_text(status)
23+
output_path.write_text(status)

tests/tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from snakemake_interface_executor_plugins.settings import ExecutorSettingsBase
1212
from unittest.mock import MagicMock, patch
1313
import pytest
14-
from snakemake_executor_plugin_slurm import Executor, ExecutorSettings
15-
from snakemake_executor_plugin_slurm.utils import get_slurm_signal_arg, set_gres_string
14+
from snakemake_executor_plugin_slurm import ExecutorSettings
15+
from snakemake_executor_plugin_slurm.utils import set_gres_string
1616
from snakemake_executor_plugin_slurm.submit_string import get_submit_command
1717
from snakemake_executor_plugin_slurm.validation import (
1818
validate_slurm_extra,

0 commit comments

Comments
 (0)