Mercurial > repos > shellac > sam_consensus_v3
diff env/lib/python3.9/site-packages/cwltool/tests/test_path_checks.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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/env/lib/python3.9/site-packages/cwltool/tests/test_path_checks.py Mon Mar 22 18:12:50 2021 +0000 @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +import pytest +from pathlib import Path + +from cwltool.main import main + +from .util import needs_docker + +script = """ +#!/usr/bin/env cwl-runner +cwlVersion: v1.0 +class: CommandLineTool +inputs: + - id: input + type: File + inputBinding: + position: 0 + - id: output + type: string +outputs: + - id: output + type: File + outputBinding: + glob: "$(inputs.output)" +stdout: "$(inputs.output)" +baseCommand: [cat] +""" + + +@needs_docker +def test_spaces_in_input_files(tmp_path: Path) -> None: + script_name = tmp_path / "script" + spaces = tmp_path / "test with spaces" + spaces.touch() + with script_name.open(mode="w") as script_file: + script_file.write(script) + + params = [ + "--debug", + "--outdir", + str(tmp_path / "outdir"), + str(script_name), + "--input", + str(spaces), + "--output", + "test.txt", + ] + assert main(params) == 1 + assert main(["--relax-path-checks"] + params) == 0 + + +@needs_docker +@pytest.mark.parametrize( + "filename", ["測試", "그래프", "график", "𒁃", "☕😍", "امتحان", "abc+DEFGZ.z_12345-"] +) +def test_unicode_in_input_files(tmp_path: Path, filename: str) -> None: + script_name = tmp_path / "script" + inputfile = tmp_path / filename + inputfile.touch() + with script_name.open(mode="w") as script_file: + script_file.write(script) + + params = [ + "--debug", + "--outdir", + str(tmp_path / "outdir"), + str(script_name), + "--input", + str(inputfile), + "--output", + "test.txt", + ] + assert main(params) == 0 + + +@needs_docker +@pytest.mark.parametrize( + "filename", ["測試", "그래프", "график", "𒁃", "☕😍", "امتحان", "abc+DEFGZ.z_12345-"] +) +def test_unicode_in_output_files(tmp_path: Path, filename: str) -> None: + script_name = tmp_path / "script" + inputfile = tmp_path / "test" + inputfile.touch() + with script_name.open(mode="w") as script_file: + script_file.write(script) + + params = [ + "--debug", + "--outdir", + str(tmp_path / "outdir"), + str(script_name), + "--input", + str(inputfile), + "--output", + filename, + ] + assert main(params) == 0