common-workflow-language / common-workflow-language/cwltool
missing outputBindings when not using cwl.output.json should produce a better error message
- Dominant language
- Python
- Stars
- 376
- Forks
- 255
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 12
Description
Requested by Michael R. Crusoe, this issue concerns the error messages which are not helpful for the user. : )
## Code
```cwl
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: CommandLineTool
baseCommand: bet
inputs:
rao:
type: File
inputBinding: {position: 1}
out:
type: string
inputBinding: {position: 2}
flagmi:
type: boolean
inputBinding:
prefix: -m
position: 3
outputs:
- id: bet_output_mask
type: File
format: edam:format_3989
- id: bet_output_mask1
type: File
format: edam:format_3989
$namespaces:
edam: http://edamontology.org/
$schemas:
- http://edamontology.org/EDAM_1.18.owl
```
## Full Traceback
```
miniconda3/envs/onto38/bin/cwl-runner 3.1.20210628163208
INFO Resolved 'bet2.cwl' to 'file:///home/ssaneei/Documents/cwl/example/bet/bet2.cwl'
INFO [job bet2.cwl] /tmp/jzxtul5y$ bet \
/tmp/_76g2rw_/stg73219855-07e1-4776-ac68-a3d683d43839/STRUCT.nii.gz \
STRUCT_brain.nii.gz \
-m
/usr/local/fsl/bin/bet: line 157: /bin/remove_ext: No such file or directory
/usr/local/fsl/bin/bet failed during command:/tmp/_76g2rw_/stg73219855-07e1-4776-ac68-a3d683d43839/STRUCT.nii.gz STRUCT_brain.nii.gz -m
ERROR [job bet2.cwl] Job error:
Error validating output record. * the `bet_output_mask` field is not valid because
is not a dict
* the `bet_output_mask1` field is not valid because
is not a dict
in {
"bet_output_mask": null,
"bet_output_mask1": null
}
WARNING [job bet2.cwl] completed permanentFail
{}
WARNING Final process status is permanentFail
```
## Environment
* cwltool version: 3.1.20210628163208
Contributor guide
Assessment
This issue has not been assessed yet.