diff options
author | Arun Isaac | 2021-11-02 01:17:41 +0530 |
---|---|---|
committer | Arun Isaac | 2021-11-02 01:31:56 +0530 |
commit | 0b359cf2c32cde81b4311d55273c8f6c14ca6b93 (patch) | |
tree | 50def438dc8033db14804f33a2aef7fcffa2d9ec /tests | |
parent | 179925c5d88ae38bc28baf470d350461d49ebede (diff) | |
download | ccwl-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.scm | 14 |
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") |