diff env/lib/python3.7/site-packages/cwltool/tests/test_docker.py @ 0:26e78fe6e8c4 draft

"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
author shellac
date Sat, 02 May 2020 07:14:21 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.7/site-packages/cwltool/tests/test_docker.py	Sat May 02 07:14:21 2020 -0400
@@ -0,0 +1,45 @@
+import pytest
+
+from distutils import spawn
+
+from cwltool.docker import DockerCommandLineJob
+from cwltool.main import main
+
+from .util import get_data, get_main_output, needs_docker, needs_singularity
+
+@needs_docker
+def test_docker_workflow(tmpdir):
+    result_code, _, stderr = get_main_output(
+        ['--default-container', 'debian', '--outdir', str(tmpdir),
+         get_data("tests/wf/hello-workflow.cwl"), "--usermessage", "hello"])
+    assert "completed success" in stderr
+    assert result_code == 0
+
+def test_docker_iwdr():
+    result_code = main(
+        ['--default-container', 'debian',
+         get_data("tests/wf/iwdr-entry.cwl"), "--message", "hello"])
+    docker_installed = bool(spawn.find_executable('docker'))
+    if docker_installed:
+        assert result_code == 0
+    else:
+        assert result_code != 0
+
+@needs_docker
+def test_docker_incorrect_image_pull():
+    result_code = main(
+        ['--default-container', 'non-existant-weird-image',
+         get_data("tests/wf/hello-workflow.cwl"), "--usermessage", "hello"])
+    assert result_code != 0
+
+@needs_docker
+def test_docker_file_mount():
+    # test for bug in
+    # ContainerCommandLineJob.create_file_and_add_volume()
+    #
+    # the bug was that it would use the file literal contents as the
+    # temporary file name, which can easily result in a file name that
+    # is too long or otherwise invalid.  This test case uses ".."
+    result_code = main(
+        [get_data("tests/wf/literalfile.cwl"), get_data("tests/wf/literalfile-job.yml")])
+    assert result_code == 0