blob: f4ad735170e83e258e4a54aca9edcb1d78a87e01 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
(defmacro error-to-sym (expr)
^(catch ,expr
(error (cond) :error)))
(defmacro test (:env env expr expected)
(catch
(let ((expr-expn (macroexpand expr env)))
^(ifa (not (equal (error-to-sym ,expr-expn) ',expected))
(error "test case ~s failed: produced ~s; expected ~s"
',expr it ',expected)))
(error (exc)
(unless (eq expected :error)
(error "test case ~s failed to expand: expected is ~s" expr expected)))))
|