10497: Add source line reporting to errors and fix tests to work with CommentedMap...
[arvados.git] / sdk / cwl / arvados_cwl / arvcontainer.py
index dbbd83da2efd7d8f609dcdbfd90d10f414e6c1ac..827e92d679067b93cb28ef717b2c6c0d890c9df8 100644 (file)
@@ -4,6 +4,8 @@ import os
 
 import ruamel.yaml as yaml
 
+from schema_salad.sourceline import SourceLine
+
 from cwltool.errors import WorkflowException
 from cwltool.process import get_feature, UnsupportedRequirement, shortname
 from cwltool.pathmapper import adjustFiles
@@ -66,17 +68,17 @@ class ArvadosContainer(object):
                 }
 
         if self.generatefiles["listing"]:
-            raise UnsupportedRequirement("InitialWorkDirRequirement not supported with --api=containers")
+            raise SourceLine(self.tool.get_requirement("InitialWorkDirRequirement")[0], None, UnsupportedRequirement).makeError("InitialWorkDirRequirement not supported with --api=containers")
 
         container_request["environment"] = {"TMPDIR": self.tmpdir, "HOME": self.outdir}
         if self.environment:
             container_request["environment"].update(self.environment)
 
         if self.stdin:
-            raise UnsupportedRequirement("Stdin redirection currently not suppported")
+            raise SourceLine(self.tool.tool, "stdin", UnsupportedRequirement).makeError("Stdin redirection currently not suppported")
 
         if self.stderr:
-            raise UnsupportedRequirement("Stderr redirection currently not suppported")
+            raise SourceLine(self.tool.tool, "stderr", UnsupportedRequirement).makeError("Stderr redirection currently not suppported")
 
         if self.stdout:
             mounts["stdout"] = {"kind": "file",