diff options
Diffstat (limited to 'Examples/test-suite/chicken/testsuite.ss')
| -rw-r--r-- | Examples/test-suite/chicken/testsuite.ss | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Examples/test-suite/chicken/testsuite.ss b/Examples/test-suite/chicken/testsuite.ss new file mode 100644 index 0000000..e1152a6 --- /dev/null +++ b/Examples/test-suite/chicken/testsuite.ss @@ -0,0 +1,12 @@ +(define (lookup-ext-tag tag) + (cond + ((equal? tag '(quote swig-contract-assertion-failed)) + '( ((exn type) #f)) ) + (#t '()))) + +(define-macro (expect-throw tag-form form) + `(if (condition-case (begin ,form #t) + ,@(lookup-ext-tag tag-form) + ((exn) (print "The form threw a different error than expected: " ',form) (exit 1)) + (var () (print "The form did not error as expected: " ',form) (exit 1))) + (begin (print "The form returned normally when it was expected to throw an error: " ',form) (exit 1)))) |
