File tree Expand file tree Collapse file tree 3 files changed +54
-2
lines changed Expand file tree Collapse file tree 3 files changed +54
-2
lines changed Original file line number Diff line number Diff line change @@ -672,15 +672,19 @@ def __init__(self,
672672 param ["type" ] = "Any"
673673 param ["not_connected" ] = True
674674 else :
675+ if isinstance (step_entry , Mapping ):
676+ step_entry_name = step_entry ['id' ]
677+ else :
678+ step_entry_name = step_entry
675679 validation_errors .append (
676680 SourceLine (self .tool ["out" ], index ).makeError (
677681 "Workflow step output '%s' does not correspond to"
678- % shortname (step_entry ))
682+ % shortname (step_entry_name ))
679683 + "\n " + SourceLine (self .embedded_tool .tool , "outputs" ).makeError (
680684 " tool output (expected '%s')" % (
681685 "', '" .join (
682686 [shortname (tool_entry ["id" ]) for tool_entry in
683- self .embedded_tool .tool [toolfield ]]))))
687+ self .embedded_tool .tool ['outputs' ]]))))
684688 param ["id" ] = inputid
685689 param .lc .line = toolpath_object [stepfield ].lc .data [index ][0 ]
686690 param .lc .col = toolpath_object [stepfield ].lc .data [index ][1 ]
Original file line number Diff line number Diff line change 1+ #!/usr/bin/env cwl-runner
2+ class: Workflow
3+ cwlVersion: v1.0
4+ requirements :
5+ ScatterFeatureRequirement: {}
6+ MultipleInputFeatureRequirement: {}
7+ StepInputExpressionRequirement: {}
8+ inputs :
9+ letters0:
10+ type : [string, int]
11+ default : "a0"
12+ letters1:
13+ type : string []
14+ default : ["a1" , "b1" ]
15+ letters2:
16+ type : [string, int]
17+ default : "a2"
18+ letters3:
19+ type : string []
20+ default : ["a3" , "b3" ]
21+ letters4:
22+ type : string
23+ default : "a4"
24+ letters5:
25+ type : string []
26+ default : ["a5" , "b5" , "c5" ]
27+
28+ outputs :
29+ all:
30+ type : File
31+ outputSource : cat/txt
32+
33+ steps :
34+ - id : embedded
35+ run : functional-wf.cwl
36+ in : []
37+ out :
38+ - id : All
39+ - id : cat
40+ run : cat.cwl
41+ in :
42+ - id : cat_in
43+ source :
44+ - embedded/All
45+ out : [txt]
Original file line number Diff line number Diff line change @@ -659,6 +659,9 @@ def test_static_checker():
659659 with pytest .raises (schema_salad .validate .ValidationException ):
660660 factory .make (get_data ("tests/checker_wf/broken-wf2.cwl" ))
661661
662+ with pytest .raises (schema_salad .validate .ValidationException ):
663+ factory .make (get_data ("tests/checker_wf/broken-wf3.cwl" ))
664+
662665
663666def test_var_spool_cwl_checker1 ():
664667 """Confirm that references to /var/spool/cwl are caught."""
You can’t perform that action at this time.
0 commit comments