Skip to content

Commit a7c77ed

Browse files
Added loop tests
1 parent 9020ba1 commit a7c77ed

15 files changed

+567
-152
lines changed

tests/loop.cwl

Lines changed: 0 additions & 148 deletions
This file was deleted.

tests/loop/all-output-loop.cwl

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/usr/bin/env cwl-runner
2+
cwlVersion: v1.2
3+
class: Workflow
4+
$namespaces:
5+
cwltool: "http://commonwl.org/cwltool#"
6+
requirements:
7+
InlineJavascriptRequirement: {}
8+
inputs:
9+
i1: int
10+
outputs:
11+
o1:
12+
type: int[]
13+
outputSource: subworkflow/o1
14+
steps:
15+
subworkflow:
16+
run:
17+
class: ExpressionTool
18+
inputs:
19+
i1: int
20+
outputs:
21+
o1: int
22+
expression: >
23+
${return {'o1': inputs.i1 + 1};}
24+
in:
25+
i1: i1
26+
out: [o1]
27+
requirements:
28+
cwltool:Loop:
29+
loop_when: $(inputs.i1 < 10)
30+
loop:
31+
i1: o1
32+
outputMethod: all

tests/loop/invalid-loop-scatter.cwl

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env cwl-runner
2+
cwlVersion: v1.2
3+
class: Workflow
4+
$namespaces:
5+
cwltool: "http://commonwl.org/cwltool#"
6+
requirements:
7+
InlineJavascriptRequirement: {}
8+
ScatterFeatureRequirement: {}
9+
SubworkflowFeatureRequirement: {}
10+
inputs:
11+
i1: int[]
12+
i2: int
13+
outputs:
14+
o1:
15+
type: int[]
16+
outputSource: subworkflow/o1
17+
steps:
18+
subworkflow:
19+
run:
20+
class: ExpressionTool
21+
inputs:
22+
i1: int
23+
i2: int
24+
outputs:
25+
o1: int
26+
expression: >
27+
${return {'o1': inputs.i1 + inputs.i2};}
28+
requirements:
29+
cwltool:Loop:
30+
loop_when: $(inputs.i1 < 10)
31+
loop:
32+
i1: o1
33+
outputMethod: last
34+
in:
35+
i1: i1
36+
i2: i2
37+
scatter: i1
38+
out: [o1]

tests/loop/invalid-loop-when.cwl

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env cwl-runner
2+
cwlVersion: v1.2
3+
class: Workflow
4+
$namespaces:
5+
cwltool: "http://commonwl.org/cwltool#"
6+
requirements:
7+
InlineJavascriptRequirement: {}
8+
ScatterFeatureRequirement: {}
9+
SubworkflowFeatureRequirement: {}
10+
inputs:
11+
i1: int
12+
i2: int
13+
outputs:
14+
o1:
15+
type: int
16+
outputSource: subworkflow/o1
17+
steps:
18+
subworkflow:
19+
run:
20+
class: ExpressionTool
21+
inputs:
22+
i1: int
23+
i2: int
24+
outputs:
25+
o1: int
26+
expression: >
27+
${return {'o1': inputs.i1 + inputs.i2};}
28+
requirements:
29+
cwltool:Loop:
30+
loop_when: $(inputs.i1 < 10)
31+
loop:
32+
i1: o1
33+
outputMethod: last
34+
in:
35+
i1: i1
36+
i2: i2
37+
when: $(inputs.i2 < 10)
38+
out: [o1]

tests/loop/loop-inside-loop-all.cwl

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/usr/bin/env cwl-runner
2+
cwlVersion: v1.2
3+
class: Workflow
4+
$namespaces:
5+
cwltool: "http://commonwl.org/cwltool#"
6+
requirements:
7+
InlineJavascriptRequirement: {}
8+
ScatterFeatureRequirement: {}
9+
SubworkflowFeatureRequirement: {}
10+
inputs:
11+
i1: int
12+
i2: int
13+
outputs:
14+
o1:
15+
type:
16+
type: array
17+
items:
18+
type: array
19+
items: int
20+
outputSource: loop1/o1
21+
steps:
22+
loop1:
23+
run:
24+
class: Workflow
25+
inputs:
26+
i1: int
27+
i2: int
28+
outputs:
29+
o1:
30+
type: int[]
31+
outputSource: loop2/o1
32+
steps:
33+
loop2:
34+
run:
35+
class: ExpressionTool
36+
inputs:
37+
i1: int
38+
i2: int
39+
outputs:
40+
o1: int
41+
expression: >
42+
${return {'o1': inputs.i1 + 1};}
43+
in:
44+
i1: i1
45+
i2: i2
46+
out: [o1]
47+
requirements:
48+
cwltool:Loop:
49+
loop_when: $(inputs.i1 <= inputs.i2)
50+
loop:
51+
i1: o1
52+
outputMethod: all
53+
in:
54+
i1: i1
55+
i2: i2
56+
out: [o1]
57+
requirements:
58+
cwltool:Loop:
59+
loop_when: $(inputs.i2 < 4)
60+
loop:
61+
i2:
62+
valueFrom: $(inputs.i2 + 1)
63+
outputMethod: all

tests/loop/loop-inside-loop.cwl

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/usr/bin/env cwl-runner
2+
cwlVersion: v1.2
3+
class: Workflow
4+
$namespaces:
5+
cwltool: "http://commonwl.org/cwltool#"
6+
requirements:
7+
InlineJavascriptRequirement: {}
8+
ScatterFeatureRequirement: {}
9+
SubworkflowFeatureRequirement: {}
10+
inputs:
11+
i1: int
12+
i2: int
13+
outputs:
14+
o1:
15+
type: int[]
16+
outputSource: loop1/o1
17+
steps:
18+
loop1:
19+
run:
20+
class: Workflow
21+
inputs:
22+
i1: int
23+
i2: int
24+
outputs:
25+
o1:
26+
type: int
27+
outputSource: loop2/o1
28+
steps:
29+
loop2:
30+
run:
31+
class: ExpressionTool
32+
inputs:
33+
i1: int
34+
i2: int
35+
outputs:
36+
o1: int
37+
expression: >
38+
${return {'o1': inputs.i1 + 1};}
39+
in:
40+
i1: i1
41+
i2: i2
42+
out: [o1]
43+
requirements:
44+
cwltool:Loop:
45+
loop_when: $(inputs.i1 <= inputs.i2)
46+
loop:
47+
i1: o1
48+
outputMethod: last
49+
in:
50+
i1: i1
51+
i2: i2
52+
out: [o1]
53+
requirements:
54+
cwltool:Loop:
55+
loop_when: $(inputs.i2 < 4)
56+
loop:
57+
i2:
58+
valueFrom: $(inputs.i2 + 1)
59+
outputMethod: all
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
i1: [1, 2, 3, 4, 5]
2+
i2: 1

0 commit comments

Comments
 (0)