diff options
author | Arun Isaac | 2023-10-14 00:55:57 +0100 |
---|---|---|
committer | Arun Isaac | 2023-10-14 00:55:57 +0100 |
commit | 3063c33634d4a25ba99a2c884dd8bf04e519f914 (patch) | |
tree | f2fc1822a0ade7cc6fb7d38fe25c1ec7d46eff88 /tests | |
parent | a310aa43c3907fae62156be5478a3dacbb4e92f8 (diff) | |
download | ccwl-3063c33634d4a25ba99a2c884dd8bf04e519f914.tar.gz ccwl-3063c33634d4a25ba99a2c884dd8bf04e519f914.tar.lz ccwl-3063c33634d4a25ba99a2c884dd8bf04e519f914.zip |
ccwl: Detect multiple expressions in workflow body.
* ccwl/ccwl.scm (workflow): Detect multiple expressions in workflow
body and raise an exception.
* tests/ccwl.scm ("unrecognized workflow syntaxes must raise a
&ccwl-violation condition"): Test for the formatted message too.
("multiple expressions in workflow body must raise a &ccwl-violation
condition"): New test.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ccwl.scm | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/ccwl.scm b/tests/ccwl.scm index cd78739..76bcecd 100644 --- a/tests/ccwl.scm +++ b/tests/ccwl.scm @@ -177,7 +177,19 @@ (test-assert "unrecognized workflow syntaxes must raise a &ccwl-violation condition" (guard (exception - (else (ccwl-violation? exception))) + (else (and (ccwl-violation? exception) + (string=? (formatted-message-format exception) + "Unrecognized workflow syntax [expected (workflow (input ...) tree)]")))) + (begin (macroexpand + '(workflow foo ((message #:type string)) + (print #:message message))) + #f))) + +(test-assert "multiple expressions in workflow body must raise a &ccwl-violation condition" + (guard (exception + (else (and (ccwl-violation? exception) + (string=? (formatted-message-format exception) + "More than one expression ~a in workflow body. Perhaps you need to combine them with a pipe or a tee?")))) (begin (macroexpand '(workflow ((message1 #:type string) (message2 #:type string)) |