1 (in-package #:docgen-test)
5 ; This really is just here to check against regressions
6 (defun run-all-tests ()
8 ((results (mapcar #'funcall (reverse *tests*))))
9 (every #'identity results)))
11 (defun slurp-file (filename &key (element-type 'character) (sequence-type 'string))
12 (with-open-file (str filename :element-type element-type)
13 (let ((seq (make-sequence sequence-type (file-length str)))) (read-sequence seq str) seq)))
15 (defmacro deftest (name f)
19 ((success (funcall ,f)))
21 (format t "~c[1;32m- ~A passed~c[0m~%" #\Esc ,name #\Esc)
22 (format t "~c[1;31m- ~A failed~c[0m~%" #\Esc ,name #\Esc))
26 (defmacro defsuccesstest (pkg source target)
31 (ignore-errors (string= (slurp-file ,target) (docgen:export-package ,pkg))))))
33 (defmacro deffailure-func-test (name doc expected)
40 (symbol-function (find-symbol "INTERNAL-DOC->AST" :docgen-func))
44 (docgen:validation-failure (vf)
46 ((result (funcall (symbol-function (find-symbol "VALIDATION-FAILURE-MSG" :docgen)) vf)))
48 (string= ,expected result)
49 (format t " Got error:~%~S~% but expected~%~S~%" result ,expected))))))))
51 (defsuccesstest :success1 "resources/success1.lisp" "resources/success1.md")