summaryrefslogtreecommitdiff
path: root/tests/ccwl.scm
AgeCommit message (Collapse)Author
2022-01-16ccwl: Raise exceptions on command syntax errors.Arun Isaac
* ccwl/ccwl.scm (command): Raise &ccwl-violation conditions on syntax errors. * tests/ccwl.scm ("command, when passed positional arguments, must raise a &ccwl-violation condition", "command, when passed an unrecognized keyword, must raise a &ccwl-violation condition", "command, when passed multiple arguments to a unary keyword, must raise a &ccwl-violation condition"): New tests.
2022-01-16ccwl: Raise exceptions on output syntax errors.Arun Isaac
* ccwl/ccwl.scm (output): Raise &ccwl-violation conditions on syntax errors. * tests/ccwl.scm (output): New function. ("output, when passed more than one positional argument, must raise a &ccwl-violation condition", "output, when passed an unrecognized keyword, must raise a &ccwl-violation condition", "output, when passed multiple arguments to a unary keyword, must raise a &ccwl-violation condition"): New tests.
2022-01-16ccwl: Raise exceptions on input syntax errors.Arun Isaac
* ccwl/ccwl.scm: Import (rnrs conditions), (rnrs exceptions) and (ccwl conditions). (input, input-spec-id): Raise &ccwl-violation conditions on syntax errors. * tests/ccwl.scm: Import (rnrs exceptions) and (ccwl conditions). (input): New function. ("input, when passed more than one positional argument, must raise a &ccwl-violation condition", "input, when passed an unrecognized keyword, must raise a &ccwl-violation condition", "input, when passed multiple arguments to a unary keyword, must raise a &ccwl-violation condition"): New tests.
2022-01-16tests: Use @@ instead of module-ref and resolve-module.Arun Isaac
@@ is shorter and looks neater with fewer quotes. * tests/ccwl.scm ("stdin input should not have inputBinding"), tests/utils.scm ("unsyntax-keywords"): Use @@ instead of module-ref and resolve-module.
2021-11-02ccwl: Support external CWL workflows.Arun Isaac
* 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.
2021-10-12tests: Fix quoting of type.Arun Isaac
* tests/ccwl.scm ("stdin input should not have inputBinding"): Fix quoting of type File.
2021-10-11ccwl: Factorize out CWL generation code to separate file.Arun Isaac
This factorization is required to support other compilation targets such as graphviz, bash, scheme, etc. * ccwl/cwl.scm: New file. * Makefile.am (SOURCES): Register it. * ccwl/ccwl.scm (ccwl): Export command?, command-inputs, command-outputs, command-args, command-stdin, command-other, workflow?, workflow-steps, workflow-inputs, workflow-outputs, workflow-other, input?, input-id, input-type, input-label, input-default, input-position, input-prefix, input-other, output?, output-id, output-type, output-binding, output-source, output-other, step?, step-id, step-run, step-in, step-out, unspecified-default?. (<workflow>): New type. (filter-alist): Move to cwl.scm. (make-workflow): Refactor into workflow->cwl-scm in cwl.scm. (output->cwl): Move to cwl.scm as output->cwl-scm. (command->cwl): Move to cwl.scm as command->cwl-scm. (workflow-steps): Rename to collect-steps. Clarify docstring. (workflow): Use collect-steps instead of workflow-steps. Explicitly pass empty list as other argument of make-workflow. Add TODO note to implement it properly. * scripts/ccwl.in: Import (ccwl cwl) instead of (ccwl yaml). Use workflow->cwl instead of scm->yaml. * tests/ccwl.scm ("stdin input should not have inputBinding"): Use command->cwl-scm from (ccwl cwl) instead of command->cwl from (ccwl ccwl).
2021-07-19tests: Fix indentation.Arun Isaac
* tests/ccwl.scm ("stdin input should not have inputBinding"): Fix indentation.
2021-07-02tests: Ensure stdin input has no inputBinding.Arun Isaac
* tests/ccwl.scm: Import (ccwl ccwl) ("stdin input should not have inputBinding"): New test.
2021-07-02tests: Remove unnecessary import.Arun Isaac
* tests/ccwl.scm: Do not import (srfi srfi-71).
2021-04-26Remove deprecated break-pair tests.Arun Isaac
* tests/ccwl.scm (break-pair): Delete function. ("break-pair", "break-pair: check last elemet handling"): Delete tests.
2021-04-17Add copyright section to test files.Arun Isaac
* tests/ccwl.scm, tests/yaml.scm: Add copyright section.
2021-02-27Add break-pair utility.Arun Isaac
* ccwl/ccwl.scm (break-pair): New function. * tests/ccwl.scm: New file. * tests/ccwl.scm ("break-pair", "break-pair: check last elemet handling"): New test cases.