common-workflow-language / cwltool

Common Workflow Language reference implementation
https://cwltool.readthedocs.io/
Apache License 2.0
335 stars 231 forks source link

test_disable_dir_overwrite_without_ext failure on Windows #957

Closed mr-c closed 3 years ago

mr-c commented 6 years ago
___________________ test_disable_dir_overwrite_without_ext ____________________

    @needs_docker

    def test_disable_dir_overwrite_without_ext():

        try:

            tmp = tempfile.mkdtemp()

            out = tempfile.mkdtemp()

>           assert main(["--outdir", out, get_data('tests/wf/updatedir.cwl'), "-r", tmp]) == 0

E           AssertionError: assert 1 == 0

E            +  where 1 = main(['--outdir', 'C:\\Users\\Dan\\AppData\\Local\\Temp\\tmpseg_j6s_', 'C:\\jenkins\\workspace\\cwltool_jenkinsfile_upgrade...RZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\\tests\\wf\\updatedir.cwl', '-r', 'C:\\Users\\Dan\\AppData\\Local\\Temp\\tmprb2dgfof'])

tests\test_ext.py:104: AssertionError

---------------------------- Captured stdout call -----------------------------

{}

---------------------------- Captured stderr call -----------------------------

 1.0.20181025123047

Resolved 'C:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl' to 'file:///C:/jenkins/workspace/cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ/tests/wf/updatedir.cwl'

Parsed job order from command line: {

    "id": "C:\\jenkins\\workspace\\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\\tests\\wf\\updatedir.cwl",

    "r": {

        "class": "Directory",

        "location": "file:///C:/Users/Dan/AppData/Local/Temp/tmprb2dgfof"

    }

}

We are on Microsoft Windows and not all components of this CWL description have a

container specified. This means that these steps will be executed in the default container,

which is frolvlad/alpine-bash.

Note, this could affect portability if this CWL description relies on non-POSIX features

or commands in this container. For best results add the following to your CWL

description's hints section:

hints:

  DockerRequirement:

    dockerPull: frolvlad/alpine-bash

[job updatedir.cwl] initializing from file:///C:/jenkins/workspace/cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ/tests/wf/updatedir.cwl

[job updatedir.cwl] {

    "r": {

        "class": "Directory",

        "location": "file:///C:/Users/Dan/AppData/Local/Temp/tmprb2dgfof",

        "basename": "tmprb2dgfof"

    }

}

[job updatedir.cwl] path mappings is {

    "file:///C:/Users/Dan/AppData/Local/Temp/tmprb2dgfof": [

        "C:\\Users\\Dan\\AppData\\Local\\Temp\\tmprb2dgfof",

        "/lhGTcZ\\inp",

        "WritableDirectory",

        false

    ]

}

[job updatedir.cwl] command line bindings is [

    {

        "position": [

            0,

            0

        ],

        "datum": "touch"

    },

    {

        "position": [

            0,

            1

        ],

        "datum": "inp/blurb"

    }

]

[job updatedir.cwl] initial work dir {

    "file:///C:/Users/Dan/AppData/Local/Temp/tmprb2dgfof": [

        "C:\\Users\\Dan\\AppData\\Local\\Temp\\tmprb2dgfof",

        "/lhGTcZ/inp",

        "WritableDirectory",

        true

    ]

}

[job updatedir.cwl] C:\Users\Dan\AppData\Local\Temp\tmps8uvc9ra$ docker \

    run \

    -i \

    --volume=/c/Users/Dan/AppData/Local/Temp/tmps8uvc9ra:/lhGTcZ:rw \

    --volume=/c/Users/Dan/AppData/Local/Temp/tmpqpocc8ko:/tmp:rw \

    --workdir=/lhGTcZ \

    --read-only=true \

    --rm \

    --env=TMPDIR=/tmp \

    --env=HOME=/lhGTcZ \

    --cidfile=c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\20181025153604-567287.cid \

    frolvlad/alpine-bash \

    touch \

    inp/blurb

[job updatedir.cwl] Job error:

Error collecting output for parameter 'out':

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: Traceback (most recent call last):

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\command_line_tool.py", line 604, in collect_output_ports

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     compute_checksum=compute_checksum)

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\command_line_tool.py", line 767, in collect_output

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     adjustFileObjs(r, revmap)

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\pathmapper.py", line 47, in adjustFileObjs

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     visit_class(rec, ("File",), op)

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\utils.py", line 210, in visit_class

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     visit_class(rec[d], cls, op)

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\utils.py", line 213, in visit_class

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     visit_class(d, cls, op)

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\utils.py", line 208, in visit_class

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     op(rec)

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:   File "c:\jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\cwltool\command_line_tool.py", line 168, in revmap_file

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3:     u"file pass through." % (path, builder.outdir))

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: 

C:jenkins\workspace\cwltool_jenkinsfile_upgrade-6OTLDHGBVKNOZ56QTWPIRZFBNKMBA4BIOLKLXZ2QMX535JO2PHLQ\tests\wf\updatedir.cwl:13:3: cwltool.errors.WorkflowException: Output file path C:/Users/Dan/AppData/Local/Temp/tmps8uvc9ra/inp/blurb must be within designated output directory (/lhGTcZ) or an input file pass through.

[job updatedir.cwl] completed permanentFail

[job updatedir.cwl] {}

[job updatedir.cwl] Removing input staging directory C:\Users\Dan\AppData\Local\Temp\tmp3fb0tt9l

[job updatedir.cwl] Removing temporary directory C:\Users\Dan\AppData\Local\Temp\tmpqpocc8ko

Final process status is permanentFail

From https://ci.commonwl.org/blue/organizations/jenkins/cwltool/detail/jenkinsfile_upgrade/1/pipeline

mr-c commented 3 years ago

We no longer support running in MS Windows, but we do support running in the Windows Subsystem for Linux 2: https://github.com/common-workflow-language/cwltool#ms-windows-users