[Git][cmucl/cmucl][master] Update lisp-unit.
Raymond Toy
rtoy at common-lisp.net
Sat Dec 12 17:01:45 UTC 2015
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/c91ff8298e9007102a71242c88c005a334f6fbfb
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20151212/7cd766e8/attachment.html>
More information about the cmucl-cvs
mailing list