Closed
Description
Expected Behavior
When optional workflow input input_file
with a format
field is not provided and the default: null
is used the checkFormat
function shouldn't raise exception when trying to check format
for this input.
Actual Behavior
checkFormat
function raises exception for optional workflow input with default: null
and format
fields.
Workflow doesn't fail if:
- remove either
default: null
orformat
- remove
namespaces
andschemas
sections
Workflow Code
cwlVersion: v1.0
class: Workflow
inputs:
input_file:
type: File?
default: null
format: "http://edamontology.org/format_2572"
outputs: []
steps:
cat:
run: cat.cwl
in:
input_file: input_file
out: []
$namespaces:
s: http://schema.org/
$schemas:
- http://schema.org/docs/schema_org_rdfa.html
s:name: "workflow"
cwlVersion: v1.0
class: CommandLineTool
hints:
DockerRequirement:
dockerPull: ubuntu
inputs:
input_file:
type:
- "null"
- File
inputBinding:
position: 1
outputs: []
baseCommand: cat
Full Traceback
cwltool --debug workflow.cwl
/usr/local/bin/cwltool 1.0.20170525215327
Resolved 'workflow.cwl' to 'file:///Users/kot4or/workspaces/cwl_ws/cwl_sandbox/null_default_2/workflow.cwl'
No handlers could be found for logger "rdflib.term"
Parsed job order from command line: {
"id": "workflow.cwl",
"input_file": null
}
Got workflow error
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/cwltool/main.py", line 243, in single_job_executor
for r in jobiter:
File "/usr/local/lib/python2.7/site-packages/cwltool/workflow.py", line 534, in job
builder = self._init_job(job_order, **kwargs)
File "/usr/local/lib/python2.7/site-packages/cwltool/process.py", line 559, in _init_job
checkFormat(builder.job[d], builder.do_eval(i["format"]), self.formatgraph)
File "/usr/local/lib/python2.7/site-packages/cwltool/process.py", line 346, in checkFormat
if "format" not in af:
TypeError: argument of type 'NoneType' is not iterable
Workflow error, try again with --debug for more information:
argument of type 'NoneType' is not iterable
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/cwltool/main.py", line 774, in main
**vars(args))
File "/usr/local/lib/python2.7/site-packages/cwltool/main.py", line 255, in single_job_executor
raise WorkflowException(Text(e))
WorkflowException: argument of type 'NoneType' is not iterable
Your Environment
- cwltool version: 1.0.20170525215327
Link to replicate test
https://github.com/michael-kotliar/cwl_sandbox/tree/master/null_default_2
Metadata
Metadata
Assignees
Labels
No labels