Raymond Toy pushed to branch master at cmucl / cmucl
Commits: c91ff829 by Raymond Toy at 2015-12-12T08:51:40Z Update lisp-unit.
- - - - -
3 changed files:
- src/contrib/lisp-unit/internal-test/example-tests.lisp - src/contrib/lisp-unit/lisp-unit.lisp - src/general-info/release-21b.txt
Changes:
===================================== src/contrib/lisp-unit/internal-test/example-tests.lisp ===================================== --- a/src/contrib/lisp-unit/internal-test/example-tests.lisp +++ b/src/contrib/lisp-unit/internal-test/example-tests.lisp @@ -57,6 +57,10 @@ (dotimes (i 5) (assert-equal i (my-sqrt (* i i)) i)))
+(define-test cl-user::my-sqrt + (dotimes (i 5) + (assert-equal i (my-sqrt (* i i)) i))) + ;;; Macro
(defmacro my-macro (arg1 arg2)
===================================== src/contrib/lisp-unit/lisp-unit.lisp ===================================== --- a/src/contrib/lisp-unit/lisp-unit.lisp +++ b/src/contrib/lisp-unit/lisp-unit.lisp @@ -126,8 +126,9 @@ functions or even macros does not require reloading any tests. "If not NIL, enter the debugger when an error is encountered in an assertion.")
-(defparameter *signal-results* nil - "Signal the result if non NIL.") +(defun use-debugger (&optional (flag t)) + "Use the debugger when testing, or not." + (setq *use-debugger* flag))
(defun use-debugger-p (condition) "Debug or ignore errors." @@ -136,9 +137,8 @@ assertion.") (y-or-n-p "~A -- debug?" condition)) (*use-debugger*)))
-(defun use-debugger (&optional (flag t)) - "Use the debugger when testing, or not." - (setq *use-debugger* flag)) +(defparameter *signal-results* nil + "Signal the result if non NIL.")
(defun signal-results (&optional (flag t)) "Signal the results for extensibility." @@ -238,7 +238,7 @@ assertion.") ((and (stringp item) (not doc) (rest body)) (if tag (values doc tag (rest body)) - (parse-body (rest body) doc tag))) + (parse-body (rest body) item tag))) (t (values doc tag body)))))
(defun test-name-error-report (test-name-error stream) @@ -260,20 +260,31 @@ assertion.") name (error 'test-name-error :datum name)))
+(defun test-package (name) + "Return the package for storing the test." + (multiple-value-bind (symbol status) + (find-symbol (symbol-name name)) + (declare (ignore symbol)) + (ecase status + ((:internal :external nil) + (symbol-package name)) + (:inherited *package*)))) + (defmacro define-test (name &body body) "Store the test in the test database." (let ((qname (gensym "NAME-"))) (multiple-value-bind (doc tag code) (parse-body body) `(let* ((,qname (valid-test-name ',name)) - (doc (or ,doc (string ,qname)))) + (doc (or ,doc (symbol-name ,qname))) + (package (test-package ,qname))) (setf ;; Unit test - (gethash ,qname (package-table *package* t)) + (gethash ,qname (package-table package t)) (make-instance 'unit-test :doc doc :code ',code)) ;; Tags - (loop for tag in ',tag do - (pushnew - ,qname (gethash tag (package-tags *package* t)))) + (loop + for tag in ',tag do + (pushnew ,qname (gethash tag (package-tags package t)))) ;; Return the name of the test ,qname))))
===================================== src/general-info/release-21b.txt ===================================== --- a/src/general-info/release-21b.txt +++ b/src/general-info/release-21b.txt @@ -43,6 +43,7 @@ New in this release: * Unix support on Linux has been unified with all other OSes. Thus, src/code/unix-glibc2.lisp is no longer used. * Micro-optimize modular shifts on x86. + * Update lisp-unit to commit e6c259f.
* ANSI compliance fixes:
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/c91ff8298e9007102a71242c88...