about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorArun Isaac2021-11-02 01:17:41 +0530
committerArun Isaac2021-11-02 01:31:56 +0530
commit0b359cf2c32cde81b4311d55273c8f6c14ca6b93 (patch)
tree50def438dc8033db14804f33a2aef7fcffa2d9ec /tests
parent179925c5d88ae38bc28baf470d350461d49ebede (diff)
downloadccwl-0b359cf2c32cde81b4311d55273c8f6c14ca6b93.tar.gz
ccwl-0b359cf2c32cde81b4311d55273c8f6c14ca6b93.tar.lz
ccwl-0b359cf2c32cde81b4311d55273c8f6c14ca6b93.zip
ccwl: Support external CWL workflows.
* ccwl/ccwl.scm: Import (yaml). Export cwl-workflow?, cwl-workflow,
cwl-workflow-file, cwl-workflow-inputs and cwl-workflow-outputs.
(<cwl-workflow>): New type.
(cwl-workflow, function-input-keys, function-outputs,
function-object): New functions.
(command-input-keys, command-object): Delete functions.
(collect-steps): Replace command-object with function-object,
command-input-keys with function-input-keys and command-outputs with
function-outputs.
* ccwl/cwl.scm (workflow->cwl-scm): Handle <cwl-workflow> objects.
* tests/ccwl.scm ("read all forms of inputs and outputs from a CWL
workflow"): New test.
* guix.scm: Import (gnu packages guile-xyz) and (guix utils).
(guile-libyaml): New variable.
(ccwl)[inputs]: Add guile-libyaml.
Diffstat (limited to 'tests')
-rw-r--r--tests/ccwl.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/ccwl.scm b/tests/ccwl.scm
index 8f09fea..5d8a17f 100644
--- a/tests/ccwl.scm
+++ b/tests/ccwl.scm
@@ -34,4 +34,18 @@
          'file)
         'inputBinding)))
 
+(test-equal "read all forms of inputs and outputs from a CWL workflow"
+  '(((spam string))
+    ((ham stdout)
+     (eggs stdout)))
+  (let ((cwl-workflow (cwl-workflow "tests/input-output-parameters.cwl")))
+    (list (map (lambda (input)
+                 (list (input-id input)
+                       (input-type input)))
+               (cwl-workflow-inputs cwl-workflow))
+          (map (lambda (output)
+                 (list (output-id output)
+                       (output-type output)))
+               (cwl-workflow-outputs cwl-workflow)))))
+
 (test-end "ccwl")