Open stxue1 opened 3 months ago
The same issue appears with the collect_by_keys
function. Running the given unit test in the WDL spec:
2024-07-02 12:48:16.161 wdl.w:test_collect_by_key workflow start :: name: "test_collect_by_key", source: "/home/heaucques/Documents/wdl-conformance-tests/unit_tests/test_collect_by_key.wdl", line: 3, column: 1, dir: "/home/heaucques/Documents/wdl-conformance-tests/20240702_124816_test_collect_by_key"
2024-07-02 12:48:16.163 wdl.w:test_collect_by_key miniwdl :: version: "v1.12.0", uname: "Linux pop-os 6.9.3-76060903-generic #202405300957~1718348209~22.04~7817b67 SMP PREEMPT_DYNAMIC Mon J x86_64"
2024-07-02 12:48:16.186 wdl.w:test_collect_by_key workflow test_collect_by_key (/home/heaucques/Documents/wdl-conformance-tests/unit_tests/test_collect_by_key.wdl Ln 3 Col 1) failed :: dir: "/home/heaucques/Documents/wdl-conformance-tests/20240702_124816_test_collect_by_key", error: "EvalError", node: "output-is_true2", pos: {"source": "/home/heaucques/Documents/wdl-conformance-tests/unit_tests/test_collect_by_key.wdl", "line": 20, "column": 24}
2024-07-02 12:48:16.186 wdl.w:test_collect_by_key aborting workflow
2024-07-02 12:48:16.186 miniwdl-run :: error: "EvalError", node: "output-is_true2", pos: {"source": "/home/heaucques/Documents/wdl-conformance-tests/unit_tests/test_collect_by_key.wdl", "line": 20, "column": 24}, dir: "/home/heaucques/Documents/wdl-conformance-tests/20240702_124816_test_collect_by_key"
MiniWDL crashes when calling collect_by_key
on a WDL type with nested files.
The function
as_map
is unable to handle cases where one of its nested types is File.Switching the File type to String, the workflow is able to run:
It seems like whenever
as_map
sees a File, an EvalError is outputted.There is also a unit test in the WDL spec that depends on this behavior, and this is preventing miniwdl from passing it.