common-workflow-language / common-workflow-language/cwltool

Odd validation failures for valid document

Open
#1,096 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
376
Forks
255
Avg merge
2d 7h
Merged PRs (30d)
12

Description

## Expected Behavior
Tool should pass validation.

## Actual Behavior
Tool fails validation.

## Workflow Code
```
class: CommandLineTool
cwlVersion: v1.0
doc: ''
inputs:
input:
type: string[]
inputBinding:
prefix: --dak
position: 0

outputs: []
baseCommand: 'echo'
hints: []
# requirements: []

```

## Full Traceback
```pytb
I'm sorry, I couldn't load this CWL file.
The error was:
Traceback (most recent call last):
File "/.../cwltool/lib/python3.7/site-packages/cwltool/main.py", line 658, in main
skip_schemas=args.skip_schemas)
File "/.../cwltool/lib/python3.7/site-packages/cwltool/load_tool.py", line 308, in resolve_and_validate_document
processobj, document_loader, fileuri, loadingContext.enable_dev, metadata)))
File "/.../cwltool/lib/python3.7/site-packages/schema_salad/sourceline.py", line 187, in cmap
d[k] = cmap(v, lc=d.lc.data[k], fn=fn)
File "/.../cwltool/lib/python3.7/site-packages/schema_salad/sourceline.py", line 194, in cmap
if k in d.lc.data:
TypeError: argument of type 'NoneType' is not iterable```

## Your Environment
`cwltool 1.0.20190228155703`

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the provided CWL document with cwltool 1.0.20190228155703 and trace validation through cwltool/load_tool.py at resolve_and_validate_document. Then inspect schema_salad/sourceline.py at cmap, using the traceback and workflow as the regression case; done means the document validates without the NoneType error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.