Mercurial > repos > shellac > sam_consensus_v3
view env/lib/python3.9/site-packages/cwltool/tests/test_singularity.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
line wrap: on
line source
import distutils.spawn import os import sys from pathlib import Path from cwltool.main import main from .util import ( get_data, get_main_output, needs_singularity, needs_singularity_2_6, working_directory, ) sys.argv = [""] @needs_singularity_2_6 def test_singularity_pullfolder(tmp_path: Path) -> None: workdir = tmp_path / "working_dir_new" workdir.mkdir() os.chdir(workdir) pullfolder = tmp_path / "pullfolder" pullfolder.mkdir() env = os.environ.copy() env["SINGULARITY_PULLFOLDER"] = str(pullfolder) result_code, stdout, stderr = get_main_output( [ "--singularity", get_data("tests/sing_pullfolder_test.cwl"), "--message", "hello", ], env=env, ) print(stdout) print(stderr) assert result_code == 0 image = pullfolder / "debian.img" assert image.exists() @needs_singularity def test_singularity_workflow(tmp_path: Path) -> None: with working_directory(tmp_path): error_code, _, stderr = get_main_output( [ "--singularity", "--default-container", "debian", "--debug", get_data("tests/wf/hello-workflow.cwl"), "--usermessage", "hello", ] ) assert "completed success" in stderr, stderr assert error_code == 0 def test_singularity_iwdr() -> None: result_code = main( [ "--singularity", "--default-container", "debian", get_data("tests/wf/iwdr-entry.cwl"), "--message", "hello", ] ) singularity_installed = bool(distutils.spawn.find_executable("singularity")) if singularity_installed: assert result_code == 0 else: assert result_code != 0 @needs_singularity def test_singularity_incorrect_image_pull() -> None: result_code, _, stderr = get_main_output( [ "--singularity", "--default-container", "non-existant-weird-image", get_data("tests/wf/hello-workflow.cwl"), "--usermessage", "hello", ] ) assert result_code != 0 @needs_singularity def test_singularity_local(tmp_path: Path) -> None: workdir = tmp_path / "working_dir" workdir.mkdir() os.chdir(workdir) result_code, stdout, stderr = get_main_output( [ "--singularity", get_data("tests/sing_pullfolder_test.cwl"), "--message", "hello", ] ) assert result_code == 0 @needs_singularity_2_6 def test_singularity_docker_image_id_in_tool(tmp_path: Path) -> None: workdir = tmp_path / "working_dir" workdir.mkdir() os.chdir(workdir) result_code, stdout, stderr = get_main_output( [ "--singularity", get_data("tests/sing_pullfolder_test.cwl"), "--message", "hello", ] ) result_code1, stdout, stderr = get_main_output( ["--singularity", get_data("tests/debian_image_id.cwl"), "--message", "hello"] ) assert result_code1 == 0