Source code for ewoksmx.tests.tasks.test_slurm_pipeline

import pathlib

from ewoksmx.tasks.base_tasks.slurm_pipeline import PrepareSlurmPipeline


[docs] def test_prepare_slurm_pipeline(tmp_path): metadata = {"reprocess_path": str(tmp_path), "no_pipelines": 1} pipeline = _Dummy(inputs={"metadata": metadata, "Dummy_pipeline": True}) pipeline.execute() assert pipeline.script_file_path.exists() expected = { "slurm_params": { "script_file_path": str( tmp_path / "Dummy_pipeline" / "nobackup" / "dummy_script.sh" ), "queue": "mx", "mem": 16000, "nodes": 1, "core": 20, "time": "2:00:00", "icat_dir": str(tmp_path / "Dummy_pipeline"), "icat_callback_url": None, "no_pipelines": 1, "pipeline_name": "Dummy_pipeline", "error_message": None, }, "pipeline_name": "Dummy_pipeline", } assert pipeline.get_output_values() == expected
class _Dummy(PrepareSlurmPipeline): PIPELINE_NAME: str = "Dummy_pipeline" def prepare_pipeline(self): self.processing_base_dir.mkdir(parents=True, exist_ok=False, mode=0o755) with open(self.script_file_path, "w"): pass @property def script_file_path(self) -> pathlib.Path: return self.processing_base_dir / "dummy_script.sh"