File tree Expand file tree Collapse file tree 3 files changed +65
-1
lines changed Expand file tree Collapse file tree 3 files changed +65
-1
lines changed Original file line number Diff line number Diff line change @@ -1581,7 +1581,8 @@ def collect_output(
1581
1581
return None
1582
1582
1583
1583
if (
1584
- not empty_and_optional
1584
+ not result
1585
+ and not empty_and_optional
1585
1586
and isinstance (schema ["type" ], MutableMapping )
1586
1587
and schema ["type" ]["type" ] == "record"
1587
1588
):
Original file line number Diff line number Diff line change @@ -1704,3 +1704,30 @@ def test_record_default_with_long() -> None:
1704
1704
assert (
1705
1705
result ["sixth" ]["checksum" ] == "sha1$327fc7aedf4f6b69a42a7c8b808dc5a7aff61376"
1706
1706
)
1707
+
1708
+
1709
+ def test_record_outputeval () -> None :
1710
+ """Confirm that record types can be populated from outputEval."""
1711
+ tool_path = get_data ("tests/wf/record_outputeval.cwl" )
1712
+ err_code , stdout , stderr = get_main_output ([tool_path ])
1713
+ assert err_code == 0
1714
+ result = json .loads (stdout )["references" ]
1715
+ assert "genome_fa" in result
1716
+ assert result ["genome_fa" ]["class" ] == "File"
1717
+ assert result ["genome_fa" ]["basename" ] == "GRCm38.primary_assembly.genome.fa"
1718
+ assert (
1719
+ result ["genome_fa" ]["checksum" ]
1720
+ == "sha1$da39a3ee5e6b4b0d3255bfef95601890afd80709"
1721
+ )
1722
+ assert result ["genome_fa" ]["size" ] == 0
1723
+ assert "annotation_gtf" in result
1724
+ assert result ["annotation_gtf" ]["class" ] == "File"
1725
+ assert (
1726
+ result ["annotation_gtf" ]["basename" ]
1727
+ == "gencode.vM21.primary_assembly.annotation.gtf"
1728
+ )
1729
+ assert (
1730
+ result ["annotation_gtf" ]["checksum" ]
1731
+ == "sha1$da39a3ee5e6b4b0d3255bfef95601890afd80709"
1732
+ )
1733
+ assert result ["annotation_gtf" ]["size" ] == 0
Original file line number Diff line number Diff line change
1
+ cwlVersion: v1.2
2
+ class: CommandLineTool
3
+ requirements :
4
+ InlineJavascriptRequirement: {}
5
+
6
+ inputs :
7
+ gtf_version:
8
+ type : string
9
+ default : M21
10
+ organism:
11
+ type : string
12
+ default : mouse
13
+ organism_prefix:
14
+ type : string
15
+ default : m
16
+
17
+ baseCommand :
18
+ - bash
19
+ - -c
20
+ arguments :
21
+ - touch GRC$(inputs.organism_prefix)38.primary_assembly.genome.fa ; touch gencode.v$(inputs.gtf_version).primary_assembly.annotation.gtf
22
+ outputs :
23
+ - id : references
24
+ type :
25
+ name: References
26
+ fields :
27
+ - name: genome_fa
28
+ type : File
29
+ - name: annotation_gtf
30
+ type : File
31
+ type : record
32
+ outputBinding :
33
+ outputEval : '$({ "genome_fa": { "class": "File", "path": runtime. outdir+"/"+"GRC"
34
+ + inputs. organism_prefix + "38. primary_assembly. genome. fa" }, "annotation_gtf":
35
+ { "class": "File", "path": runtime. outdir+"/"+"gencode. v" + inputs. gtf_version
36
+ + ". primary_assembly. annotation. gtf" } })'
You can’t perform that action at this time.
0 commit comments