File tree 3 files changed +54
-2
lines changed
3 files changed +54
-2
lines changed Original file line number Diff line number Diff line change @@ -672,15 +672,19 @@ def __init__(self,
672
672
param ["type" ] = "Any"
673
673
param ["not_connected" ] = True
674
674
else :
675
+ if isinstance (step_entry , Mapping ):
676
+ step_entry_name = step_entry ['id' ]
677
+ else :
678
+ step_entry_name = step_entry
675
679
validation_errors .append (
676
680
SourceLine (self .tool ["out" ], index ).makeError (
677
681
"Workflow step output '%s' does not correspond to"
678
- % shortname (step_entry ))
682
+ % shortname (step_entry_name ))
679
683
+ "\n " + SourceLine (self .embedded_tool .tool , "outputs" ).makeError (
680
684
" tool output (expected '%s')" % (
681
685
"', '" .join (
682
686
[shortname (tool_entry ["id" ]) for tool_entry in
683
- self .embedded_tool .tool [toolfield ]]))))
687
+ self .embedded_tool .tool ['outputs' ]]))))
684
688
param ["id" ] = inputid
685
689
param .lc .line = toolpath_object [stepfield ].lc .data [index ][0 ]
686
690
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():
659
659
with pytest .raises (schema_salad .validate .ValidationException ):
660
660
factory .make (get_data ("tests/checker_wf/broken-wf2.cwl" ))
661
661
662
+ with pytest .raises (schema_salad .validate .ValidationException ):
663
+ factory .make (get_data ("tests/checker_wf/broken-wf3.cwl" ))
664
+
662
665
663
666
def test_var_spool_cwl_checker1 ():
664
667
"""Confirm that references to /var/spool/cwl are caught."""
You can’t perform that action at this time.
0 commit comments