Skip to content

Commit 03cb519

Browse files
authored
Merge pull request #125 from common-workflow-language/fix-eval-stdout
Bug fix: compute stdout file name
2 parents d007cf6 + a205b9a commit 03cb519

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

cwltool/draft2tool.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -240,17 +240,6 @@ def rm_pending_output_callback(output_callback, jobcachepending,
240240

241241

242242
builder.pathmapper = None
243-
244-
if self.tool.get("stderr"):
245-
j.stderr = builder.do_eval(self.tool["stderr"])
246-
if os.path.isabs(j.stderr) or ".." in j.stderr:
247-
raise validate.ValidationException("stderr must be a relative path")
248-
249-
if self.tool.get("stdout"):
250-
j.stdout = builder.do_eval(self.tool["stdout"])
251-
if os.path.isabs(j.stdout) or ".." in j.stdout or not j.stdout:
252-
raise validate.ValidationException("stdout must be a relative path")
253-
254243
builder.pathmapper = self.makePathMapper(reffiles, builder.stagedir, **kwargs)
255244
builder.requirements = j.requirements
256245

@@ -267,6 +256,16 @@ def rm_pending_output_callback(output_callback, jobcachepending,
267256
j.stdin = builder.do_eval(self.tool["stdin"])
268257
reffiles.append({"class": "File", "path": j.stdin})
269258

259+
if self.tool.get("stderr"):
260+
j.stderr = builder.do_eval(self.tool["stderr"])
261+
if os.path.isabs(j.stderr) or ".." in j.stderr:
262+
raise validate.ValidationException("stderr must be a relative path")
263+
264+
if self.tool.get("stdout"):
265+
j.stdout = builder.do_eval(self.tool["stdout"])
266+
if os.path.isabs(j.stdout) or ".." in j.stdout or not j.stdout:
267+
raise validate.ValidationException("stdout must be a relative path")
268+
270269
_logger.debug(u"[job %s] command line bindings is %s", j.name, json.dumps(builder.bindings, indent=4))
271270

272271
dockerReq = self.get_requirement("DockerRequirement")[0]

0 commit comments

Comments
 (0)