~ chicken-core (chicken-5) /tests/multiple-values.scm
Trap1(define-syntax assert-fail2 (syntax-rules ()3 ((_ exp)4 (assert (handle-exceptions ex #t exp #f)))))56(define (f x) #t)78;; Relaxed cases9(assert (f (values 1 2 3)))10(assert-fail (call/cc (lambda (k) (k 1 2 3)))) ; For now it should fail, see #16011112;; Strict cases13(assert-fail (call-with-values (lambda () (values 1 2 3)) f))14(assert-fail15 (call-with-values16 (lambda () (call/cc (lambda (k) (k 1 2 3))))17 f))1819;; Sanity check for strict cases with correct argument count20(assert (call-with-values (lambda () (values 1)) f))21(assert (call-with-values (lambda () 1) f))22(assert (call-with-values (lambda () (call/cc (lambda (k) (k 1)))) f))