sdk/python/tests/fed-migrate/*.cwl
sdk/python/tests/fed-migrate/*.cwlex
doc/install/*.xlsx
+sdk/cwl/tests/wf/hello.txt
+sdk/cwl/tests/wf/indir1/hello2.txt
\ No newline at end of file
from cwltool.load_tool import fetch_document, resolve_and_validate_document
from cwltool.process import shortname
from cwltool.workflow import Workflow, WorkflowException, WorkflowStep
-from cwltool.utils import adjustFileObjs, adjustDirObjs, visit_class
+from cwltool.utils import adjustFileObjs, adjustDirObjs, visit_class, normalizeFilesDirs
from cwltool.context import LoadingContext
import ruamel.yaml as yaml
discover_secondary_files(self.arvrunner.fs_access, builder,
self.tool["inputs"], joborder)
+ normalizeFilesDirs(joborder)
with Perf(metrics, "subworkflow upload_deps"):
upload_dependencies(self.arvrunner,
"size": 4
tool: 17267-broken-schemas.cwl
doc: "Test issue 17267 - inaccessible $schemas URL is not a fatal error"
+
+- job: null
+ output: {}
+ tool: wf/trick_defaults2.cwl
+ doc: "Test issue 17462 - secondary file objects on file defaults are not resolved"
--- /dev/null
+#!/usr/bin/env cwl-runner
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+class: CommandLineTool
+cwlVersion: v1.0
+inputs:
+ inp1:
+ type: File
+ default:
+ class: File
+ location: hello.txt
+ secondaryFiles:
+ - class: Directory
+ location: indir1
+outputs: []
+baseCommand: 'true'
_group.add_argument('--stream', action='store_true',
help="""
Store the file content and display the resulting manifest on
-stdout. Do not write the manifest to Keep or save a Collection object
-in Arvados.
+stdout. Do not save a Collection object in Arvados.
""")
_group.add_argument('--as-manifest', action='store_true', dest='manifest',
def _write_stdin(self, filename):
output = self._local_collection.open(filename, 'wb')
- self._write(sys.stdin, output)
+ self._write(sys.stdin.buffer, output)
output.close()
def _check_file(self, source, filename):
[sys.executable, arv_put.__file__, '--stream'],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT, env=self.ENVIRON)
- pipe.stdin.write(b'stdin test\n')
+ pipe.stdin.write(b'stdin test\xa6\n')
pipe.stdin.close()
deadline = time.time() + 5
while (pipe.poll() is None) and (time.time() < deadline):
elif returncode != 0:
sys.stdout.write(pipe.stdout.read())
self.fail("arv-put returned exit code {}".format(returncode))
- self.assertIn('4a9c8b735dce4b5fa3acf221a0b13628+11',
+ self.assertIn('1cb671b355a0c23d5d1c61d59cdb1b2b+12',
pipe.stdout.read().decode())
def test_sigint_logs_request_id(self):