diff options
author | Arun Isaac | 2022-01-16 12:42:20 +0530 |
---|---|---|
committer | Arun Isaac | 2022-01-16 13:17:06 +0530 |
commit | b3f18dbf95d80d92a708f04be53b8d98b7980a80 (patch) | |
tree | 3aeee9583b25cef941c415f34aade707b3bf26b4 /tests | |
parent | 647f020ccd409e83320e8d11859035856770c91f (diff) | |
download | ccwl-b3f18dbf95d80d92a708f04be53b8d98b7980a80.tar.gz ccwl-b3f18dbf95d80d92a708f04be53b8d98b7980a80.tar.lz ccwl-b3f18dbf95d80d92a708f04be53b8d98b7980a80.zip |
ccwl: Raise exceptions on input syntax errors.
* 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.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ccwl.scm | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/tests/ccwl.scm b/tests/ccwl.scm index 015dcde..bc9fb01 100644 --- a/tests/ccwl.scm +++ b/tests/ccwl.scm @@ -16,8 +16,13 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with ccwl. If not, see <https://www.gnu.org/licenses/>. -(use-modules (srfi srfi-64) - (ccwl ccwl)) +(use-modules (rnrs exceptions) + (srfi srfi-64) + (ccwl ccwl) + (ccwl conditions)) + +(define input + (@@ (ccwl ccwl) input)) (test-begin "ccwl") @@ -47,4 +52,19 @@ (output-type output))) (cwl-workflow-outputs cwl-workflow))))) +(test-assert "input, when passed more than one positional argument, must raise a &ccwl-violation condition" + (guard (exception + (else (ccwl-violation? exception))) + (input #'(message string)))) + +(test-assert "input, when passed an unrecognized keyword, must raise a &ccwl-violation condition" + (guard (exception + (else (ccwl-violation? exception))) + (input #'(message #:foo string)))) + +(test-assert "input, when passed multiple arguments to a unary keyword, must raise a &ccwl-violation condition" + (guard (exception + (else (ccwl-violation? exception))) + (input #'(message #:type int string)))) + (test-end "ccwl") |