-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent behavior with optional file types when coercing from string #696
Comments
@stxue1 Thanks, I think there are two slightly separate topics here:
|
Taking a look at the SPEC again, it does look like coercion to None for nonexistent optional files is scoped to task outputs. So my previous first complaint isn't really an issue. However, would it be a good idea to apply this behavior for workflow outputs as well? I think the If converting |
When a file is declared as optional, the value should be null if the file does not exist. In an array of optional files, this should mean those nonexistent file entries should become null.
When coercing from string to file, this check for file existence seems to be inconsistent depending on how the WDL is written:
With
MINIWDL__FILE_IO__ALLOW_ANY_INPUT=True miniwdl run test.wdl
, this returns:All of
len_in_body_out
,len_in_input_out
, andlen_in_output
should be 0, but when processed inside the task body/input, select_all runs on the string representation instead of the file representation; only processing it in the output does it check that those file paths exist.String to file coercion also behaves differently depending if it is within a task or a workflow; the above WDL is mostly in a task, as the same code does not work in a workflow:
The text was updated successfully, but these errors were encountered: