(register-test '(suite "Error Tests" ("'ensuring gets called on the way out" (let x 10 (ensure (assign x (+ x 11)) (assign x (+ x 22))) x) 43) ("'on-err handles errors" (let x nil (on-err (= x "impossible") (= x (nil nil nil))) x) "impossible") ("'on-err handles errors but any ensuring clause gets called first" (with (x nil y nil) (on-err (= x 'impossible) (ensure (assign y 'ensure-clause) (nil nil nil))) (list x y)) (impossible ensure-clause))))