diff --git a/cwltool/process.py b/cwltool/process.py index f33ff0739..3580b96da 100644 --- a/cwltool/process.py +++ b/cwltool/process.py @@ -775,6 +775,10 @@ def _init_job( ) job = copy.deepcopy(joborder) + if len(job.keys()) > 0: + for jo in joborder: + field = shortname(jo) + job[field] = joborder[jo] make_fs_access = getdefault(runtime_context.make_fs_access, StdFsAccess) fs_access = make_fs_access(runtime_context.basedir) diff --git a/cwltool/workflow.py b/cwltool/workflow.py index c96484d95..5ad91f7b9 100644 --- a/cwltool/workflow.py +++ b/cwltool/workflow.py @@ -440,10 +440,11 @@ def job( ) step_input = {} - for inp in self.tool["inputs"]: - field = shortname(inp["id"]) - if not inp.get("not_connected"): - step_input[field] = job_order[inp["id"]] + for inp in job_order: + field = shortname(inp) + step_input[field] = job_order[inp] + # if not inp.get("not_connected"): + # step_input[field] = job_order[field] try: yield from self.embedded_tool.job( diff --git a/cwltool/workflow_job.py b/cwltool/workflow_job.py index 0bb3472ce..2460e9942 100644 --- a/cwltool/workflow_job.py +++ b/cwltool/workflow_job.py @@ -386,6 +386,8 @@ def object_from_state( incomplete: bool = False, ) -> Optional[CWLObjectType]: inputobj = {} # type: CWLObjectType + for s in state.keys(): + inputobj[s] = state[s].value for inp in parms: iid = original_id = cast(str, inp["id"]) if frag_only: